16、32位微機原理、匯編語言及接口技術教程課后習題答案_第1頁
16、32位微機原理、匯編語言及接口技術教程課后習題答案_第2頁
16、32位微機原理、匯編語言及接口技術教程課后習題答案_第3頁
16、32位微機原理、匯編語言及接口技術教程課后習題答案_第4頁
16、32位微機原理、匯編語言及接口技術教程課后習題答案_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《16/32位微機原理、匯編語言及接口技術教程》

部分習題參考解答

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

【習題1.2〕

什么是通用微處理謠、單片機(微控制滯)、DSP芯片、嵌入式系統(tǒng)?

〔解答〕

通用微處理器:適合較廣的應用領域的微處理器,例如裝在PC機、筆記本電腦、工

作站、服務器上的微處理器。

單片機:是指通常用于控制領域的微處理器芯片,其內(nèi)部除CPU外還集成了計算機

的其他一些主要部件,只需配上少量的外部電路和設備,就可以構成具體的應用系統(tǒng)。

DSP芯片:稱數(shù)字信號處理器,也是一種微控制器,其更適合處理高速的數(shù)字信號,

內(nèi)部集成有高速乘法器,能夠進行快速乘法和加法運算。

嵌入式系統(tǒng):利用微控制器、數(shù)字信號處理器或通用微處理器,結合具體應用構成的

控制系統(tǒng),其典型的特點是把計算機直接嵌入到應用系統(tǒng)之中。

〔習題1.5〕

說明微型計算機系統(tǒng)的硬件組成及各部分作用。

〔解答〕

CPU:CPU也稱處理器,是微機的核心。它采用大規(guī)模集成電路芯片,芯片內(nèi)集成了

控制器、運算器和若干高速存儲單元(即寄存器)。處理器及其支持電路構成了微機系統(tǒng)

的控制中心,對系統(tǒng)的各個部件進行統(tǒng)一的協(xié)調(diào)和控制。

存儲器:存儲器是存放程序和數(shù)據(jù)的部件。

外部設備:外部設備是指可與微機進行交互的輸入(Input)設備和輸出(Output)設

備,也稱I/O設備。I/O設備通過I/O接口與主機連接。

總線:互連各個部件的共用通道,主要含數(shù)據(jù)總線、地址總線和控制總線信號。

〔習題1.6〕

什么是總線?微機總線通常有哪3組信號?各組信號的作用是什么?

〔解答〕

總線:傳遞信息的共用通道,物理上是一組公用導線。

3組信號線:數(shù)據(jù)總線、地址總線和控制總線。

(1)地址總線:傳輸將要訪問的主存單元或I/O端口的地址信息。

(2)數(shù)據(jù)總線:傳輸讀寫操作的數(shù)據(jù)信息。

(3)控制總線:協(xié)調(diào)系統(tǒng)中各部件的操作。

〔習題1.7〕

簡答如下概念:

(1)計算機字長

(2)取指一譯碼一執(zhí)行周期

(3)ROM-BIOS

(4)中斷

(5)ISA總線

〔解答〕

(1)處理器每個單位時間可以處理的二進制數(shù)據(jù)位數(shù)稱計算機字長。

(2)指令的處理過程,即指處理器從主存儲器讀取指令(簡稱取指),翻譯指令代

碼的功能(簡稱譯碼),然后執(zhí)行指令所規(guī)定的操作(簡稱執(zhí)行)的過程。

(3)ROM-BTOS是“基本輸入輸出系統(tǒng)”,操作系統(tǒng)通過對BIOS的調(diào)用驅(qū)動各硬

件設備,用戶也可以在應用程序中調(diào)用BIOS中的許多功能。

(4)中斷是CPU正常執(zhí)行程序的流程被某種原因打斷、并暫時停止,轉(zhuǎn)向執(zhí)行事先

安排好的一段處理程序,待該處理程序結束后仍返回被中斷的指令繼續(xù)執(zhí)行的過程。

(5)ISA總線是指IBMPC/AT機上使用的系統(tǒng)總線。

〔習題1.8〕

下列十六進制數(shù)表示無符號整數(shù),請轉(zhuǎn)換為十進制形式的真值:

(1)FFH(2)0H(3)5EH(4)EFH

〔解答〕

(1)255

(2)0

(3)94

(4)239

2

〔習題1.9〕

將下列十進制數(shù)真值轉(zhuǎn)換為壓縮BCD碼:

(1)12(2)24⑶68(4)99

〔解答〕

(1)12H

(2)24H

(3)68H

(4)99H

(習題L10〕

將下列壓縮BCD碼轉(zhuǎn)換為十進制數(shù):

(1)(2)(3)(4)

〔解答〕

(1)91

(2)89

(3)36

(4)90

〔習題1.11〕

將下列十進制數(shù)用8位二進制補碼表示:

(1)0(2)127(3)—127(4)-57

〔解答〕

(1)

(2)

(3)

(4)

【習題1.12〕

數(shù)碼0?9、大寫字母A?Z、小寫字母a?z對應的ASCII碼分別是多少?ASCII碼

0DH和0AH分別對應什么字符?

〔解答〕

數(shù)碼0?9對應的ASCII碼依次是30H?39H。

大寫字母A?Z對應的ASCII碼依次是:41H?5AH。

小寫字母a?z對應的ASCII碼依次是:61?7AH。

ASCII碼0DH和0AH分別對應的是回車和換行字符。

3

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

〔習題2.1〕

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

是什么?這種結構與8位CPU相比為什么能提高其性能?

〔解答〕

算術邏輯單元ALU、寄存器組和控制器;

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

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

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

了指令隊列,不需要等待取指令。而取指令是cpu最為頻繁的操作,因此8088的結構和

操倫方式節(jié)省了大量等待時間,比8位cpu節(jié)省了時間,提高了性能。

〔習題2.2〕

說明8088的8個8位和8個16位通用寄存器各是什么?

〔解答〕

8個8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL;

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

址寄存

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

〔習題2.4〕

舉例說明CF和OF標志的差異。

〔解答〕

例:有運算:3AH+7CH=B6H

作為無符號數(shù)運算,沒有進位,CF=0;

作為有符號數(shù)運算,結果超出范圍,OF=1.

〔習題2.5〕

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

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

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

〔解答〕

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

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

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

移地址就得到2()位物理地址

4

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

開始一個邏輯段

(1)FFFFH:O=FFFFOH

(2)40H:17H=00417H

(3)2000H:4500H=24500H

⑷B821H:4567H=BC777H

〔習題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+llOOh]

(6)movax,[bx+si]

(7)movax,[bx][si+llOOh]

〔解答〕

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

(2)movax,bx;AX=01OOH,寄存器尋址

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

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

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

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

(7)movax,[bxj[si+llOOhJ;AX=65B7H,相對基址變址尋址

〔習題2.9〕

說明下面各條指令的具體錯誤原因

(1)movcx,dl(2)movip,ax

(3)moves,1234h(4)moves,ds

(5)moval,300(6)mov[sp],ax

(7)movax,bx+di(8)mov20h,ah

〔解答〕

(1)ex為字寄存器,dl為字節(jié)寄存器,類型不匹配。

(2)mov指令的目的操作數(shù)只能是寄存器或者主存單元,ip是指針。

(3)不允許立即數(shù)到段寄存器的傳送。

(4)不允許段寄存器之間的直接傳送。

5

(5)數(shù)據(jù)溢出。

(6)sp不能用于寄存器間接尋址。

(7)格式不對。應為:movax,[bx+di]

(8)mov指令的操作數(shù)不能是立即數(shù)。

〔習題2.10〕

已知數(shù)字0?9對應的格雷碼依次為:18H、34H、05H、06H、09H、OAH、OCH、11H、

12H、14H,它存在于以table為首龍址(設為200H)的連續(xù)區(qū)域中。請為如下程序段的每

條指令加上注釋,說明每條指令的功能和執(zhí)行結果。

leabx,table

moval,8

xlat

〔解答〕

leabx,table;獲取table的首地址,BX=200H

moval,8;傳送欲轉(zhuǎn)換的數(shù)字,AL=8

xlat;轉(zhuǎn)換為格雷碼,AL=12H

〔習題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=8911CFZFSFOFPF

addal,al;AL=12H10011

addal,9dh;AL=OAFH00101

cmpal,Obch;AL=OAFH10101

subal,al;AL=OOH01001

decal;AL=OFFH00101

incal;AL=OOH01001

〔習題2.⑵

請分別用一條匯編語言指令完成如下功能:

6

⑴把BX寄存器和DX寄存器的內(nèi)容相加,結果存入DX寄存器。

⑵用寄存器BX和SI的基址變址尋址方式把存儲器的一個字節(jié)與AL寄存器的內(nèi)容

相加,并把結果送到AL中。

⑶用BX和位移量0B2H的寄存器相對尋址方式把存儲器中的一個字和CX寄存器的

內(nèi)容相加,并把結果送回存儲器中。

(4)用位移量為0520H的直接尋址方式把存儲器中的一個字與數(shù)3412H相加,并把結

果送回該存儲單元中。

⑸把數(shù)OAOH與AL寄存器的內(nèi)容相加,并把結果送回AL中

〔解答〕

(1)adddx,bx

⑵addal,[bx+si]

⑶add[bx+0b2h],cx

(4)addwordptr[O52Oh],3412h

(5)addal,0a0h

〔習題2.13〕

設有4個16位帶符號數(shù),分別裝在X、Y、Z、V存儲單元中,閱讀如下程序段,得

出它的運算公式,并說明運算結果存于何處。

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.14〕

給出下列各條指令執(zhí)行后的結果,以及狀態(tài)標志CF、OF、SF、ZF、PF的狀態(tài)。

7

movax,1470h

andax,ax

orax,ax

xorax,ax

notax

testax,OfOfOh

〔解答〕

movax,1470h;AK=1470HCFZFSFOFPF

andax,ax;AX=1470H00000

orax,ax;AX=1470H00000

xorax,ax;A:<=OOOOH01001

notax;AX=FFFFH01001

testax,OfOfOh;AK=FFFFH00101

〔習題2.15〕

控制轉(zhuǎn)移類指令中有哪三種尋址方式?

〔解答〕

相對尋址、直接尋址、間接尋址(還可以分成寄存器間接、存儲器間接)

(習題2.16〕

假設DS=2000H、BX=1256H、TABLE的偏移地址是20A1H,物理地址232F7H處

存放3280H,試問執(zhí)行下列段內(nèi)間接尋址的轉(zhuǎn)移指令后,轉(zhuǎn)移的有效地址是什么?

(1)JMPBX

(2)JMPTABLE[BX]

〔解答〕

(1)1256H

(2)3280H

〔習題2.17〕

判斷下列程序段跳轉(zhuǎn)的條件

(1)xorax,leleh

jeequal

(2)testal,b

jnzthere

⑶cmpcx,64h

jbthere

8

〔解答〕

⑴AX=leleh(異或后為0)

⑵AL的Do或D7至少有一位為1

(3)CX(無符號數(shù))V64h

〔習題2.18〕

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

xorcx,cx

delay:nop

loopdelay

〔解答〕

2脂次

C習題2.20〕

按照下列要求,編寫相應的程序段:

(1)由string指示起始地址的主存單元中存放有一個字符串(長度大于6),把該字符

串中的第1個和第6個字符(字節(jié)量)傳送給DX寄存器。

(2)有兩個32位數(shù)值,按“小端方式”存放在兩個緩沖區(qū)buffer1和buffer2中,編寫

程序段完成DX.AX-bufferl-buffer2功能。

(3)編寫一個程序段,在DX高4位全為0時,使AX=0;否則使AX=-1。

⑷把DX.AX中的雙字右移4位

⑸有一個100個字節(jié)元素的數(shù)組,其首地址為array,將每個元素減1(不考慮溢出

或借位)存于原處。

〔解答)

(1)

movdLstringfl]

movdh,string[6]

(2)

movax,wordptrbuffer1

subax,wordptrbuffer2

;先減低16位

movdx,wordptrbuffer1+2

sbbdx,wordptrbuffer2+2

;后減高16位,需減低16位的借位

(3)

testdx,()f()()()h

jznext

movax,-l

9

jmpdone

next:movax,0

done:...

(4)

movex,4

again:shrdx,l;右移一位,移出的低位進入CF標志

rcrax,l;將CF移進AX高位,同時實現(xiàn)AX右移

loopagain;循環(huán)4次,實現(xiàn)4位右移

(5)

movcxJOO

movbx,0

again:subarray[bx],l

incbx

loopagain

10

第3章匯編語言程序設計

〔習題3.9〕

給出下列語句中,指令立即數(shù)(數(shù)值表達式)的值:

(1)moval,23hAND45hOR67h

(2)movax,l234h/16+1Oh

(3)movax,23hSHL4

(4)moval,/AND(NOT(,a,-,A,))

(5)movax,(76543LT32768)XOR7654h

〔解答〕

(1)al=67h

(2)ax=133h,dx=4h

(3)ax=0230h

(4)al=41h

(5)ax=7654h

(習題3.10〕

畫圖說明下列語句分配的存儲空間及初始化的數(shù)據(jù)值:

(1)byte_vardb,ABC',10』0h,'EF\3dup(-l,?,3dup(4))

(2)word_vardw10h,-5,3dup(?)

〔解答〕

(1)從低地址到高地址,各個字節(jié)依次是:

41h42h43hOah10h45h46hffh-04h04h04hffh-04h04h04hffh-04h04h04h

(2)從低地址到高地址,各個字節(jié)依次是:

l()h0FBhFFh---------

其中表示無初值,實際上匯編程序會填入0。

〔習題3.11〕

請設置一個數(shù)據(jù)段,按照如下要求定義變量:

(1)mylb為字符串變量,表示字符串"PersonalComputer”

⑵my2b為用十進制數(shù)表示的字節(jié)變量,這個數(shù)的大小為20

⑶my3b為用十六進制數(shù)表示的字節(jié)變量,這個數(shù)的大小為20

(4)my4b為用二進制數(shù)表示的字節(jié)變量,這個數(shù)的大小為20

⑸my5w為20個未賦值的字變量

(6)my6c為100的符號常量

(7)my7c為字符串常量,代替字符串“PersonalComputer”

11

〔解答〕

mylbdbPersonalComputer'

my2bdb20

my3bdb14h

my4bdbb

my5wdw20dup(?)

my6c=100

my7cequ<PersonalComputer>

〔習題3.15〕

假設myword是一個字變量,mybytel和mybyte2是兩個字節(jié)變量,指出下列語句中

的具體錯誤原因。

(1)movbyteptr[bx],1000

(2)movbx,offsetmyword[si]

(3)cmpmybyte1,mybyte2

(4)movmybytel,al+l

(5)subal,myword

(6)jnzmyword

〔解答〕

(1)1000超過一個字節(jié)所能表達的最大整數(shù)

(2)SI應為偶數(shù)

(3)兩個內(nèi)存單元不能直接運算

(4)不能使用al+1,應改為[al+1]

(5)源操作數(shù)與目的操作數(shù)類型不匹配

(6)條件轉(zhuǎn)移指令后面應接標號,而不是變量

(習題3.16〕

編寫一個程序,把從鍵盤輸入的一個小寫字母用大寫字母顯示出來。

〔解答〕

movah,1;只允許輸入小寫字母

int21h

subal,20h;轉(zhuǎn)換為大寫字母

movdl,al

movah,2

int21h;顯示

12

第4章微機總線

〔習題4.1〕

微機總線的信號線包括、、、以及電源和地線。微機系統(tǒng)可以

將總線劃分為三層(類),它們是、和o

〔解答〕

數(shù)據(jù)總線、地址總線、控制總線

芯片總線、內(nèi)總線、外總線

〔習題4.2〕

占用總線進行數(shù)據(jù)傳輸,一般需要經(jīng)過總線請求和仲裁、、和

結束4個階段。

〔解答〕

尋址,數(shù)據(jù)傳送

〔習題4.7〕

執(zhí)行一條指令所需要的時間被稱為周期,而總線周期指的是,8088基本

的總線周期由個T組成。如果8088的CLK引腳接5MHz的時鐘信號,那么每個T

狀態(tài)的持續(xù)時間為。

〔解答〕

指令

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

4

200ns

〔習題4.8〕

請解釋8088以下引腳信號:CLK、AI“S6?A16/S3、AI5-A8>AD7-AD0IO/M、RD、

WR.ALE的含義,并畫出它們在存儲器寫總線周期中的波形示意。

〔解答〕

CLK:CPU時鐘信號

A19/S6-A16/S3:地址信號A19?A16和狀態(tài)信號S6?S3分時復用信號

A15?A8:地址信號A15?A8

AD7?AD0:地址信號A7?A0和數(shù)據(jù)信號D7?DO分時復月信號

IO/M*:I/O接口和存儲器操作區(qū)別信號

RD*:讀控制信號,WR*:寫控制信號

ALE:地址鎖存信號

13

CLK

IO/M*

A19/S6-A16/S3

A15~Ag

AD7~AD0

ALE

WR*

RD*、READY

〔習題4.9〕

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

〔解答〕

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

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

在讀寫總線周期的T3和T4之間插入Tw。

〔習題4.11〕

在8088系統(tǒng)中,讀取指令“ADDL2000H],AX"(指令長度為3個字節(jié))和執(zhí)行該指

令各需要幾個總線周期?它們各是什么樣的總線周期?

〔解答〕

8088每個總線周期只能讀寫一個字節(jié)數(shù)據(jù)。所以讀取指令長度為3個字節(jié)的指令

“ADD[2000H],AX”需要3個時鐘周期,執(zhí)行時需要2個時鐘周期。

讀取指令是存儲器讀總線周期,執(zhí)行時是存儲器寫總線周期。

14

第5章主存儲器

〔習題5.3〕

類似處理器總線,存儲器芯片也分成數(shù)據(jù)、地址和控制3類引腳。以存儲結構為32K

X8的SRAM62256為例,該芯片應有個數(shù)據(jù)引腳、個地址引腳,3個

典型的控制引腳分別是、和。

〔解答〕

8

15

片選

輸出允許

寫入允許

〔習題5.7〕

EEPROM的擦寫與閃存的擦寫有什么不同?以AT28co40或AT29c512為例,說明常

用的兩種判斷擦寫是否完成的方法,并估算兩者完成整個芯片編程的最快時間。

〔解答〕

AT28C040最快編程時間:

(512X1024/256)X10ms=20480ms20s

AT29c512最快編程時間:

512扇區(qū)X(10ms+128字節(jié)X(150XW3+90XW6)ms)%14950.4ms、15s

〔習題5.8〕

SRAM芯片的片選引腳有什么用途?假設在8088微處理器系統(tǒng)中,地址信號A??

A15輸出01011時譯碼電路產(chǎn)生一個有效的片選信號,則該片選信號將占有多少主存容量?

其地址范圍是什么?

〔解答〕

主存容量:215=32KB,因低位地址信號的個數(shù)是15個。

地址范圍:010110000?01011111,即58OOOH?5FFFFH。

〔習題5.11〕

什么是存儲器芯片連接中的“位擴展”和“字擴展”?采用DRAM21256(256KX1)

構成512KB的RAM存儲模塊,需要多少個芯片,怎樣進行位擴展和字擴展?

〔解答〕

位擴充:存儲器芯片數(shù)據(jù)引腳個數(shù)小于主機數(shù)據(jù)信號個數(shù)時,利用多個存儲器芯片在

數(shù)據(jù)“位”方向的擴充。

15

字擴充:當一個存儲器芯片不能滿足系統(tǒng)存儲容量時,利用多個存儲器芯片在“數(shù)據(jù)

字”方向的擴充。

組成512KB存儲模塊,用DRAM21256(256KX1)需要16個芯片;位擴充8個,

字擴充2組。

(習題5.13〕

給出圖5-28中4個存儲器芯片各自占用的地址范圍。如果采用部分譯碼,要指出重復

的地址范圍。

〔解答〕

4個存儲芯片各自的可用地址范圍:

芯片號AI9A18A17A16A15-A0地址范圍

100XX全0?全100000H-3FFFFH

201XX全0?全140000H-7FFFFH

311X0全0~全1C0000H?CFFFFH,重復地址:E0000H?EFFFFH

4IIXI全0?全1D0000H?DFFFFH,.重.復地址:F0000H-FFFFFH

16

第6章輸入輸出接口

〔習題6.1〕

典型的I/O接口電路通常有哪3類可編程寄存器?各自的作用是什么?

〔解答〕

(1)數(shù)據(jù)寄存器:保存外設給CPU和CPU發(fā)往外設的數(shù)據(jù)

(2)狀態(tài)寄存器:保存外設或接口電路的狀態(tài)

(3)控制寄存器:保存CPU給外設或接口電路的命令

〔習題6.2〕

I/O端口與存儲器地址常有_和_兩種編排方式,8088/8086處理器

支持后者,設計有專門的I/O指令。其中指令IN是將數(shù)據(jù)從傳輸?shù)?

執(zhí)行該指令時8088/8086處理器引腳產(chǎn)生__一一總線周期。指令"OUTDX,AL”的目

的操作數(shù)是_____尋址方式,源操作數(shù)是____尋址方式。

〔解答〕

(I/O端口與存儲器地址)統(tǒng)一編址

(I/O端口與存儲器地址)獨立編址

外設

處理器

I/O讀

(I/O端口的DX)寄存器間接

寄存器

〔習題6.5〕

有一個查詢輸入接口電路類似圖6-9,但其數(shù)據(jù)端口為8F40H、狀態(tài)端口為8F42H。

從狀態(tài)端口最低位可以獲知輸入設備是否準備好一個字節(jié)的數(shù)據(jù):Do=l表示準備好,Do

=0說明沒準備好。不考慮查詢超時,編程從輸入設備讀取100個字節(jié)保存到INBUF緩沖

區(qū)。

〔解答〕

movbx,offsetinbuf

movex,100

again:movdx,8f42h

status:inal,dx;查詢一次

testal,Olh

jzstatus

movdx,08f40h

inal,dx;輸入一個字節(jié)

17

mov[bx],al

incbx

loopagain;循環(huán),輸入100個字節(jié)

〔習題6.10〕

查詢、中斷和DMA傳送是微機中常用的外設數(shù)據(jù)交換方式,請說明各自的特點。

〔解答〕

18

第7章中斷控制接口

〔習題7.2〕

8088中斷向量表的作用是什么?

〔解答〕

〔習題7.4〕

8259A中IRR、IMR和ISR三個寄存器的作用是什么?

〔解答〕

中斷請求寄存器IRR:保存8條外界中斷請求信號IR0?IR7的請求狀態(tài),Di位為1

表示IRi引腳有中斷請求;為0表示無請求。

中斷服務寄存器ISR:保存正在被8259A服務著的中斷狀態(tài),Di位為1表示IRi中斷

正在服務中;為0表示沒有被服務。

中斷屏蔽寄存器IMR:保存對中斷請求信號IR的屏蔽狀態(tài),Di位為1表示IRi中斷

被屏蔽(禁止);為0表示允許。

〔習題7.5〕

PC/XT機的ROM-BIOS對8259A的初始化程序如下:

movalJ3h

out20h,al

moval,()8h

out21h,al

moval,09h

out21h,al

請說明其設定的工作方式。

〔解答〕

〔習題7.6〕

某時刻8259A的IRR內(nèi)容是08H,說明。某時刻8259A的ISR內(nèi)容是08H,

說明o在兩片8259A級連的中斷電路中,主片的第5級以5作為從片的中斷請求

輸入,則初始化主、從片時,ICW3的控制字分別是和。

〔解答)

IR3引腳有中斷請求

IR3正在被中斷服務,其它不被處理

20H和05Ho

19

〔習題7.11〕

下段程序讀出的是8259A的哪個寄存器?

movaLObh

out20h,al

nop

inal,20h

〔解答〕

讀取中斷服務寄存器ISR的內(nèi)容。

因為執(zhí)行輸入指令(A0=0)之前,執(zhí)行的輸出指令,寫入了0CW3(D4D3=01),

其中PRRRIS(D2D1D0)=011指明隨后讀出ISR。

不是查詢字。

20

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

〔習題8.2〕

8253每個計數(shù)通道與外設接口有哪些信號線,每個信號的用途是什么?

〔解答〕

CLK時鐘輸入信號一在計數(shù)過程中,此引腳上每輸入一個時鐘信號(下降沿),計

數(shù)器的計數(shù)值減1

GATE門控輸入信號——控制計數(shù)器工作,可分成電平控制和上升沿控制兩種類型

OUT計數(shù)器輸出信號——當一次計數(shù)過程結束(計數(shù)值減為0),OUT引腳上將產(chǎn)

生一個輸出信號

〔習題8.3〕

8253每個通道有一種工作方式可供選擇。若設定某通道為方式。后,其輸出引腳為

—電平;當—后通道開始計數(shù),—信號端每來一個脈沖—就減1;當一,則輸出引腳

輸出—電平,表示計數(shù)結束。8253的CLKo接1.5MHz的時鐘,欲使OUT。產(chǎn)生頻率為

300KHz的方波信號,則8253的計數(shù)值應為一,應選用的工作方式是—。

〔解答〕

6

寫入計數(shù)初值(并進入減1計數(shù)器)

CLK

減1計數(shù)器

計數(shù)器減為()

5(=1.5MHz+300KHz)

3

〔習題8.4〕

試按如下要求分別編寫8253的初始化程序,已知8253的計數(shù)器0?2和控制字I/O地

址依次為204H?207H。

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

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

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

〔解答〕

(1)moval,50h

movdx,207h

outdx,al

moval,128;80h

21

movdx,2O5h

outdx,al

(2)moval,33h

movdx,207h

outdx,al

movax,3000h;不是3000

movdx,204h

outdx,al

moval,ah

outdx,al

(3)movaI,0b4h

movdx,207h

outdx,al

moval,02f0h

movdx,206h

outdx,al

moval,ah

outdx,al

22

第10章并行接口

〔習題10.4]

設定8255A的口A為方式I輸入,口B為方式1輸出,則讀取口C的數(shù)據(jù)的各位

是什么含義?

〔解答〕

A組方式1輸入B組方式1輸出

___________________________N____________

D?D6DSE4D3E?2DiDo

I/OI/OIBFAIN"EAINTRAIN”EBOBFBINTRB

PC4PC2

(習題10.5]

對8255A的控制寄存器寫入B0H,則其端口C的PCs引腳是什么作用的信號線?

〔解答〕

方式控制字為B()H=B,說明A組為方式1輸入,它將征用PC5引腳作為輸入緩沖

器滿信號IBFA

〔習題10.7〕

第10.2.3節(jié)用8255A端口A方式1與打印機接口,如果采用端口B,其他不變,請

說明如何修改接口電路和程序。

〔解答〕

8255A打印機

lOOOpf2K

23

movdx,Offfeh

moval,84h

outdx,al

moval,04h

INTEB

溫馨提示

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

評論

0/150

提交評論