李伯成《微型計算機原理及應(yīng)用》1課后習(xí)題答案_第1頁
李伯成《微型計算機原理及應(yīng)用》1課后習(xí)題答案_第2頁
李伯成《微型計算機原理及應(yīng)用》1課后習(xí)題答案_第3頁
李伯成《微型計算機原理及應(yīng)用》1課后習(xí)題答案_第4頁
李伯成《微型計算機原理及應(yīng)用》1課后習(xí)題答案_第5頁
免費預(yù)覽已結(jié)束,剩余31頁可下載查看

下載本文檔

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

文檔簡介

1、李伯成微機原理習(xí)題 第一章本章作業(yè)參考書目: 薛鈞義主編 微型計算機原理與應(yīng)用 Intel 80X86 系列機械工業(yè)出版社2002年 2月第一版 陸一倩 編 微型計算機原理及其應(yīng)用(十六位微型機)哈爾濱工業(yè)大學(xué)出版社1994 年 8 月第四版 王永山等 編 微型計算機原理與應(yīng)用西安電子科技大學(xué)出版社2000年 9月1.1 將下列二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù):X=10010110B=1*27+0*26+0*25+1*24+0*23+1*22+1*21+0*2 =128D+0D+0D+16D+0D+0D+4D+2D=150DX=101101100B=1*28+0*27+1*26+1*25+0*24+1*

2、23+1*22+0*21+0*20 =256D+0D+64D+32D+0D+16D+4D+0D=364DX=1101101B=1*26+1*25+0*24+1*23+1*22+0*21+1*2 =64D+32D+0D+8D+4D+0D+1D=109D1.2 將下列二進(jìn)制小數(shù)轉(zhuǎn)換成十進(jìn)制數(shù):1)X=0.00111B=-50*2-1+0*2-2+1*2-3+1*2-4+1*2 0D+0D+0.125D+0.0625D+0.03125D=0.21875D(2) X=0.11011B=1*2-1+1*2-2+0*2-3+1*2-4+1*2-5=0.5D+0.25D+0D+0.0625D+0.03125

3、D=0.84375D(3) X=0.101101B=1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6= 0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D1.3 將下列十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):1) X=254D=11111110B2) X=1039D=10000001111B3) X=141D=10001101B1.4 將下列十進(jìn)制小數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):(1) X=0.75D=0.11B(2) X=0.102 D=0.0001101B(3) X=0.6667D=0.101010101B1.5 將下列十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)(1) 10

4、0.25D= 0110 0100.01H(2) 680.75D= 0010 1010 1000.11B1.6 將下列二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)(1) X=1001101.1011B =77.6875D(2) X=111010.00101B= 58.15625D1.7 將下列二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)(1) X=101011101B=101 011 1B0=1535Q(2) X=11B=1 101 111 010 010B=15722Q(3) X=110B=6Q1.8 將下列八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):( 1) X=760Q=111'110'000B(2) X=32415Q=11'0

5、10'100'001'101B1.9 將下列二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù):X=101 0101 1110 1101B= 5 5 E D HX= 1100110101'1001B= 11 0011 0101 1001B= 3 3 5 9HX= 1000110001B= 10 0011 0001 B= 2 3 1 H1.10 將下列十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):X= ABCH= 1010 1011 1100 BX=3A6F.FFH = 0011 1010 0110 1111.1111 1111BX= F1C3.4B =1111 0001 1100 0011 . 0100 1

6、011B1.11 將下列二進(jìn)制數(shù)轉(zhuǎn)換成BCD 碼:(1) X= 1011011.101B= 1'011'011.101B= 91.625d=1001 0001.0110BCD(2) X=1010110.001B= 1 010 110.001 =1B2C6D.11.12 將下列十進(jìn)制數(shù)轉(zhuǎn)換成BCD 碼:1) X=1024D=0001 0000 0010 0100BCD2) X=632 = 0110 0011 0010BCD3) X= 103 = 0001 0000 0011BCD1.13 寫出下列字符的A 41H939H* 2AH= 3DHASCI I 碼:65D0100 000

7、1B47D42D1.14 若加上偶校驗碼,下列字符的加上奇校驗碼之后C2H , 1100 0010B34H , 0011 0100B37H , 0011 0111B3DH , 0011 1101BA1H , 1010 0001B45D字符原碼加上偶校驗碼之后B42H, 0100 0010B42H, 0100 0010B434H , 0011 0100BB4H , 1011 0100B737H , 0011 0111BB7H , 1011 0111B=3DH , 0011 1101BBDH , 1011 1101B!21H , 0010 0001B21H, 0010 0001B?3FH 0011

8、 1111B3FH , 0011 1111B21H33DASCII 碼是什么?1.15 加上奇校驗,上面的結(jié)果如何?字符原碼B42H ,0100 0010B434H ,00110100B737H ,00110111B=3DH,00111101B!21H , 0010 0001BBFH , 1011 1111B?3FH 0011 1111B1.16 計算下式:1) B /2+AB-1H1011001B*0.0101BCD=(42H/2+ABH-D9H)*0.21 BCD = F3H*0.21 BCD =(-DH) *0.21 BCD= -2.73D(2) 3CH -(84D)/(16Q)+/8D

9、=-6804DD/14D+(56/8)=60D-13D=47D1.17 對下列十進(jìn)制數(shù),用八位二進(jìn)制數(shù)寫出其原碼、反碼和補碼:(正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼除符號位之外其余各位按位取負(fù)數(shù)的補碼除符號位以外,反。 正數(shù)的補碼與原碼相同;再加一。 )數(shù)據(jù)原碼+990110 0011- 991110 0011+1270111 1111- 1271111 1111+00000 0000- 01000 0000反碼0110 00111001 11000111 11111000 0000 0000 00001111 1111其余各位按位取反之后補碼0110 00111001 11010111 1111

10、1000 00010000 00000000 00001.18 8位二進(jìn)制數(shù)原碼可表示數(shù)的范圍是+127-128;8 位二進(jìn)制數(shù)補碼可表示的數(shù)的范圍是+127-127;8 位二進(jìn)制數(shù)反碼可表示的數(shù)的范圍是:+127-128;1.19 16位二進(jìn)制數(shù)的原碼、補碼、反碼可表示的數(shù)的范圍是多少?+32767-32768、 +32767-32768、 +32767-32768;1.20 至少寫出 3 種用二進(jìn)制編碼狀態(tài)表示十進(jìn)制數(shù)字的編碼方式。8421 碼、5421 碼2421 碼余3碼十進(jìn)制數(shù)000000000000001100001000100010100100100010100001012001

11、10011100101103010001001010011140101100010111000501101001110010016011110101101101071000101111101011810011100111111009李伯成微機原理習(xí)題 第二章 薛鈞義主編 微型計算機原理與應(yīng)用 Intel 80X86 系列機械工業(yè)出版社2002年 2 月第一版 陸一倩 編 微型計算機原理及其應(yīng)用 (十六位微型機)哈爾濱工業(yè)大學(xué)出版社1994 年 8 月第四版 王永山等 編年9月洪志全等編仇玉章主編術(shù)微型計算機原理與應(yīng)用西安電子科技大學(xué)出版社2000現(xiàn)代計算機接口技術(shù)電子工業(yè)出版社2002年 4

12、月 32 位微型計算機原理與接口技清華大學(xué)出版社2000年 9 月2.1 8086CPU的RESEEI腳的功能是什么?答:RESE丐I腳稱為復(fù)位引腳,輸入、三態(tài)、高電 平有效;RESE畫腳將使CPU立即結(jié)束當(dāng)前操作,處 理器要求RESET1號至少要保持4個時鐘周期的高電 平,才能結(jié)束它正在進(jìn)行的操作。CPU復(fù)位以后,除了代碼段寄存器CS的值為FFFF心卜,其余所有寄存器 的值均為零,指令隊列為空。當(dāng)RESE旭到低電平時,CPUFF始執(zhí)行 熱啟動”程 序,由于此時CS的值為FFFFH IP的值為0000H,所 以 CPU 復(fù)位以后執(zhí)行的第一條指令的物理地址為FFFF0H該單元通常放置一條段間直接

13、轉(zhuǎn)移指令JMPSS: OO SS: OCW為系統(tǒng)程序的實際起始地址。2.2 在 8086 CPU 工作在最小模式時,(1)當(dāng)CPU訪問存儲器時,要利用哪些信號?當(dāng)CPU訪問存儲器時,要利用 AD0AD15WR* RD弋 IO/M* 以及 A16A19(2)當(dāng)CPUf問外設(shè)接口時,要利用哪些信號?當(dāng) CPU 訪 問 外 設(shè) 接 口 時 , 同 樣 要 利 用AD0-AD15、WR* RD以及IO/M* ,但不使用高端地址線A16-A19 ;(3)當(dāng)HOLM效并得到響應(yīng)時,CPU哪些引腳置高阻?當(dāng)HOLDF效并得至U響應(yīng)時,CPlM HOLDHOLDA 引腳外其余所有的信號引腳均為高阻態(tài)。2.3

14、略2.4 說明8086 CPU READY常號的功能。見 P232.5 8086 CPU 的NMI和INTR引腳的不同有幾點?兩點:( 1) INTR 是可以由用戶用指令禁止的,(通過中斷允許標(biāo)志IF 的開 -STI 和關(guān) CLI 進(jìn)行);而NMI不能由用戶禁止;(2) INTR是可以區(qū)分優(yōu)先級別的,NMI是最高級的,沒有中斷優(yōu)先級的排隊。2.6 說明8086CPU3部標(biāo)志寄存器各位的含義。8086 CPU的標(biāo)志寄存器(PSW或FLAG共有9個標(biāo)志位,分別是:CF ( Carry Flag ) - 進(jìn)位或借位標(biāo)志;PF ( Parity Flag ) - 奇偶標(biāo)志;AF ( auxiliary

15、 Flag ) 半進(jìn)位標(biāo)志;ZF ( Zero Flag ) 結(jié)果為零標(biāo)志;SF (Sign Flag) 符號標(biāo)志;OF ( Overflow Flag ) 溢出標(biāo)志;IF( Interrupt Enable Flag ) 中斷允許標(biāo)志;DF (Direction Flag) 方向標(biāo)志;TF (Trap Flag) 陷阱標(biāo)志。2.7 說明8086CPU3部14個寄存器的作用。8086 內(nèi)部的寄存器可以分為 3 類:第一類:通用寄存器:AX BX CX DX SI、DI、SR BP,共 8 個可以存 儲數(shù)據(jù)或者地址的低16位;AX BX CX和DX可以分 成 8 個 8 位的寄存器使用; SI

16、、 DI 又稱變址寄存器, 用于存儲變址地址;SP和BP存放指針變量值。第二類:段寄存器:CS DS SS ES,共4個寄存器,只能存放對應(yīng)段 的段地址;第三類為 IP 和 FLAG, IP 在通常情況下不允許用戶訪問,而FLAGM用以向用戶提供了解 ALU工作狀態(tài)或 者控制CPUX作方式的標(biāo)志寄存器。2.8 試畫出8086CPUE作在最小模式時的總線形成示 意圖。(注:BHE引腳為34腳一 即SSQ參見P25狀態(tài)編碼表)REMET四點說明:+ 5V收發(fā)鑿 82SS OE-。二汽)T 工可選:CUL8Q格6ALE EHEA19 - AidADl A EODEN 口丁廣底RESET < R

17、EADYMN XTTK <WRiTTT5HOLDHLX1A IMTRINTA也恥懾在黯 8282STE(三次)A、MN/M接接+5V,決定了 8086工作在最小模式B、有一片8234A作為時鐘發(fā)生器。C、 有三片8282 或 74LS373, 用來作為 地址鎖存器。D、 當(dāng)系統(tǒng)中所連接的存儲器和外設(shè)比較多時,需要增加系統(tǒng)數(shù)據(jù)總線的驅(qū)動能力, 這時,要用兩片8286/8287(74LS244 或 74LS245)作為總線收發(fā)器。2.9 8086/8088 為什么采用地址/ 數(shù)據(jù)引線復(fù)用技術(shù)?答:考慮到芯片成本, 8086/8088 采用 40 條引線的封裝結(jié)構(gòu)。 40 條引線引出 8086

18、/8088 的所有信號是不夠用的, 采用地址 / 數(shù)據(jù)線復(fù)用引線方法可以解決這一矛盾,從時序邏輯的角度,地址與數(shù)據(jù)信號不會同時出現(xiàn),二者可以分時復(fù)用同一組引線。2.10 怎樣確定 8086 的最大或最小工作模式?最大、最小模式產(chǎn)生控制信號的方法有何不同?答: 引線 MN/MX* 的邏輯狀態(tài)決定8086 的工作模式,MN/MX* 引線接高電平, 8086 被設(shè)定為最小模式;MN/MX* 引線接低電平,8086被設(shè)定為最大模式。最小模式下所有的控制信號由 CPU 相關(guān)引線直接提供;最大模式下控制信號由 8288 專用芯片譯碼后提供,8288的輸入由8086的S2 S0三條狀態(tài)信號引線提 供。第三章

19、李伯成微機原理習(xí)題本章作業(yè)參考書目:1 .周明德:微型計算機舊M-PC系統(tǒng)原理與應(yīng)用清華大學(xué)出版社19912 .王永山等:微型計算機原理與應(yīng)用西安電子科大出版社19983 .張懷蓮:舊MPC匯編語言程序設(shè)計電子工業(yè)出版社1990注:本習(xí)題解中的程序僅為代螞片段,國在Emu8086 version 2.57環(huán)噫下傳真運彳亍,如果在MASM.1進(jìn)行匯緘,需添加段一設(shè)置以及相應(yīng).的偽指令?.3.1MOV AX , 00H;SUB AX , AX ;MOV AX , BX;MOV AX , TABLE ;MOV AL , ARAY1SI;立即尋址寄存器尋址寄存器間接尋址直接尋址寄存器相對尋址寄存器相對

20、尋址MOV AX , BX+6;3.2若1KB的數(shù)據(jù)存放在 TABLE以下,試編寫程序?qū)⒃摂?shù)據(jù)拌到NEXT之下。;源區(qū)首地址目的區(qū)首地址搬移移動地址指針循環(huán)計數(shù)器遞減循環(huán)未結(jié)束轉(zhuǎn)暫停程序片段如下:ORG 100hMOV CX,03FFH ;數(shù)據(jù)個數(shù)LEASI,TABLELEADI,NEXTAGAIN: MOV AL,SI;MOVDI,AL ;INC SIINC DI ;DEC CX ;JNZ AGAIN ;HLT ;TABLE DB 1024 dup ('A'); 源數(shù)據(jù)區(qū)NEXT DB 1024 dup (0);目的數(shù)據(jù)區(qū)3.3編寫10個字(16位二進(jìn)制數(shù))之和的程序ORG

21、100hLEA SI,ADD1;LEADI,ADD2;LEABX,SUM;MOV CL,CONT;MOVCLC ;CH,0;循環(huán)初始化 進(jìn)位清零MADD1: M OV AX,SI ;讀加數(shù)1ADCAX,DIADDSI,2;移動源區(qū)地址指針ADDDI,2;移動目的區(qū)地址指針MOVBX,AX; 回存計算結(jié)果ADDBX,2;移動 “和 ”存儲區(qū)地址指針LOOPMADD1; 循環(huán)控制HLT ;暫停ADD1 DB 0FEH,86H,7CH,44h,56H,1FH, 24H , 01H , 02H , 33H ;加數(shù) 1ADD2 DB 56H,49H,4EH,0FH,9CH,22H , 45H , 11H

22、 , 45H , 21H ; 加數(shù) 2SUM DB 10 DUP (0) ; 和存儲單元DATA 連續(xù)的兩個單元中,試編程求其平方根和余數(shù),將其分 中。CONT DB 5 ; 循環(huán)次數(shù)3.4 某 16位二進(jìn)制數(shù),放在別存放在 ANS 和 REMAINEXIT:DIV BL;試除INC BL;除數(shù)遞增JMPAGAIN;繼續(xù)除DECBL;去除除數(shù)自加MOVANS,BL;存商MOVAL,BL;恢復(fù)余數(shù)MULBL;MOVBL,2;除數(shù)初值CX,NUM;預(yù)計最大循環(huán)次數(shù)MOVAL,BL;0 、 1 的平方根除外MULBL;得到 2 的平方CMPAX,CX;大于原始數(shù)據(jù)么?JGEXIT;若原始數(shù)據(jù)小于 4

23、 轉(zhuǎn) EXITMOVAX,CX;讀數(shù)ORG 100hAGAIN: MOVSUB CX,AX;MOV REMAIN,CL;HLTNUM DW 7;ANSDB ?;REMAIN DB ?;3.5 在 DATA1 之下順序存放著以 ASCII 碼表示的千位數(shù),將其轉(zhuǎn)換成二進(jìn)制數(shù)。MOVCL,4;移位次數(shù)MOVCH,CL; 循環(huán)次數(shù)MOVCLDSI,OFFSET ASCBINXORAX,AXXORDX,DXASCB1: LODSBANDAL,7FHCMPAL,'0'不大于 0結(jié)束轉(zhuǎn)換JLERRCMPAL,'9'JGASCB2;大于 9轉(zhuǎn) ASCB2SUB AL,30H;

24、 數(shù)字形式二進(jìn)制數(shù)減30HJMPASCB3ASCB2: CMPAL,'A'大于反小于閶束轉(zhuǎn)換JLERRCMPAL,'F'JGERR;大于叨不合理數(shù),結(jié)束轉(zhuǎn)換SUBAL,37H;字符形式ASCII 數(shù)減 37HASCB3: ORDL,ALROLDX,CLDECCHJNZASCB1ROLDX,CLMOVBIN,DX ;存儲轉(zhuǎn)換結(jié)果ERR:NOPHLTASCBIN DB '1','B,'4','3'BIN DW ?3.7 編寫程序?qū)OLT 中的一個 8 位數(shù)乘以20,乘積放在ANS 中(用 3 種方式)。解:第

25、一種方法:常規(guī)乘法運ORG 100hMOVAL,MOLTMOVBL,20MUL BLMOV ANS,AXHLTMOLT DB 2第二種方法,將MOLT 連加 20 次ORG 100hMOV CX,20MOV BX,MOLTXOR AX,AXCLCADD1:ADC AX,BXLOOP ADD1MOV ANS,AXHLTMOLT DW 5ANSDW ?第三種方法,將“ 20”連加 MOLT 次ORG 100hMOV CX,MOLTMOV BX,20 XOR AX,AX CLCADD1:ADC AX,BXLOOP ADD1MOV ANS,AXHLTMOLT DW 5ANSDW ?KVFF 單3.8

26、在 DATA 之下存放 100個無符號的 8 位數(shù),找出其最大者并將其存放在 元。ORG 100hXOR DL,DLLEADI,KVFF;NEXT0: LEASI,BUFFER;MOVCL,99;NEXT1: MOV AL,SI;INCSI;CMPDL,AL;JNC NEXT2;MOVDL,AL;NEXT2: DEC CL;JNZ NEXT1;MOV DI,DL;HLT比較次數(shù)為 N-1 次DL 中始終存目前最大值最大值存儲BUFFER DB ;自行定義100 個數(shù)據(jù)KVFF DB ?3.9 若將數(shù)據(jù)按大小順序排序,試編寫程序解:此處采用“冒泡法 ”予以處理 :ORG 100hLEA DI,B

27、UFFER; 數(shù)據(jù)區(qū)MOV BL,99; 外循環(huán)次數(shù)NEXT0:MOVSI,DI;MOV CL,BL; 內(nèi)循環(huán)次數(shù)NEXT3:MOVAL,SI; 讀數(shù)INC SI;移動指針CMP AL,SI; 比較JNC N EXT5; 大于轉(zhuǎn) NEXT5MOV DL,SI;MOV SI-1,DL;MOV SI,AL; 不大于互換NEXT5:DEC CL; 內(nèi)循環(huán)次數(shù)減一JNZNEXT3;DECBL; 外循環(huán)次數(shù)減一JNZ NEXT0HLTBUFFER DB 自行定義 100個字節(jié)型數(shù)據(jù)3.10 在BVFF單元中有一個BCD數(shù)A,試根據(jù)下列關(guān)系編寫程序,計算結(jié)果存在DES中.A<20,Y=3*A;A&l

28、t;60,Y=A-20;A>=60,Y=80.ORG 100hMOV AL,BVFFCMP AL,20JL EX1CMP AL,60JL EX2MOV AL,80JMP STOPEX1:MOV BL,3MUL BLJMP STOPEX2:SUB AL,20STOP: MOV DES,ALHLTBVFF DB 8DES DB ?3.11 址為 DATAB 開始的 80 個單元中 ,存放某班 80 個學(xué)生的某課程成績,要求 :統(tǒng)計 >=90 分、 8089 分、 7079 分、 6069 分、 60 分以下的人數(shù),結(jié)果存放在BTRX 開始的 5 個單元中求平均成績,結(jié)果存放在LEVEL

29、 中。解:寄存器使用分配: 90 分以上在 DH , 80 分以上在 DL , 70 分以上在 BH , 60 分以上在 BL , 60 分以下在 AH ,總分、均分都在DI 。ORG 100hXOR AH,AH; 統(tǒng)計結(jié)果清零; 統(tǒng)計結(jié)果清零總?cè)藬?shù)送循環(huán)計數(shù)器CX; 讀原始數(shù)據(jù)XOR DX,DXXOR BX,BXLEASI,DATALEADI,LEVELMOV CL,CONT;goon: MOV AL,SIADC DI, AL; 累加總分ADC DI+1,0 ;計算進(jìn)位CMP AL,90JL PP8; 不高于 90 分者轉(zhuǎn) PP8INC DH ;90-100 分的人數(shù)加一JMP STORPP

30、8:CMPAL,80PP7:JLPP7; 不高于80 分轉(zhuǎn) PP7INC DL;8089 分的人數(shù)加一JMPSTORCMP AL,70PP6:JL PP6INCJMPCMP; 不高于70 分者轉(zhuǎn)PP6BH;70-79 分的人數(shù)加一STORAL,60PP5:JL PP5INCJMPINC AH; 不高于60 分者轉(zhuǎn)PP5BL;60-69 分的人數(shù)加一STOR; 低于 60 分的人數(shù)加一STOR:INCSI; 讀下一個分?jǐn)?shù)LOOPGOON;CX=CX-1,CX 不為零轉(zhuǎn) GOON, 繼續(xù)統(tǒng)計LEASI,BUFFER ; 回存統(tǒng)計結(jié)果MOVSI,DHINC SIMOV SI,DLINC SIMOV

31、SI,BHINC SIMOV SI,BLINC SIMOV SI,AHMOV AX,WORD PTR DI ; 計算平均成績MOV CL,CONTDIV CLMOV LEVEL,AL ; 回存平均成績HLTCONT DB 10DATA DB 30,65,99,80,75,89,100,45,60,70BUFFER DB ?,?,?,?,?LEVEL DB ? ,?DATA3.3.12 求兩個有符號數(shù) (DATA1,DATA2) 差的絕對值,結(jié)果存入ORG 100hMOV AL,DATA1 ;讀入被減數(shù)SUB A L,DATA2 ;減去減數(shù) JC CHANGE ;JMPSTORCHANGE:NE

32、GALSTOR:MOVDATA3,ALHLTDATA1 DB3DATA2 DB 5DATA3 DB?3.13 存從40000H到4BFFH的個單元均寫入 55H,并再逐個讀出,驗證是否一致,若一致,置 AL 為 7EH, 否則置 AL 為 81H.ORG 100hMOV AX,4000H;MOV DS,AX;MOV SI,0START: M OVCX,0BFFFHBEGIN: MOVSI,55HMOV AL,SIINC SICMP AL,55HJNZ ERRLOOP BEGINMOV AL,7EHJMP STOPERR:MOV AL,81HSTOP:HLT3.14 3.15 端口 03FBH

33、的 BIT5 為狀態(tài)標(biāo)志,當(dāng)該位為1 時,表示外設(shè)忙,不能接收數(shù)據(jù); 當(dāng)為 0 時 ,表示外設(shè)閑,可以接收數(shù)據(jù); 當(dāng) CPU 向端口 03F8H 寫入一個字節(jié)的數(shù)據(jù)時,03FBH 的BIT5 置 1,當(dāng)它變?yōu)?0 狀態(tài)時 ,又可以寫入下一個數(shù)據(jù)。據(jù)此編寫將起始地址為 SEDAT 的 50個數(shù)據(jù)輸出到 03F8H 端口的程序。WAIT : MOV DX , 03FBH IN AL , DX TEST AL , 0010 0000B;( 20H) JZ SENDJMPWAITSEND :MOVDX,3F8HMOVAL,SI ;CMPAL,0AH ;輸出字串結(jié)束標(biāo)志符JZ STOPOUTDX,ALJ

34、MP WAITSTOP : HLT3.16口 02E0H 的 BIT2 和 BIT5 同時為1,表示端口02E7H 有一個字節(jié)型數(shù)據(jù)準(zhǔn)備好可以用以輸入, 當(dāng) CPU 從該端口讀入數(shù)據(jù)后, 02E0 端口的 BIT2 和 BIT5 就不再同時為1;只有當(dāng) 02E7H 端口的數(shù)據(jù)再次準(zhǔn)備好時,它們才會再次同時為 1,據(jù)此編寫從02E7H端口輸入 32 個數(shù)據(jù)然后存入 A1000H 單元開始的區(qū)域。MOVDS,AXMOVSI,1000H;MOVCL ,20H ;MOV AX , 0A000H設(shè)置存儲區(qū)地址輸入數(shù)據(jù)個數(shù)BEGIN : MOV DX , 0E20HIN AL , DXTEST AL ,

35、0010 0100B ; 測試狀態(tài)位BIT5 、 BIT2JZ BEGIN ;不同時為 1 繼續(xù)測試MOV DX , 02E7HIN AL , DX ;輸入數(shù)據(jù)MOV SI , AL ; 存到指定區(qū)域INC SI ;移動地址指針LOOP BEGIN ; 循環(huán)HLT3.17 在內(nèi)存 40000H 開始的 16K 的單元中存放著一組數(shù)據(jù),將其順序搬移到起始地址為 A0000H 的區(qū)域。解:利用字符串操作指令MOVSB , 16K 即 16*1024=3FFFH 。MOVAX , 4000HMOVDS ,AXMOVAX ,A000HMOVES ,AXMOVSI ,0MOVDI ,0MOVCX , 3

36、FFFHCLD REPMOVSBHLT3.18 上題的基礎(chǔ)上,將兩個區(qū)域的數(shù)據(jù)逐個進(jìn)行比較,若有錯將BL 置 0 ,全對將BL 置FFH 。MOVAX ,4000HMOVDS , AXMOVAX ,A000HMOVES , AXMOVSI, 0MOVDI , 0MOVCX , 03FFHCLDAAB : CMPSBJNZSTOPLOOPAABMOVBL , 0FFHJMPEX1STOP : MOV BL , 0 ;EX1 : NOPHLT3.19 統(tǒng)計由 40000H 單元開始的16K個單兀中所存字符 A勺個數(shù),統(tǒng)計結(jié)果存放在存器中。MOVAX , 4000HMOVDS , AXMOVSI ,

37、 0;MOVCX , 3FFFH ;數(shù)據(jù)個數(shù)MOVDX , 0;統(tǒng)計結(jié)果寄存器清零XORDX,DXCLDAAB :LODSBCMPAL , A;比較JZ AAC;字符為'A專計數(shù)LOOPAAB ;循環(huán)JMPSTOP ; 處理完畢轉(zhuǎn)結(jié)束AAC :INC DX ;統(tǒng)計結(jié)果加1DECCX ;循環(huán)次數(shù)減1JCXNZAAB ;CX<>0 繼續(xù)STOP :HLT3.20 編寫對 AL中的數(shù)據(jù)進(jìn)行偶校驗” 的一個過程,并將校驗結(jié)果放入AL 寄存器。PJYPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXMOVAL , DATDX 寄AND AL , ALJNP PJY1MO

38、V AL , 00H ; 表示為偶JMP EXITPJY1 : MOV AL , FFH ; 表示為奇EXIT : POP DXPOP CXPOP BXPOP AXRETPJY ENDPDAT DB ?3.21 對 80000H 開始的 256 個單元的數(shù)據(jù)加上偶校驗。PAR0:PAR1:ORG 100hMOVAX , 8000HMOVDS , AXMOV SI,0MOV CX,100HCLDLODSB ;( MOV AL , SI ; INCTEST AL,ALJNP PAR1LOOP PAR0JMP STOPOR AL,80H;MOVSI-1,ALDECCXJNZ PAR0SI )HLTS

39、TOP:4-1 某以8088為CPU的微型計算機內(nèi)存 RAM區(qū)為00000H 3FFFFH,若采用6264、62256、 2164或21256各需要多片芯片?解答: 8088內(nèi)存單元為8 bit,所以,從00000H到3FFFFH ,共需要214個byte,共 214*8bit,也就是共占用16K byte空間。由于各種芯片的數(shù)據(jù)總線根數(shù)不同,所以在連接時要 特別注意芯片的位數(shù);對于如下芯片:6264有8根數(shù)據(jù)線,13根地址線,故其容量為213*8bit,即8Kbyte,所以需要2片;62256有8根數(shù)據(jù)線,15根地址線,故其容量為215*8bit,即32 Kbyte,所以僅需要1片;盡管題目

40、要求只需要16K的空間,但在使用 62256時不得不使用1片。2164有8根數(shù)據(jù)線,12根地址線,故其容量為212*8bit,即4Kbyte,所以需要4片;21256有1根數(shù)據(jù)線,10根地址線(實際為20根,分兩組),但由于僅有一根數(shù)據(jù)線, 要構(gòu)成八位的存儲器至少需要8片,但總?cè)萘繛?*256Bit ,遠(yuǎn)遠(yuǎn)超過題目的要求。4.2利用全地址譯碼將 6264接在8088的系統(tǒng)總線上,其所占的地址范圍為BE000HBFFFFH ,試畫出連接圖。解答:6264有13根地址線,連接時接到系統(tǒng)總線的低13位,即A0A12 ,其他7根地址線A19A13的 地址譯碼輸入應(yīng)該為:1011 111 B,故而有如下

41、的連接:數(shù)據(jù)啟線二。D7 地址總線A0-A12A13 A14A15A16 A17 AIS A19VCC MEMW memr20A10AllA12OE 癥 CS2 csT出電路連接圖。解答:0000H03FFFH的地址范圍為214=16K,,而6264芯片的容量為8*8K ,所以 需要連接2片,其中,第一片的地址為00000H01FFFH ,第二片的地址為 02000H03FFFH ,這里用 74LS138的丫0、Y1作為兩個芯片的片選。MiAin質(zhì)吧呼3口 BEtlnh4.4 敘述EPROM的編程過程,說明 EEPROM的編程過程。EPROM編程通常采用兩種模式:標(biāo)準(zhǔn)編程和快速編程:標(biāo)準(zhǔn)編程是

42、在 VCC、VPP、CE、OE、地址信號、數(shù)據(jù)信號有效并穩(wěn)定后加入50毫秒的PGM編程負(fù)脈沖,可以在寫入一個數(shù)據(jù)后使OE變高而立即校驗,也可以在所有數(shù)據(jù)寫入后逐一校驗。標(biāo)準(zhǔn)編程有兩大缺陷: 一是時間過長,比如2764全片編程約需7分鐘,時間過長; 再是編程脈沖寬度稍大容易造成芯片因功耗過大而燒毀??焖倬幊虒GM的寬度減小到100微妙左右,顯然速度加快了500倍左右。能否使用快速編程取決于芯片的型號。EEPROM由于可以在線擦除信息,所以可以單字節(jié)編程或自動按頁編程。在單字節(jié)寫入時,CE為低,OE為高,在 WE加入100納秒的負(fù)脈沖,寫入時間10毫秒以內(nèi),可以通過查詢包括擦除原有內(nèi)容和寫入新內(nèi)

43、容的時間,一般為READY/BUSY 的狀態(tài)判定。自動按頁編程用高位線決定頁地址,低位線決定頁容量,然后一次寫入一頁內(nèi)容, 寫完后查詢READY/BUSY 狀態(tài),此一過程耗時在 300微秒左右,所以速度較快。4.5 已有兩片6116,現(xiàn)欲將其接到8088系統(tǒng)中去,其地址范圍為40000H40FFFH,試畫 出電路連接圖;寫入某數(shù)據(jù)并讀出與之比較,若有錯,則在 DL中寫入01H,若全對, 在DL中寫入EEH,試編寫此檢測程序。解答:電路連接如圖示::5¥1有小 mrsik :r£suLLDL.ADIADr檢測程序定義為一個過程,編程如下:CHKRAMPROCFARPUSHSI

44、;PUSHDL;PUSHCX;PUSHAX ;MOVCX , 10000H ; 待檢驗的單元個數(shù)MOVSI, 4000H ;存儲體段地址MOVDS, SI;MOVSI, 0000H;存儲體首地址CHK :MOVAL , 0FFH ;MOVSI , AL ;寫入檢驗數(shù)據(jù) FFHMOVAL, SI;讀出ADDAL , 01HJNZRAMERRMOVAL, 0;MOVSI, AL;寫入另一格檢驗數(shù)據(jù)MOVAL, SI;讀出ANDAL , ALJNZRAMERRMOVDL, 0EEH;所有單兀全對JMPRAMCHKOUTRAMERR :MOVDL, 01H;發(fā)現(xiàn)錯誤單元RAMCHKOUT :POPAX

45、 ;POPCX ;POPDL;POPSI;RETENDP CHKRAM4.6利用全地址譯碼將EPROM27128接到首地址為 A0000H的內(nèi)存區(qū),試畫出電路圖。解答:EPROM27128的容量為8* 16K,所以有14根地址線,那么如果將其接到首地址為A0000H內(nèi)存區(qū),高6位地址線的排列應(yīng)該為:1010 00B,所以有如下的連接: 一口。口了4.7 內(nèi)存地址從 40000H到BBFFFH共有多少 K?n- 1 2 2 4 5 E F 口???口>口口器僵般w囂端All器罌譚解答:從 40000H至U BBFFFH的地址空間應(yīng)該為 BBFFFH-40000H= 7BFFFH每 K 為

46、210,即 3FFH,7BFFFH/3FFH=1F0H=496D所以,該地址空間的范圍應(yīng)該為496KByte。4.8 試判斷8088系統(tǒng)中存儲器譯碼器 74LS138的輸出Y0、Y4、Y6和Y7所決定的內(nèi) 存地址范圍,電路連接見附圖。解答:MEV1W根據(jù)示意圖,A19、A18、A17、A16的電平值為 1X00B,由于采用的是部分譯碼(A18 未使用),所以每個地址譯碼輸出對應(yīng)的兩個地址范圍。Y0對應(yīng) A15、A14、A13均為0,所以其地址范圍應(yīng)該為:當(dāng)A18=0時,地址范圍為:1000 0000 0000 0000 1000 0001 1111 1111 1111 B 即 80000H 8

47、1FFFH當(dāng) A18=1時,地址范圍為:1100 0000 0000 0000 1100 0001 1111 1111 1111B 即 C0000H C1FFFFHY4 對應(yīng)的A15、A14、A13為100,所以其地址范圍應(yīng)該為:當(dāng)A18=0時,地址范圍為:1000 1000 0000 0000 0000B 1000 1001 1111 1111 1111B 即 88000H 89FFFH當(dāng)A18=1時,地址范圍為:1100 1000 0000 0000 0000 1100 1001 1111 1111 1111B即 C8000HC9FFFHY6 對應(yīng)的 A15、 A14、 A13 為 110

48、,所以其地址范圍為:當(dāng) A18=0 時,地址范圍為:1000 1100 0000 0000 0000B 1000 1101 1111 1111 1111B 即 8C000H 8DFFFH當(dāng) A18=1 時,地址范圍為:1100 1100 0000 0000 0000 B 1100 1101 1111 1111 1111B 即 CC000HCDFFFHY7 對應(yīng)的 A15、 A14、 A14 為 111,所以其地址范圍為:當(dāng) A18=0 時,地址范圍為:1000 1110 0000 0000 0000B 1000 1111 1111 1111 1111B 即 8E000H 8FFFFH當(dāng) A18

49、=1 時,地址范圍為:1100 1110 0000 0000 0000B 1100 1111 1111 1111 1111 B即CE000HCFFFFH 。李伯成微機原理習(xí)題 第五章本章作業(yè)參考書目:西安電子科大出版社1998電子工業(yè)出版社2002年4月1.王永山等:微型計算機原理與應(yīng)用3.洪志全等編現(xiàn)代計算機接口技術(shù)5-1 滿足那些條件8086CPU才能響應(yīng)中斷源的中斷請求?參考答案:8088/8086的中斷承認(rèn)需要滿足 4個條件:(1) 一條指令執(zhí)行之后 一因為8088/8086CPU只在指令周期的最后一個時鐘周期檢測INTR信號;(2) 中斷允許標(biāo)志IF=1 ;(3) 沒有發(fā)生 NMI、

50、HOLD 和 RESET ;(4)指令STI、IREI指令執(zhí)行之后須再執(zhí)行一條其他指令,但一些指令組合(如REP)要視為一個指令總體。5-2 說明8088/8086軟件中斷指令I(lǐng)NT n的執(zhí)行過程。由指令I(lǐng)NT n引起的中斷也稱為“異?!?,即軟件中斷或內(nèi)部中斷。這里, INT為 指令操作碼,n是中斷類型號(中斷向量碼);當(dāng)該指令執(zhí)行時,CPU根據(jù)中斷向量碼的數(shù)值在中斷向量表(IDT-Interrupt Direction Table )找到相應(yīng)的中斷服務(wù)程序入口地址, 在CS、IP和FLAG進(jìn)行入棧保護(hù)之后,進(jìn)而轉(zhuǎn)向指定程序的運行。5-3用三態(tài)門74LS244作為輸入接口,接口地址規(guī)定為04E5H ,試畫出其與8088的總線連接圖。解:根據(jù)題意,當(dāng)?shù)刂肪€上的電平為 0000 0100 1110 0101且IOR信號為低(IOR低 電平有效)時,74LS244的門控信號E1、E2應(yīng)該為低,據(jù)此畫出下列電路:M 1廣 瑜入亞琴教優(yōu)總線5-4利用具有三態(tài)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論