微機(jī)原理匯編語(yǔ)言及接口技術(shù)答案_第1頁(yè)
微機(jī)原理匯編語(yǔ)言及接口技術(shù)答案_第2頁(yè)
微機(jī)原理匯編語(yǔ)言及接口技術(shù)答案_第3頁(yè)
微機(jī)原理匯編語(yǔ)言及接口技術(shù)答案_第4頁(yè)
微機(jī)原理匯編語(yǔ)言及接口技術(shù)答案_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、題1.2 參考p.2和p.51.9 參考 p.13-141.11 (1) 174.66 D= 10101110.10101000 B=0AE.A8 H (0AE.A9H / OAE.A8F5C2H)(2) 1.01011 B = 8EB.58 H=2283.34375 D(3) F18A6.6H= 111100110.0110 B=989350.375 D1.12 解:八位機(jī)器數(shù)原碼、反碼、補(bǔ)碼.移碼+370010010100100101001001011010010125H25H25H0A5H-3710100101110110101101101100A5H0DAH0DBH5BH1.13解:補(bǔ)

2、碼機(jī)器數(shù)擴(kuò)充為16位和32位形式+370025 H00000025 H-37FFDB HFFFFFFDB H1.14解:46H作為無(wú)符號(hào)數(shù)=70D46H作為補(bǔ)碼=+70D46H 作為 BCD 碼=46D46H 作為 ASCII 碼 二 F1.19解:英文字母D和d的ASCII碼為44H和64H: 回車CR為0DH、換行LF為0AH:數(shù)碼0、空格SP、空操作NUL的ASCII碼分別為30H、20H、00H。2.5題參考p.32邏輯地址形式為段地址:偏移地址物理地址=段地址*16+段內(nèi)偏移地址1MB空間最多可以分成64K個(gè)邏輯段,因?yàn)槎蔚刂返钠鹗急仨毷?6 的倍數(shù),220/24=2,6=64K 個(gè)

3、。物理地址為:(l)OFFFFOH (2) 00417H (3) 24500H (4) 0BC777H2.8 已知 DS=2000H,BX=0100H.SI=0002H,存儲(chǔ)單元20100H卜20103H依 次存放 12H、34H、56H、78H, 21200H卜21203H依次存放 2AH、4CH、 B7H、65H,說(shuō)明下列指令執(zhí)行完后AX寄存器的內(nèi)容以及源操作數(shù)的尋址方式。(1) mov ax91200h(2) mov ax, bx答:ax=120011答:ax=0100h立即尋址方式寄存器尋址方式(3) mov ax, 120011(4) mov ax, bx答:ax=21200h=4C

4、2AH 直接尋址方式答:ax=20100h=3412H寄存器間接尋址方式(5) mov ax, bx+HOOh答:ax=21200h=4C2AH 相對(duì)尋址方式(6) mov ax, bx+si答:ax=20102h=7856H基址變址尋址方式(7) mov ax, bxsi+1100h 答:ax=21202h=65B7H相對(duì)基址變址尋址方式2.9指出下列指令的錯(cuò)誤原因:movex, dl:源操作數(shù)長(zhǎng)度與目的操作數(shù)不一致movip, ax;ip指令指針不能人為改變,由轉(zhuǎn)移指令或子程 序調(diào)用來(lái)改變moves, 1234h:立即數(shù)不能直接送段寄存器moves, ds:段寄存器之間不能直接傳遞mova

5、l, 300:源操作數(shù)長(zhǎng)度超過(guò)al寄存器movsp, ax;間接尋址可使用bx或bp,堆棧操作應(yīng)使用專用 指令,movax, bx+di;源操作數(shù)格式錯(cuò).應(yīng)該是bx+dimov20h, ah;目的操作數(shù)不可以是立即數(shù)213解:運(yùn)算公式為v-(x * y+z-540)/x結(jié)果商存放在ax中,余數(shù)在dx中。2.16解:求有效地址(1) EA= 1256H(2) EA = 32F7H219解:求首地址為array的20個(gè)字的數(shù)組的元素之和,結(jié)果存放于地址 為total的字單元中。題41參見(jiàn)p.14-158088具有20根地址線。在訪問(wèn)內(nèi)存時(shí)使用地址A0A19 ,可直接 尋址1MB容量的內(nèi)存范圍;在訪

6、問(wèn)外設(shè)時(shí)使用地址線A0A15 ,共能 尋址64K個(gè)輸入輸出端口。實(shí)際上PC/XT在尋址外設(shè)時(shí),只使用地址線A9A0;若A9=l,說(shuō) 明它要尋址的IO端口位于IO插卡上。4.2 參見(jiàn) p.106-107總線操作指的是發(fā)生在總線上的某些特定操作,總線周期指的是完成 一次特定總線操作所需的時(shí)間。對(duì)8088而言其典型的總線周期山4個(gè)T 狀態(tài)組成。PC/XT所采用的時(shí)鐘頻率為4.77MHz,每個(gè)T狀態(tài)的持續(xù)時(shí)間 為210ns。如果CLK引腳接5MHz的時(shí)鐘信號(hào),那么每個(gè)T狀態(tài)的持續(xù)時(shí) 間為200ns o4.4解答:當(dāng)8088進(jìn)行讀寫存儲(chǔ)器或I/O接口時(shí),如果存儲(chǔ)器或I/O接口無(wú)法滿 足CPU的讀寫時(shí)序(

7、來(lái)不及提供或讀取數(shù)據(jù)時(shí)),需要CPU插入等待狀態(tài) Two (在T3前沿檢測(cè)Ready信號(hào),若無(wú)效則插入Tw o )具體在讀寫總線周期的T3和T4之間插入Two4.6 參見(jiàn) p99, p-1108088的某些輸出線有三種狀態(tài):高電平、低電平、懸空(高阻態(tài)),稱 為三態(tài)能力。在高阻狀態(tài),CPU放棄其了對(duì)該引腳的控制權(quán),山連接它的 設(shè)備接管。具有三態(tài)能力的引腳有:AD7AD(), A5A8,A|9/S6A|(/S3,ALE, IO/M*, WR*, RD*, DEN*, DT/R*。4.11總線周期IO/M*WR*RD*存儲(chǔ)器讀低低存儲(chǔ)器寫低低 咼I/O讀(輸入操作) ”4上 咼低I/O寫(輸出操作

8、)4 _ 咼低咼WR* 1RD* 0CrVMEMR*IO/M* 0u1WR* 00RD* 1 VIOW*4.12 答:取該指令時(shí)引發(fā)存儲(chǔ)器讀總線操作。執(zhí)行該指令時(shí)引發(fā)I/O讀總線操 作。(時(shí)序圖略)4.13 8088系統(tǒng)最小組態(tài)下,對(duì)指令A(yù)DD 2000H, AX (長(zhǎng)度3B)。 答:取該指令時(shí)需要3個(gè)總線周期,均為存儲(chǔ)器讀周期。執(zhí)行該指令時(shí)需要4個(gè)總線周期,2個(gè)為存儲(chǔ)器讀總線周期(讀出字操 作數(shù)參與運(yùn)算),2個(gè)為存儲(chǔ)器寫總線周期(保存16位運(yùn)算結(jié)果)。4.15參見(jiàn)p.106圖74LS373的G為電平鎖存引腳,控制選通且轉(zhuǎn)為無(wú)效時(shí)鎖存數(shù)據(jù)。OE*輸出允許引腳,信號(hào)來(lái)自ALEo4.16參見(jiàn)p.1

9、06圖數(shù)據(jù)收發(fā)器74LS245是8位雙向緩沖器,G*控制端為低電平有效,可 傳輸數(shù)據(jù);DIR控制導(dǎo)通方向:DIR=1, A-B: DIR=0, A-B4.17 參見(jiàn) p.111-112歸納為:1、8086數(shù)據(jù)總線變?yōu)?6位,數(shù)據(jù)地址線復(fù)用為AD】5AD()。2、8086指令隊(duì)列程度變?yōu)?字節(jié)長(zhǎng),當(dāng)有2個(gè)字節(jié)空才取下一指 令。3、8088 引腳 IO/M* , 8086 變?yōu)?M/IO*;4、引腳SSO*變?yōu)锽HE*/S7, BHE*的作用是使D15-D8有效。5、8086存儲(chǔ)器組織為奇偶分塊,偶地址取字只要讀1次,奇地址 取字需要讀兩次。6、I/O端口大都采用偶地址,口的是引導(dǎo)8位數(shù)據(jù)到低8位

10、總線AD?AD()上,以提咼效率。5.1Cache.主存和輔存的作用參見(jiàn)p. 120121虛擬存儲(chǔ)器一一參見(jiàn)p.121在CPU看來(lái),訪問(wèn)主存和訪問(wèn)輔存有什么不同?訪問(wèn)主存:通過(guò)存儲(chǔ)器訪問(wèn)機(jī)器指令,按字隨機(jī)訪問(wèn)。訪問(wèn)輔存:通過(guò)操作系統(tǒng),按塊順序訪問(wèn)。5.2在半導(dǎo)體存儲(chǔ)器中,RAM指的是隨機(jī)存取存儲(chǔ)器,它可讀可寫, 但斷電后信息一般會(huì)丟失;而ROM指的是只讀存儲(chǔ)器,正常工作時(shí) 只能從中讀取信息,但斷電后信息不會(huì)丟失。以EPROM芯片2764為 例,其存儲(chǔ)容量為8KX8位,共有8條數(shù)據(jù)線和13條地址線。用它組 成64KB的ROM存儲(chǔ)區(qū)共需8片2764芯片。5.4 一個(gè)容量為4KX4位的假想RAM存儲(chǔ)

11、芯片,他應(yīng)該有多少根地址 線引腳和多少根數(shù)據(jù)線引腳?如果讓你來(lái)進(jìn)行設(shè)計(jì),那么它還需要哪些控 制引腳?這些引腳分別起什么樣的控制作用?解答:4KX4的芯片應(yīng)該有12根地址線引腳和4根數(shù)據(jù)線引腳??刂埔_應(yīng)該有:讀取信號(hào)OE*:有效時(shí),表示讀取存儲(chǔ)單元的數(shù)據(jù)寫入信號(hào)WE*:有效時(shí),表示將數(shù)據(jù)寫入存儲(chǔ)單元片選信號(hào)CS*:有效時(shí),表示選中該芯片,可以進(jìn)行讀寫操作。5.7什么是存儲(chǔ)芯片的位擴(kuò)充和地址擴(kuò)充?采用靜態(tài)RAM的芯片2114 (1KM位)或動(dòng)態(tài)RAM的芯片4116 (16K*1位)來(lái)組成32KB的RAM 存儲(chǔ)區(qū),請(qǐng)問(wèn)各需要多少芯片?在位方向和地址方向各需要進(jìn)行什么樣的 擴(kuò)充?解答:(參見(jiàn)p.14

12、0)使用多個(gè)芯片來(lái)擴(kuò)充存儲(chǔ)數(shù)據(jù)位的寬度,稱為位擴(kuò)充。 采用多個(gè)芯片在地址方向上進(jìn)行擴(kuò)充,稱為地址擴(kuò)充或字?jǐn)U充。用SRAM 2114組成32KBRAM存儲(chǔ)區(qū):2片為一組,得1KB,所以組 成32KB就要32組,共需要64片SRAM 2114。用DRAM 4116組成32KBRAM存儲(chǔ)區(qū):8片為一組,得16KB,所以 組成32KB只要 共需要16片DRAM 4116。5.8 存儲(chǔ)芯片為什么要設(shè)置片選信號(hào)?它與系統(tǒng)地址總線有哪些連接方 式?采用何種連接方式可避免地址重復(fù)?采用哪些連接方式可節(jié)省用于譯 碼的硬件?解答:片選信號(hào)說(shuō)明該存儲(chǔ)器芯片是否被選中正常工作,設(shè)置它可以比較方 便地實(shí)現(xiàn)多個(gè)存儲(chǔ)器芯片

13、組成大容量的存儲(chǔ)空間。存儲(chǔ)器片選信號(hào)通常與CPU地址總線的高位地址線相關(guān)聯(lián),可以采 用“全譯碼J “部分譯碼”、“線選譯碼方式。釆用全譯碼方式可以避免地址重復(fù)。采用部分或線選譯碼可以節(jié)省譯碼硬件。5.9在一個(gè)針對(duì)存儲(chǔ)器的譯碼系統(tǒng)中,如果有4個(gè)地址線未參與譯碼,那 么每個(gè)存儲(chǔ)單元會(huì)同時(shí)擁有兒個(gè)地址?解答:理論上每個(gè)存儲(chǔ)單元會(huì)同時(shí)擁有16個(gè)地址。5.10解答:p144圖5.33中4個(gè)存儲(chǔ)芯片的可用地址范圉:6264(1)6264(2)2732(1)2732(2)00000 01FFFH02000 03FFFH04000 04FFFH05000 05FFFH40000 41FFFH42000 43F

14、FFH44000 44FFFH45000 45FFFH80000 81FFFH82000 83FFFH84000 84FFFH85000 85FFFHC0000C1FFFHC2000C3FFFHC4000 -C4FFFHC5000 -C5FFFH重復(fù)地址山于A19A18的不定性,每片各有4段范圍。5.11釆用全譯碼方式和6264芯片(SRAM,容量8KX8位),在內(nèi)存 40000H43FFFH區(qū)段擴(kuò)充RAM,請(qǐng)畫出這些芯片與最大組態(tài)的系統(tǒng)總線 的連接示意圖。解:A19 A16A15 A13A12 A0地址范圍10100000全0全140000H 41FFFH20100001全0全142000H

15、 43FFFH方法為:容量二末地址一首地址+1=2,4=16KB,所以要2片6264芯片。A12A0為片內(nèi)地址,A15A13作片選譯碼的輸入CBA,E3E2ElCB 131AYYYYCS1CS2D7 D)A12 Ao6264j2) _ WE OE6264w _WE OEMEMVVMEMR5.13 釆用3:8譯碼器74LS138和2764芯片(EPROM, 8KX8位),通過(guò) 全譯碼方式在8088系統(tǒng)的地址最高端組成32KB的ROM區(qū),請(qǐng)畫出各2764 芯片與8088最大組態(tài)下形成的線條總線的連接示意圖。解答:注意地址最高端組成32KB的ROM區(qū),意味著地址范圉是 F8000HFFFFFH,這祁

16、最高五根地址線AwAi5上要全為1。2764芯片的 片內(nèi)地址是13根即Ai2A(),它們是全0到全1變化;現(xiàn)在需要4片來(lái)構(gòu) 成32KB存儲(chǔ)區(qū),采用3:8譯碼器的話,Ais-Ab應(yīng)該取后4種情況,即取 100111分別產(chǎn)生丫4丫7。其余地址線可以以多種方式組合產(chǎn)生控制信號(hào)。A19 A16A15 A13A12Ao地址范圍11111100全0全1F8000H F9FFFH21111101全0全1FA000H F BFFFH31111110全0全1FC000HFDFFFH41111111全0全1FE000HFFFFFH考慮:如果要求地址從低端開(kāi)始的話,高5位全0,即00000H07FFFH, 如何連接

17、?5.16訪問(wèn)的局部性原則P122第1行。高速緩存和虛擬存儲(chǔ)的I的pl21下部。6.1在80x86系統(tǒng)中,I/O端口的地址采用墊乂編碼方式,訪問(wèn)端口時(shí)要 使用專門的i/o指令,有2種尋址方式,其具體形式是:直接尋址和 DX間接尋址。6.2 一般的I/O接口電路安排有哪三類寄存器?他們各自的作用是什么? 解答: (參見(jiàn)P-154)(1)數(shù)據(jù)寄存器保存外設(shè)給CPU和CPU發(fā)往外設(shè)的數(shù)據(jù)。(2)狀態(tài)寄存器保存外設(shè)或接口電路的狀態(tài)。(3)控制寄存器保存CPU給外設(shè)或接口電路的命令。解:K0單獨(dú)按下:輸入0FEH,控制L0 L7依次循環(huán)亮燈,K1單獨(dú)按下:輸入0FDH,控制L7 L0反向依次循環(huán)亮燈,

18、程序流程略。BEG: MOV DX, 8000HLOPO: IN AL, DXMOV BL, ALMOV CX, 8 ;循環(huán)次數(shù)CMP AL, OFEH ;測(cè)試是否KO單獨(dú)按下JZ LOP1CMP AL, OFDH ;測(cè)試是否KI單獨(dú)按下JZ LOP2MOV AL, 0OUT DX, ALJMP LOPO:利用狀態(tài)值OFEH作為開(kāi)始位置,指向L0LOP1:MOVAL, BLNOTAL;因?yàn)橛蟹聪嗥鱈S06OUTDX, ALCALLDELAYROLBL, 1;準(zhǔn)備下個(gè)燈亮位置LOOPLOP1JMPLOPOLOP2:MOVBL, 80H;首次亮L7,LPO3:MOVAL, BL;為1的燈亮,因?yàn)橛?/p>

19、反相器LS06OUTDX, ALCALLDELAYRORBL, 1;準(zhǔn)備下個(gè)燈亮位置LOOPLOP3JMPLOPO6.5數(shù)據(jù)口地址為FFEOH,狀態(tài)口地址為FFE2H,當(dāng)狀態(tài)標(biāo)志D()=l時(shí)輸 入數(shù)據(jù)就緒,編寫查詢方式進(jìn)行數(shù)據(jù)傳送程序,讀入100個(gè)字節(jié),寫到 2000H: 2000H開(kāi)始的內(nèi)存中。解:(程序格式參見(jiàn)p.63-64 ).CODEMOVAX. 2000HMOVDS, AX;段地址MOVBX, AX;偏移地址MOVCX, 100NEXT: MOVDX, 0FFE2HSTATUS: INAL, DX;讀入狀態(tài)TEST AL, 01HJZ STATUSDEC DXDEC DX ;數(shù)據(jù)口地

20、址IN AL, DXMOV BX, ALINC BXLOOP NEXTMOV AX, 4C00H ;結(jié)束INT 21H6.6某字符輸出設(shè)備,其數(shù)據(jù)端口和狀態(tài)端口的地址均為80Ho在讀取狀 態(tài)時(shí),當(dāng)標(biāo)志位D7為0時(shí)表明該設(shè)備閑,可以接收一個(gè)字符。請(qǐng)編寫采 用查詢方式進(jìn)行數(shù)據(jù)傳送的程序段,要求將存放于符號(hào)地址ADDR處的一 串字符(以$為結(jié)束標(biāo)志)輸出給該設(shè)備,注意在程序中加上注釋。解:參考答案一:mov bx, offset addragain: mov ah, bx cmp ah, $ jz donestatus: in al, 80h test al, 80h jnz status mov

21、al, ah out 80h, al inc bx;取一個(gè)字節(jié)的字符碼;查詢一次;輸出一個(gè)字節(jié)jmp again ;循環(huán)done:參考答案二:.DATAaddr DB xxxx$,CODEMOV AX, DATAMOV DS, AXLEA BX, addrMOVAL, BXCMPAL, $JZendofOUT80H, ALINCBXStatus: IN AL, 80HCMP AL, 0JS Status;讀入狀態(tài),ifD7=h為負(fù)數(shù);或 ROL AL, 1:JC STATUSStatusAX, 4C00H21HJMPEndof: MOVINT6.7以可屏蔽中斷為例,說(shuō)明一次完整的中斷過(guò)程主要包

22、括那些環(huán)節(jié)? 8088響應(yīng)可屏蔽中斷請(qǐng)求時(shí)需要先滿足那些前提條件?答:中斷過(guò)程的主要環(huán)節(jié):(參見(jiàn)p.165 )中斷請(qǐng)求、中斷響應(yīng)、關(guān)中斷、斷點(diǎn)保護(hù)、中斷源識(shí)別、現(xiàn)場(chǎng)保護(hù)、 中斷服務(wù)、恢復(fù)現(xiàn)場(chǎng)、開(kāi)中斷、中斷返回。8088響應(yīng)可屏蔽中斷請(qǐng)求時(shí)需要先滿足:中斷允許IF=lo當(dāng)前指令執(zhí)行完畢。6.8什么是中斷源?為什么要設(shè)立中斷優(yōu)先權(quán)?什么是中斷嵌套?何種情 況下程序可能發(fā)生中斷嵌套?答:中斷源:計(jì)算機(jī)系統(tǒng)中引起中斷的事件或原因。當(dāng)多個(gè)中斷源同時(shí)請(qǐng)求時(shí),CPU需要利用中斷優(yōu)先權(quán)決定首先響應(yīng)哪 一個(gè);當(dāng)一個(gè)中斷正在服務(wù)時(shí),乂發(fā)生了新的中斷請(qǐng)求,CPU需要利用中 斷優(yōu)先權(quán)確定后者是否優(yōu)先權(quán)更高,以便實(shí)現(xiàn)中

23、斷嵌套。中斷嵌套:當(dāng)一個(gè)中斷服務(wù)時(shí)CPU 乂響應(yīng)新的中斷請(qǐng)求就形成中斷嵌 套。CPU允許中斷(開(kāi)中斷)、新的中斷請(qǐng)求比正在服務(wù)的中斷優(yōu)先權(quán)更高, 通常發(fā)生中斷嵌套。6.9參見(jiàn)P.171INTR(!三態(tài)Do緩沖器鎖 存 器中斷U中斷1中斷2PUSH DXPUSH AXMOV DX, 8001HSTATUS:IN AL,DXTESTAL, 01HJZ NEXT1CALLPROCOJMPDONESNEXT1:TESTAL, 02HJZ NEXT2CALL PROCIJMPDONESNEXT2:TESTAL, 04HJZ NEXT3CALLPROC2JMPDONESNEXT3:TESTAL, 08HJ

24、ZDONESCALLPROC3DONES:POPAXPOPDXIRET6.10 DMA的意思是直接存儲(chǔ)器存取,主要用于高速外設(shè)和內(nèi)存間的數(shù) 據(jù)傳送。進(jìn)行DMA傳送的一般過(guò)程是:外設(shè)先向DMA控制器提岀DMA 傳送請(qǐng)求,DMA控制器通過(guò)_HOLD信號(hào)有效向CPU提出總線請(qǐng)求, CPU回以HLDA信號(hào)有效表示響應(yīng)。此時(shí)CPU的三態(tài)信號(hào)線將輸出雖 阻 狀態(tài),即將它們交山DM AC (DMA控制器)進(jìn)行控制,完成外設(shè)和 內(nèi)存間的直接數(shù)據(jù)傳送。7.7假如某并行總線的數(shù)據(jù)寬度為32位,工作頻率為100MHz,若2個(gè)時(shí) 鐘周期傳送一次數(shù)據(jù),其傳輸速率是多少?如果在時(shí)鐘的前后沿各傳送一 次數(shù)據(jù),其傳輸速率是多

25、少?如果采用2-1-1-1的突發(fā)傳送模式,其平均傳 輸速率是多少?解答:f = 100MHz ,則時(shí)鐘周期 T=l/f = 10ns1) 2T 一次的傳輸速率,即頻率減半:fd = (32/8) * 100/2 M = 200 MB/s或 fd = (32/8)/(2* 10 ns) = 200 MB/s2) 前后沿各傳送一次,即頻率加倍:fd = (32/8) * 100*2 M = 800 MB/s或即 1T2 次:fd = (32/8)/(10/2 ns) = 800 MB/s3) 采用2-1-1-1的突發(fā)傳送模式,平均為5T4次:fd = (32/8) * 100*4/5 M = 32

26、0 MB/s或 fd 二(3278)/(5*10 ns /4) = 320 MB/s8.1 8088CPU具有哪些中斷類型?各種中斷如何產(chǎn)生,如何得到中斷向量號(hào)?參見(jiàn) p.191、p.192-1938.2 8088中斷向量表的作用是什么?(參見(jiàn)p.194)答:它是中斷向量號(hào)到對(duì)應(yīng)的中斷服務(wù)程序入口地址的鏈接表。通過(guò)中斷向量號(hào)n,可以讀取中斷向量表的物理地址為n*4開(kāi)始 的單元,獲取中斷服務(wù)程序的入口地址(即中斷向量),長(zhǎng)度4個(gè)字節(jié)。8.3說(shuō)明程序段的功能:(程序略,見(jiàn)p.212 )答:此段程序?qū)⒅袛喾?wù)程序intproc的入口地址寫入中斷向量表的80h*4開(kāi)始的單元中。(Stows是數(shù)據(jù)串傳送

27、指令,參見(jiàn)p.78。)(實(shí)際上可以使用指令序列:mov ax, seg intprocmov ds, axmov dx, offset intprocmov ax, 2580hint 21h來(lái)完成相同功能)8.4 8259A中IRR、IMR和ISR三個(gè)寄存器的作用是什么? 答:(參見(jiàn) p.l96197)中斷請(qǐng)求寄存器IRR-保存8條外界中斷請(qǐng)求信號(hào)IR0IR7的請(qǐng)求狀態(tài)-Di位為1表示IRi引腳有中斷請(qǐng)求:為0表示無(wú)請(qǐng)求中斷服務(wù)寄存器ISR-保存正在被8259A服務(wù)著的中斷狀態(tài)-Di位為1表示IRi中斷正在服務(wù)中;為0表示沒(méi)有被服務(wù) 中斷屏蔽寄存器IMR-保存對(duì)中斷請(qǐng)求信號(hào)IR的屏蔽狀態(tài)-Di

28、位為1表示IRi中斷被屏蔽(禁止);為0表示允許&5 PC/XT對(duì)8259A的初始化程序如下:movalJ3h;0001 0011out20h,al;ICW1moval,08h;00001000out21h,al;ICW2movaI,09h;00001001out21h,al;ICW4請(qǐng)說(shuō)明其設(shè)定的工作方式?解答:從第一個(gè)寫指令I(lǐng)CW1,看出是邊沿觸發(fā)、單片方式,有ICW4: 第二個(gè)寫指令I(lǐng)CW2為中斷向量08h;第三個(gè)寫指令I(lǐng)CW4中斷方式字, 表示普通全嵌套、數(shù)據(jù)線緩沖方式,從片、非自動(dòng)中斷結(jié)束、16位微處理 器。8.6某時(shí)刻8259A的IRR內(nèi)容是08h,說(shuō)明只有引腳IR3上有中斷請(qǐng)求。

29、 某時(shí)刻8259A的ISR內(nèi)容為08h,說(shuō)明只有IR3上的請(qǐng)求正在被CPU服務(wù)。 在兩片8259A級(jí)聯(lián)的中斷電路中,主片的第5級(jí)IR5接從片的中斷請(qǐng)求輸 入,則初始化主、從片時(shí)ICW3的控制字分別是20H和05H。(分別是 0010 0000 和 00000101 )8.7 解:初始化時(shí)寫的是ICW命令,Ao=O為ICW1, Ao=l時(shí)按照順序決定是 寫哪個(gè)初始化命令字。當(dāng)8259處于工作狀態(tài)時(shí),寫的是OCW,由地址Ao和DjD3特征位共同 決定是寫哪個(gè)操作命令字 3)=1時(shí),寫OCWi; Ao=O且D4D?=00時(shí), 寫 OCW2, D4D3=01,寫 OCW3)o在Ao=l時(shí)讀出的是IMR

30、寄存器的內(nèi)容。DorFisR5=i CW48259A片內(nèi)寄存器尋址方式示意圖8.8 題略 p.212o解:根據(jù)題意:SFNM=O, AEOI=0, LTIM=0, ICWl=00010011, ICW2=90H,ICW4=0000xl01,初始化8086所接的8259A中斷控制器:MOVDX, OFFDCH:對(duì)應(yīng)20H端口MOVAL, 13HOUTDX, ALMOVDX, OFFDEH;對(duì)應(yīng)21H端口MOVAL, 90HOUTDX, ALMOVAL, 05 HOUTDX, AL&10 8259A的中斷請(qǐng)求有哪兩種觸發(fā)方式,它們分別對(duì)請(qǐng)求信號(hào)有什么 要求? PC系列機(jī)中釆用哪種方式?答: 上跳沿

31、觸發(fā),要求克服噪音尖峰。高電平觸發(fā),請(qǐng)求及時(shí)撤銷請(qǐng)求信號(hào)。PC系列機(jī)采用上升沿方式。8.11解答:Obh = 000010H_b,寫OCW3,接下來(lái)要讀的是ISR,中斷服務(wù)寄存器。&12解答:Obch= 10111100 b, 21H 寫 OCW1 B|J IMR,結(jié)果是只允許 IRO、IRKIR6中斷,其他中斷被屏蔽。&14中斷服務(wù)程序的人口處為什么通常要使用開(kāi)中斷指令?答:因?yàn)?088在進(jìn)入中斷服務(wù)程序前的中斷響應(yīng)期內(nèi)會(huì)自動(dòng)關(guān)中斷(令 IF=0),所以對(duì)于不十分重要的中斷源,其中斷服務(wù)程序的人口處要開(kāi)中 斷,以便可以實(shí)現(xiàn)中斷嵌套。題9.38253每個(gè)通道有g(shù)種工作方式可供選擇。若設(shè)定某通道

32、為方式0后,其輸出引腳為低 電平;當(dāng)寫入計(jì)數(shù)初值(并進(jìn)入減1計(jì)數(shù)器)后 通道開(kāi)始計(jì)數(shù),CLK信號(hào)端每來(lái)一個(gè)脈沖減1計(jì)數(shù)器就減1;當(dāng)計(jì)數(shù) 器減為0,則輸出引腳輸出直電平,表示計(jì)數(shù)結(jié)束。8253的CLKO接 1.5MHz的時(shí)鐘,欲使OUTO產(chǎn)生頻率為300KHz的方波信號(hào),則8253的 計(jì)數(shù)值應(yīng)為5 ( = l5MHz*300KHz),應(yīng)選用的工作方式是3。9.4按要求編寫8253初始化程序,對(duì)應(yīng)計(jì)數(shù)器02和控制字的I/O端口地 址為 204H207H(1)使計(jì)數(shù)器1匸作在方式0,匸作在方式1,匸作在方式2,僅用8位二進(jìn)制計(jì)數(shù),初值為128。 按BCD碼計(jì)數(shù),計(jì)數(shù)值為3000。計(jì)數(shù)值為02F0Ho

33、(2)(3)使計(jì)數(shù)器0使計(jì)數(shù)器2 :T:(1) MOVAL, 01010000B ;即 50HMOVDX, 207HOUTDX, ALMOVAL, 128;或80HMOVDX, 205HOUTDX, AL(2)MOVAL, 00100011B ;即 23H,或用 33H 初值 3000HMOVDX, 207HOUTDX, ALMOVAL, 30H;僅送高8位MOVDX, 204HOUTDX, AL(3)MOVAL, 10110100B ;即 0B4HMOVDX, 207HOUTDX, ALMOVDX, 206HMOVAX, 02F0HOUTDX, ALMOVAL, AHOUTDX, AL9.5

34、設(shè)8255計(jì)數(shù)器02和控制字的I/O地址依次為F8HFBH,說(shuō)明如下程序的作用。moval,33h;0011 0011outOfbh,almoval,80houtOf阻almoval,50houtOf阻al解:計(jì)數(shù)器0工作在方式1, BCD碼計(jì)數(shù),計(jì)數(shù)值5080Do9.7 解:例題9.2中CLKO實(shí)際輸入101個(gè)下降沿后產(chǎn)生中斷,還能用工作方式 1、4、5。如果利用外部信號(hào)啟動(dòng)計(jì)數(shù),則GATE0應(yīng)從+5v - 0v - +5v。若采用計(jì)數(shù)器0方式1的控制字為:00 01 001 0B= 12H。(初始化程序類似p.226例9.2。)MOV AL, 12H;計(jì)數(shù)器0方式1MOV DX, 203H

35、OUT DX, ALMOV DX, 200HMOV AL, 100OUT DX, AL題9.8解:先計(jì)算計(jì)數(shù)器0的初值,N二輸入f觀出F =5MHz/lKHz=5OOO 計(jì)數(shù)器0的方式控制字:00 10 010 1 N= 5000用BCD計(jì)數(shù) 計(jì)數(shù)器1的方式控制字:01 11 100 0N=1000=3E8H計(jì)數(shù)器0初始化程序:MOVDX,0FFF3HMOVAL,25H;OUTDX,ALMOVAL,50HMOVDX,OFFFOHOUTDX,AL(或方式控制字0011 0100,初值5000)movdx,Offf3hmoval,34houtdx,almovdx,OfffOh0UT1 IRQ4CL

36、K1rOUTO 1KHzCLKO5MHz8253mov ax, 5000out dx, almov al, ah ;先低后高 out dx, al計(jì)數(shù)器1初始化程序:MOVDX,0FFF3HMOVAL,78H; 01 11 1000OUTDX,ALMOVAX,3E8HMOVDX,0FFF1HOUTDX,ALMOVAL,AH;先低后咼OUTDX,AL(或方式控制字01 10 100 1,初值1000D,用BCD計(jì)算只送高字節(jié))moval.69hmovdx,Offf3houtdx,almovdx,Offflhmoval,10houtdx,al補(bǔ)充:(此處題口不需要進(jìn)行8259A的初始化)IRQ4的

37、中斷向量為0CH,若需要設(shè)置8259A的初始化如下:MOVAL,13H;ICW1OUT20H,ALMOVAL,08H;ICW2OUT21H,ALMOVAL,07H;ICW4OUT21H,AL對(duì)應(yīng)中斷屏蔽字為1H01111,中斷屏蔽位設(shè)置程序:IN AL, 21HAND AL, OEFHOUT 21H, AL讀出IMR設(shè)置允許IRQ4 ,其它位不影響再寫入IMR即OCW19.9揚(yáng)聲器控制發(fā)音程序:子程序speakerspeakon speakoff參見(jiàn)p.223 解:.DATAaddr DVV 2277, 2029, 1808, 1709DVV 1522, 1356, 1196, 1139.CO

38、DEMOVAX, DATAMOVDS, AXkey In:MOVAH, 1INT21H;等待按鍵CMPAL, 1BH ;是否ESCJZexitCMPAL, 31HJLstop;vTCMPAL, 38HJGstop;8ANDAL, OFH ;截取數(shù)1-8DECAL;成為07SHLAL;因?yàn)镈W, *2LEABX, addr ;數(shù)據(jù)表起始地址MOVAH, 0ADDBX, AXMOVAX, BXCALLspeakerCALLspeakonJMPkevlnstop:CALLspeakoffJMPkevlnVexit:MOVAX, 4C00HINT21H9.10計(jì)數(shù)器的定時(shí)長(zhǎng)度和精度受脈沖輸入信號(hào)頻率和

39、計(jì)數(shù)值影響。對(duì)于頻 率為f的脈沖輸入,計(jì)數(shù)器輸出的最小定時(shí)時(shí)間為2L;此時(shí)計(jì)數(shù)初值應(yīng) 為1 16位計(jì)數(shù)器輸出的最大定時(shí)時(shí)間是65537/f :當(dāng)需要加大定時(shí)時(shí) 間時(shí),或者利用硬件方法進(jìn)行多個(gè)計(jì)數(shù)器的級(jí)聯(lián);或者用軟件輔助方法, 使計(jì)數(shù)單元擴(kuò)大計(jì)數(shù)值。10.2什么是8237的單字節(jié)傳送方式和數(shù)據(jù)塊傳送方式,兩者的根本區(qū)別 是什么?數(shù)據(jù)塊傳送方式和請(qǐng)求傳送方式對(duì)DREQ信號(hào)有效有什么要 求?答:?jiǎn)巫止?jié)傳送方式:以DMA方式每傳送完一個(gè)字節(jié),8237使HRQ (總 線請(qǐng)求)信號(hào)無(wú)效,將系統(tǒng)總線交還CPU,若所有數(shù)據(jù)未傳完,則DREQ(外設(shè)的DMA傳送請(qǐng)求)保持有效,所以,8237立刻向CPU申請(qǐng)總線,

40、 使HRQ再次有效,若CPU應(yīng)答了這次請(qǐng)求(HLDA有效),8237就傳送 下一個(gè)字節(jié),這個(gè)過(guò)程重復(fù)到所有數(shù)據(jù)傳送完畢。塊傳送:一旦傳送開(kāi)始,8237就不放棄總線,直到所有數(shù)據(jù)傳送完畢。 二者的區(qū)別:前者在侮傳送一個(gè)字節(jié)后,CPU都有一次獲得總線的機(jī) 會(huì),以感知其他事件。后者不行,但速度較快。數(shù)據(jù)塊傳送對(duì)DREQ信號(hào)有效的要求是:傳送期間始終保持。 請(qǐng)求傳送對(duì)DREQ信號(hào)有效的要求是:可以隨時(shí)失效來(lái)暫停傳送。10.4 8237有幾種對(duì)其DMA通道屏蔽位操作的方法?答:p238o三個(gè):?jiǎn)瓮ǖ榔帘巫?、主屏蔽字、清屏蔽寄存器命令?0.5 PC機(jī)為什么設(shè)置DMA傳送的頁(yè)面寄存器?答:因?yàn)镻C機(jī)的內(nèi)存

41、空間大于8237的地址控制范圍(64K),要在高于 64K的空間進(jìn)行DMA傳送就必須用輔助器件產(chǎn)生高位(A16以上)地址, 這個(gè)輔助器件就是頁(yè)面寄存器。10.6設(shè)置PC機(jī)8237通道2傳送1KB數(shù)據(jù),請(qǐng)給出其字節(jié)數(shù)寄存器編程。 解:MOVAX, 1023; N-lOUT05H, ALMOVAL, AHOUT05H, AL10.8解:PC機(jī)8237A通道2傳送的內(nèi)存起始地址為C8020H,請(qǐng)給岀地址寄 存器編程。MOV AL, 20HOUT 04H, ALMOV AL, 80HOUT 04H, ALMOV AL, OCHOUT 81H, AL ;參見(jiàn) p239 表10.9 XT機(jī)執(zhí)行了下面兩條指

42、令后,會(huì)產(chǎn)生什么作用?mov al, 47h;01 0 0 01 11out Obh, al解:從端口地址OBH可知,這是方式寄存器:這兩條指令執(zhí)行后對(duì)通道3 進(jìn)行了方式設(shè)置,具體為:以單字節(jié)模式、地址遞增、禁止自動(dòng)初始化、 在通道3上進(jìn)行DMA寫。10.10題略,參見(jiàn)p242;寄存器地址參見(jiàn)p234表102 解:MOVDX, OCH指向高/地觸發(fā)器MOVAL,0OUTDX,AL清除高/地觸發(fā)器MOVDX, 09H指向請(qǐng)求寄存器OUTDX,ALMOVAX, 01ORAX, SIMOVDX, OBH指向方式寄存器OUTDX,AL設(shè)置工作方式MOVAX, ES取段地址MOVCL, 04ROLAX,

43、 CL左移4位MOVCH, AL暫存高位地址ANDAL, 0F0H屏蔽掉高位,取有效的低位ADDAX, BX加上偏移地址JNCNET1有進(jìn)位則INCCH高位加1NET1: MOVDX, 02指向通道1的地址寄存器OUTDX,ALMOVAL, AHOUTDX,ALMOVAL, CHANDMOVOUTMOVDECMOVOUTMOVOUTMOVMOVOUTMOVMOVOUTMOVNET2: INANDJZAL, OFHDX, 83HDX,ALAX, DIAXDX, 03DX,ALAL, AH DX,ALDX, OAHAL, 1DX,ALDX, 8AL, 60HDX,ALDX, 08HAL, DXAL

44、, 02H NET2;指向通道1的頁(yè)面寄存器;N-l;指向通道1的字節(jié)數(shù)寄存器;寫入計(jì)數(shù)值低8位:寫入計(jì)數(shù)值高8位;指向單通道屏蔽字;指向命令寄存器;01100000;指向狀態(tài)寄存器;讀入狀態(tài)字;判通道1傳送結(jié)束否,D1=1?答:若主機(jī)通過(guò)通道1發(fā)送數(shù)據(jù),相當(dāng)于進(jìn)行DMA讀,若釆用請(qǐng)求模式,;沒(méi)有結(jié)束繼續(xù)讀入狀態(tài)此時(shí)SI可以為09h;若釆用單字節(jié)模式,SI為49h。若主機(jī)通過(guò)它接收數(shù)據(jù),相當(dāng)于進(jìn)行DMA寫,若釆用請(qǐng)求模式,此時(shí) SI可以為05h;若采用單字節(jié)模式,SI為45h。題11.2 8255兩組都定義為方式1輸入,則方式控制字是什么?方式控制 字中的另外兩位確定什么功能?解:方式控制字為

45、1 01 1 X 1 1 Y,其中X、Y可取0或1,因?yàn)檫@兩位分別 確定C端口的上部和下部的工作方式;本題中X位決定PC6和PC7的輸 入輸出功能,Y位已無(wú)意義。113總結(jié)8255A端口 C的使用特點(diǎn)。 答: 1、8位并行輸入輸出。2、高4位、低4位可分別輸入輸出。3、按規(guī)定與端口 A和端口 B配合,完成相應(yīng)的握手信號(hào)。11.4設(shè)定8255A的端口 A為方式1輸入,端口 B為方式1輸出,則讀取 口C的數(shù)據(jù)的各位是什么含義?解答:壓取口 C的數(shù)據(jù)各位的含義是:PC76為輸入信息或輸出鎖存信息(根據(jù)端口 C上部的輸入/出定義); PC5T為端口 A的輸入緩沖器滿否、內(nèi)部觸發(fā)器狀態(tài)、有否中斷請(qǐng)求信息

46、。 PC24為端口 B的內(nèi)部觸發(fā)器狀態(tài)、輸出緩沖器滿否、有否中斷請(qǐng)求信息。(參見(jiàn)下圖)11.5對(duì)8255A的控制寄存器寫入BOH,則其端口 C的PC5引腳是什么作 用的信號(hào)線?解:BOH= 10110000 B,可知8255A端口 A工作于方式1輸入,所以PC5 引腳的作用是IBFA,為1表示輸入緩沖器滿。11.6 11.2.2節(jié)用8255A端口 A方式0與打印機(jī)連接,如果釆用端口 B, 其他不變,請(qǐng)說(shuō)明應(yīng)該如何修改接口電路和程序。(參見(jiàn)p.253)解:連接圖中只要把端口 A改成端口 B即可。程序中控制方式字可作必要的修改,“mov al, 10000001B” 可以修改為 amov al,l

47、X X X0001B 只要保持C端口上部輸出、下部輸入即可,因?yàn)镻C7、PC2的連接沒(méi)有變; 端口 A任意、端口 B為方式0輸出,程序涉及端口 A的地方改為端口 B 的地址:“mov dx,0fff8h”必須修改數(shù)據(jù)口地址“mov dx,OfffAh”。11.7 11.2.3節(jié)用8255A端口 A方式1與打印機(jī)連接,如果采用端口 B,其 他不變,請(qǐng)說(shuō)明應(yīng)該如何修改接口電路和程序。(參見(jiàn)p.254)解提示:連寂圖中除了把端口 A改成端口 B,還要用PC。、PCh PC2分別取代 PCs、PC7、PC6o程序中也要作相應(yīng)的替換??刂品绞阶忠臑槎丝?B選 通輸出,即“mov al,OaOh”可以為

48、mov al,84H,端口 A任意、端口 B為 方式1輸出;設(shè)置PC6的地方改為設(shè)置PC2: “moval,0ch”改為04h;測(cè) 試PC7的地方改為測(cè)試PCI: test al, 80H”改為0211;程序涉及端口 A的 地方改為端口 B的地址:“mov dx,0fff8h”必須修改數(shù)據(jù)口地址mov dx,OfffAh ”。11.8 題略,參見(jiàn)p275圖11-22O解: 端口 C低端輸入、高端輸出,由于反相器的存在,輸出1時(shí)燈亮。假設(shè)端口 C和控制端口地址為OFFFCH和OFFFEH,;8255A初始化程序MOV AL, 81HMOV DX, OFFFEH OUT DX, ALMOV DX,

49、 OFFFCHINAL,DX;開(kāi)關(guān)閉合時(shí),輸入0MOVCL,4ROLAL,CL;低4位移至高4位NOT AL;取反,變0為1OUT DX, AL11.9設(shè)8255A的端口 B以方式1連接某輸入設(shè)備,其中斷請(qǐng)求信號(hào)引入 中斷控制器的IRQ3。要使CPU響應(yīng)外設(shè)的中斷請(qǐng)求,初始化時(shí)應(yīng)開(kāi) 放3級(jí)中斷,請(qǐng)編程說(shuō)明。提示:本題包含8255A和8259A的初始化,中斷服務(wù)程序中讀取端口 B 的輸入。8255A控制字:lxxxxllx部分解:;8255A的初始化MOV AL, 86HMOV DX, OFFFEHOUT DX, AL;8259A的初始化:(IRQs的中斷向量為OBH,對(duì)應(yīng)的ICW2為08H)M

50、OVAL,13H;ICW1OUT20H,ALMOVAL,08H;ICW2OUT21H,ALMOVAL,07H:ICW4OUT21H,AL;對(duì)應(yīng)中斷屏蔽字為1110111b中斷屏蔽位設(shè)置程序:INAL, 21H;讀出IMRANDAL, 0F7H;設(shè)置允許IRQ 3,其它位不影響OUT21H, AL;再寫入IMR即OCW111.12提示:書上已有程序段,只需將端口號(hào)218H21BH對(duì)應(yīng)到行列port, 再將程序連接完整,注意在最初,colport是PA為輸入,rowport是PB為 輸出,得到列值;反轉(zhuǎn)設(shè)置為PA為輸出,PB為輸入,然后得到行值; 最后組合在AX中。11.16題略.參見(jiàn)p.275mov dx, Offfbh ;初始化 8255Amov al, 89h;1000 1001bout dx, al:顯示子程序disp procpush axpush bxpush dxmov bx, offset LEDtbDJ:mov cl, Offli; cl記錄開(kāi)關(guān)位置07,此處為初值mov dx, Offfah ;PC 為輸入開(kāi)關(guān)口in al, dx

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論