《微機原理及接口技術(shù)》課后習題詳細解答(期末復(fù)習)_第1頁
《微機原理及接口技術(shù)》課后習題詳細解答(期末復(fù)習)_第2頁
《微機原理及接口技術(shù)》課后習題詳細解答(期末復(fù)習)_第3頁
《微機原理及接口技術(shù)》課后習題詳細解答(期末復(fù)習)_第4頁
《微機原理及接口技術(shù)》課后習題詳細解答(期末復(fù)習)_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第1章微型計算機系統(tǒng)概述

〔習題1.3〕微型計算機主要由哪些基本部件組成?各部件的主要功能是什么?

〔解答〕微機主要有存儲器、I/O設(shè)備和I/O接口、CPU、系統(tǒng)總線、操作系統(tǒng)和應(yīng)用軟件

組成,各部分功能如下:

CPU:統(tǒng)一協(xié)調(diào)和控制系統(tǒng)中的各個部件

系統(tǒng)總線:傳送信息

存儲器:存放程序和數(shù)據(jù)

I/O設(shè)備:實現(xiàn)微機的輸入輸出功能

I/O接口:I/O設(shè)備與CPU的橋梁

操作系統(tǒng):管理系統(tǒng)所有的軟硬件資源

(習題1.10)簡述計算機中“數(shù)”和“碼”的區(qū)別,計算機中常用的數(shù)制和碼制各有哪

些?

(解答)(1)數(shù)一用來直接表征量的大小,包括:定點數(shù)、浮點數(shù)。

(2)碼一用來指代某個事物或事物的某種狀態(tài)屬性,包括:二進制、八進制、

十進制,十六進制

區(qū)別:使用場合不同,詳見P16.

〔習題1.12〕請寫出與數(shù)據(jù)+37和-37對應(yīng)的8位機器數(shù)原碼、反碼、補碼和移碼,并

分別用二進制和十六進制表示出來。

〔解答〕

原碼反碼補碼

+3700100101/25H00100101/25H00100101/25H

-3710100101/A5H11011010/DAH11011011/DBH

〔習題1.13贈將上題中+37和-37的8位補碼機器數(shù)分別擴充為16位和32位的形式,

用十六進制表示出來。

〔解答〕

+37-37

16位32位16位32位

0025H00000025HFF5BHFFFFFF5BH

第2章微處理器指令系統(tǒng)

〔習題2.1〕微處理器內(nèi)部具有哪3個基本部分?8088分為哪兩大功能部件?其各自的

主要功能是什么?

〔解答〕算術(shù)邏輯單元ALU、寄存器組和控制器;

總線接口單元BIU:管理8088與系統(tǒng)總線的接口負責cpu對接口和外設(shè)進行訪問

執(zhí)行單元EU:負責指令譯碼、執(zhí)行和數(shù)據(jù)運算;

8位CPU在指令譯碼前必須等待取指令操作的完成,8088中需要譯碼的指令己經(jīng)

取到了指令隊列,不需要等待取指令。而取指令是CPU最為頻繁的操作,因此8088的結(jié)

構(gòu)和操作方式節(jié)省了大量等待時間,比8位CPU節(jié)省了時間,提高了性能。

〔習題2.2〕說明8088的8個8位和8個16位通用寄存器各是什么?

〔解答〕8個8位寄存器:AH、AL、BHxBL、CH、CL、DH、DL;

8個16位寄存器:累加器AX、基址寄存器BX、計數(shù)器CX、數(shù)據(jù)寄存器DX、源地

址寄存器SI、目的地址寄存器DI、基址指針BP、堆棧指針SP。

〔習題2.3〕什么是標志?狀態(tài)標志和控制標志有什么區(qū)別?畫出標志寄存器FLAGS,說

明各個標志的位置和含義。

(解答)標志用于反映指令執(zhí)行結(jié)果或者控制指令執(zhí)行形式。

狀態(tài)標志用于記錄程序運行結(jié)果的狀態(tài)信息;

控制標志用于控制指令執(zhí)行的形式。

15121110987654321G

||OF|DF|IF|TF|SF|ZF||AF||PF|

OF--溢出標志,若算術(shù)運算的結(jié)果有溢出,則OF=1;否則OF=0

DF--方向標志

IF-中斷允許標志

TF-陷阱標志

SF--符號標志

ZF-零標志,若運算結(jié)果為0,則ZF=1;否則ZF=0

AF--輔助進位標志

PF-奇偶標志

CF.?進位標志,當運算結(jié)果的最高有效位有進位(加法)或借位(減法)時,進位標志置

為1,即CF=1;否則CF=0o

(習題2.5)什么是8088中的邏輯地址和物理地址?邏輯地址如何轉(zhuǎn)換成物理地址?1MB

最多能分成多少個邏輯段?請將如下邏輯地址用物理地址表達:

(1)FFFFH:0(2)40H:17H(3)2000H:4500H(4)B821H:4567H

〔解答〕

.物理地址:物理存儲單元具有的一個唯一的20位編號

邏輯地址:在8()88內(nèi)部和用戶編程時,所采用的“段地址:偏移地址”形式

將邏輯地址中的段地址左移二進制4位(對應(yīng)16進制是一位,即乘以16),加上偏移

地址就得到20位物理地址

1MB最多能分成1MB+16B=22O+24=216個邏輯段,因為每隔16個字節(jié)單元就可以

開始一個邏輯段

(1)FFFFH:0=FFFF0H

(2)40H:17H=00417H

⑶2000H:4500H=24500H

(4)B821H:4567H=BC777H

〔習題2.7〕什么是有效地址EA?8088的操作數(shù)如果在主存中,有哪些尋址方式可以存

取它?

(解答)8088的存儲空間分段管理,程序設(shè)計時采用邏輯地址。由于段地址在默認的或指

定的段寄存器中,所以只需要偏移地址,稱為有效地址EA.

操作數(shù)在主存中有以下幾種尋址方式:直接尋址、寄存器間接尋址、寄存器相對尋址、基

址變址尋址、相對基址變址尋址。

(習題2.8)已知DS=2000H、BX=0100H、SI=0002H,存儲單元[20100H]?[20103H]

依次存放12H、34H、56H、78H,[21200H]?[21203H]依次存放2AH、4cH、B7H、65H,

說明下列每條指令執(zhí)行完后AX寄存器的內(nèi)容,以及源操作數(shù)的尋址方式?

(1)movax,1200h

(2)movax,bx

⑶movax,[1200h]

(4)movax,[bx]

(5)movax,[bx+1100h]

(6)movax,[bx+si]

(7)movax,[bx][si+1100h]

〔解答〕

(1)movax,1200h;AX=1200H,立即數(shù)尋址

(2)movax,bx;AX=0100H,寄存器尋址

(3)movax,[1200h];AX=4C2AH,直接尋址

(4)movax,[bx];AX=3412H,寄存器間接尋址

(5)movax,[bx+llOOh];AX=4C2AH,寄存器相對尋址

(6)movax,[bx+si];AX=7856H,基址變址尋址

(7)movaxJbxlfsi+UOOh];AX=65B7H,相對基址變址尋址

〔習題2.11〕給出下列各條指令執(zhí)行后AL值,以及CF、ZF、SF、OF和PF的狀態(tài):

moval,89h

addal,al

addal,9dh

cmpal,Obch

subal,al

decal

incal

〔解答〕

moval,89h;AL=89HCFZFSFOFPF

addal,al;AL=12H10011

addal,9dh;AL=0AFH00101

cmpal,Obch;AL=0AFH10101

subal,al;AL=00H01001

decal;AL=OFFH00101

incal;AL=OOH01001

〔習題2.13〕設(shè)X、Y、Z、V均為16位帶符號數(shù),分別裝在X、Y、Z、V存儲單元中,閱

讀如下程序段,得出它的運算公式,并說明運算結(jié)果存于何處。

movax,X

imulY

movex,ax

moxbx,dx

movax,Z

cwd

addex,ax

adcbx,dx

subex,540

sbbbx,0

movax,V

cwd

subax,ex

sbbdx,bx

idivX

(解答):[V—(X*Y+Z—540)]/X

〔習題2.18〕如下是一段軟件延時程序,請問NOP指令執(zhí)行了多少次?

xorcx.cx

delay:nop

loopdelay

(解答):FFFFH-0001H=2,6-1=65535

(若將“xorex,ex”改為“movex,0”,則為0次)

第3章匯編語言程序設(shè)計

簡化段定義格式的源程序框架完整段定義格式的源程序框架

.modelsmallstacksegmentstack

.stackdb1024dup(O)

.datastackends

?????????datasegment

.code...;在數(shù)據(jù)段定義數(shù)據(jù)

star:movax,@datadataends

movds,axcodesegment'code'

...........assumecs:code,ds:data,ss:stack

movax,4c00hstart:movax,data

int21hmovds,ax

..............;在代碼段填入指令序列

endstartmovax,4c00h

int21h

...;子程序代碼

codeends

endstart

〔習題3.13〕名字和標號有什么屬性?

(解答):包括邏輯地址一名字和標號對應(yīng)存儲單元的邏輯地址,含有段地址和偏移地址。

類型-標號、子程序名的類型可以是NEAR(近)和FAR(遠),分別表示

段內(nèi)或段間

變量名的類型可以是BYTE(字節(jié))、WORD(字)和DWORD(雙字)等。

第4章微處理器的外部特性

(習題4.1)8088一共有20根地址線。在訪問內(nèi)存時它所使用的地址線是比辿,可

直接尋址匪的內(nèi)存空間;在訪問外設(shè)時它所使用地址線是A0?A15,共能尋址64K個

輸入輸出端口。實際上,PC/XT在尋址外設(shè)時,只使用地址線A0?A9若A9=l,說明它要

尋址的I/O端口位于I/O通道。

〔習題4.2〕總線操作指的是發(fā)生在總線上的某些特定的操作,總線周期指的是CPU通

過總線操作與外界(存儲器和I/O端口)進行一次數(shù)據(jù)交換的過程(時間),對8088引

腳信號來說,其典型的總線周期由2個T狀態(tài)組成。如果8088的CLK引腳接5MHz的時

鐘信號,那么每個T狀態(tài)的持續(xù)時間為200ns.

〔習題4.4〕在8088的工作過程中,什么情況下會產(chǎn)生T,?具體發(fā)生在什么時刻?

〔解答〕

■當8088進行讀寫存儲器或I/O接口時,如果存儲器或DO接口無法滿足CPU的讀

寫時序(來不及提供或讀取數(shù)據(jù)時),需要CPU插入等待狀態(tài)Tw。

■在讀寫總線周期的T3和T4之間插入Two

〔習題4.9〕以最小組態(tài)下的I/O讀為例,說明在T??期間,8088CPU和I/O端口的工

作表現(xiàn)。

(解答〕:P109-110

〔習題4.11〕在最小組態(tài)下,當8088在進行存儲器讀、存儲器寫、輸入和輸出操作時,

其引腳信號IO/麗、而和裱的有效狀態(tài)各是什么情況?

(解答]:P1O1

第5章存儲器系統(tǒng)

〔習題5.2〕在半導(dǎo)體存儲器中,RAM指的是隨機存取存儲器,它可讀可寫,但斷電后信

息一般會丟失;而ROM指的是只讀存儲器,正常工作時只能從中學取J言息,但斷電

后信息不會丟失。以EPROM芯片2764為例,其存儲容量為8KX8位,共有2條數(shù)據(jù)線、

13條地址線。用它組成64KB的ROM存儲區(qū)共需8片芯片。

〔習題5.4〕一個容量為4KX4位的假想RAM存儲芯片,它應(yīng)該有多少個地址引腳和多少

個數(shù)據(jù)引腳?如果讓你來進行設(shè)計,那么需要安排哪些控制引腳?這些引腳分別起什么樣

的控制作用?

〔解答〕

■(非雙譯碼設(shè)計,即單譯碼設(shè)計時)應(yīng)該有12根地址線引腳,以及4根數(shù)據(jù)線引腳

■控制引腳:

-讀取信號OE*:有效時,表示讀取存儲單元的數(shù)據(jù)

■寫入信號WE*:有效時,表示將數(shù)據(jù)寫入存儲單元

-片選信號CS*:有效時,表示選中該芯片,可以進行讀寫操作

(習題5.7〕什么是存儲芯片連接中的“位擴充”和“地址擴充”?采用靜態(tài)RAM芯片2114

(1KX4位)或動態(tài)RAM芯片4116(16KX1位)來組成32KB的RAM存儲區(qū),請問各需要

多少芯片?在位方向和地址方向上各需要進行什么樣的擴充?

〔解答〕

位擴充一存儲器芯片數(shù)據(jù)位數(shù)小于主機數(shù)據(jù)線數(shù)時,利用多個存儲器芯片在數(shù)據(jù)

“位”方向的擴充;

■地址擴充(字擴充)——當一個存儲器芯片不能滿足系統(tǒng)存儲容量時,利用多個

存儲器芯片在“地址”方向的擴充

■組成32KB存儲空間,用SRAM2114(1KX4)需要64個芯片;

■組成32KB存儲空間,用DRAM4116(16KX1)需要16個芯片;

■它們都需要進行位擴充和地址擴充

第6章輸入輸出及接口

〔習題6.1〕在80x86系統(tǒng)中,I/O口的地址采用I/O端口獨立編址方式,訪問端口時要

使用專門的使0(輸入輸出)指令,有Z種尋址方式,其具體形式是:直接尋址和通過

DX間接尋址。

〔習題6.2〕一般的I/O接口電路安排有哪三類寄存器?它們各自的作用是什么?

〔解答〕(1)數(shù)據(jù)寄存器

■保存外設(shè)給CPU和CPU發(fā)往外設(shè)的數(shù)據(jù)

(2)狀態(tài)寄存器

■保存外設(shè)或接口電路的狀態(tài)

(3)控制寄存器

■保存CPU給外設(shè)或接口電路的命令

(習題6.3)簡述CPU與外設(shè)進行數(shù)據(jù)交換的幾種常用方式。

(解答):P159

(習題6.8)什么是中斷源?為什么要安排中斷優(yōu)先級?什么是中斷嵌套?什么情況下程

序會發(fā)生中斷嵌套?

〔解答〕

?中斷源:計算機系統(tǒng)中引起中斷的事件或原因

?當多個中斷源同時請求時,CPU需要利用中斷優(yōu)先權(quán)決定首先響應(yīng)哪一個;當一

個中斷正在服務(wù)時,又發(fā)生了新的中斷請求,CPU需要利用中斷優(yōu)先權(quán)確定后者是否優(yōu)

先權(quán)更高,以便實現(xiàn)中斷嵌套

?中斷嵌套:當一個中斷服務(wù)時CPU又響應(yīng)新的中斷請求就形成中斷嵌套

?CPU允許中斷(開中斷)、新的中斷請求比正在服務(wù)的中斷優(yōu)先權(quán)更高,通常發(fā)

生中斷嵌套

第8章中斷控制接口

〔習題8.1〕8088CPU具有哪些中斷類型?各種中斷如何產(chǎn)生,如何得到中斷向量號?

〔解答1〕:內(nèi)(軟)中斷、外(硬)中斷,具體如下:

-除法錯中斷:在執(zhí)行除法指令時,除數(shù)為0或商超過了寄存器所能表達的范圍產(chǎn)生

-指令中斷:在執(zhí)行中斷指令I(lǐng)NTn時產(chǎn)生

■溢出中斷:在執(zhí)行溢出中斷指令I(lǐng)NTO時,溢出標志OF為1產(chǎn)生

■單步中斷:單步標志TF為1,在每條指令執(zhí)行結(jié)束后產(chǎn)生

■非屏蔽中斷:外部通過NMI請求信號向微處理器提出請求時產(chǎn)生

-可屏蔽中斷:外部通過INTR請求信號向微處理器提出請求,并在允許可屏蔽中斷

的條件下產(chǎn)生

(解答2):

-除法錯中斷、溢出中斷、單步中斷、非屏蔽中斷的向量號是8086微處理器內(nèi)部已

經(jīng)確定

-指令中斷的操作數(shù)n就是向量號

■可屏蔽中斷的向量號在響應(yīng)中斷時通過數(shù)據(jù)總線從外部獲得

〔習題8.2〕8088中斷向■表的作用是什么?

(解答):中斷向量表是一種表數(shù)據(jù)結(jié)構(gòu)。是中斷向量號與對應(yīng)中斷服務(wù)程序之間的連接

表。

〔習題8.5〕PC/XT機的ROM-BIOS對8259A的初始化程序如下:

movaU13h

out20h,al

moval,08h

out21h,al

moval,09h

out21h,al

請說明其設(shè)定的工作方式。

(解答)

moval,13h;13H=()0010011,設(shè)定工作方式:單片,邊沿觸發(fā),要寫入ICW4

out20h,al;寫入ICW1:主(單)片地址是20H(參見表8?1)

moval,08h;08H=00001000,設(shè)定主(單)片IRo的中斷向量號為08H

out21h,al;寫入ICW2:地址參見表8」

moval,09h;09H=00001001,設(shè)定為16位80x86CPU、非自動中斷結(jié)束、

;該片8259A是從片(按教材是“從”片,個人認為應(yīng)該是“主片”)、

;8259A數(shù)據(jù)線采用緩沖方式、8259A工作于普通全嵌套方式

out21h,al;寫入ICW4:地址參見表8?1

〔習題8.8〕某一8086CPU系統(tǒng)中,采用一片8259A進行中斷管理。設(shè)定8259A工作在普

通全嵌套方式,發(fā)送E0I命令結(jié)束中斷,采用邊沿觸發(fā)方式請求中斷,IRo對應(yīng)的中斷向

■號為90H。另外,8259A在系統(tǒng)中的1/0地址是FFDCH(Ao=0)和FFDEH(Ao=1)o請編寫

8259A的初始化程序段。

〔解答〕

MOVDX,OFFDCH;地址參考教材表8?1

MOVAL,00010011;參見教材圖8-7

OUTDX,AL

MOVDX,0FFDEH;地址參考教材表8-1

MOVAL,10001000;參見教材圖8?7、204/205頁例程

OUTDX,AL*

MOVAL,00000111;參見教材圖8-7

OUTDX,AL*

第9章定時計數(shù)控制接口

〔習題9.3〕8253每個通道有一種工作方式可供選擇。若設(shè)定某通道為方式0后,其輸

出引腳為其電平;當寫入計數(shù)初值(并進入減1計數(shù)器)后通道開始計數(shù),CLK信

號端每來一個脈沖減1計數(shù)器就減1;當計數(shù)器減為0,則輸出引腳輸出注電平,

表示計數(shù)結(jié)束。8253的CLKo接1.5MHz的時鐘,欲使OUT。產(chǎn)生頻率為300KHz的方波信號,

則8253的計數(shù)值應(yīng)為5(=1.5MHz+300KHz),應(yīng)選用的工作方式是

〔習題9.4〕試按如下要求分別編寫8253的初始化程序,已知8253的計數(shù)器。?2和控

制字I/O地址依次為204H?207H。

⑴使計數(shù)器1工作在方式0,僅用8位二進制計數(shù),計數(shù)初值為128。

⑵使計數(shù)器0工作在方式L按BCD碼計數(shù),計數(shù)值為3000。

⑶使計數(shù)器2工作在方式2,計數(shù)值為02F0H。

[解答〕為便于理解,在語句后面加了注釋。真正答題時不需要寫注釋

⑴;寫入方式控制字

MOVAL,50H;50H=01010000,參考圖9?9

MOVDX,207H;地址參考表9/

OUTDX,AL;寫入方式控制字

;寫入計數(shù)初值

MOVAL,128;80H:計數(shù)初值

MOVDX,205H;計數(shù)器1的地址參考表94

OUTDX,AL;向計數(shù)器1寫入初值

⑵;寫入方式控制字

MOVAL,33H;33H=00110011,先低后高寫入十進制計數(shù)初值

MOVDX,207H;地址參考表9-1

OUTDX,AL;寫入方式控制字。參考圖9?9

;寫入計數(shù)初值

MOVDX,204H;計數(shù)器0的地址參考表9-1

MOVAX,3000H;不是3000,而是BCD碼形式的十進制數(shù)

OUTDX,AL;向計數(shù)器0寫入計數(shù)初值的低字節(jié)

MOVAL,AH

OUTDX,AL;向計數(shù)器0寫入計數(shù)初值的高字節(jié)

⑶;寫入方式控制字

MOVAL,0B4H;B4H=10110100,先低后高寫入二進制計數(shù)初值

MOVDX,207H;地址參考表9“

OUTDX,AL;寫入方式控制字

;寫入計數(shù)初值

MOVDX,206H;計數(shù)器2的地址參考表9-1

MOVAX,02F0H

OUTDX,AL;向計數(shù)器2寫入計數(shù)初值的低字節(jié)

MOVAL,AH

OUTDX,AL;向計數(shù)器2寫入計數(shù)初值的高字節(jié)

〔習題9.5〕設(shè)8253計數(shù)器。?2和控制字的I/O地址依次為F8H?FBH,說明如下程序的

作用。

moval,33h

outOfbh,al

moval,80h

out0f8h,al

moval,50h

out0f8h,al

(解答)

;設(shè)置計數(shù)器0采用工作方式1,先低后高寫入計數(shù)值

;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論