李伯成《微型計算機原理及應(yīng)用》課后習題答案.doc
《李伯成《微型計算機原理及應(yīng)用》課后習題答案.doc》由會員分享,可在線閱讀,更多相關(guān)《李伯成《微型計算機原理及應(yīng)用》課后習題答案.doc(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。
李伯成微機原理習題 第一章本章作業(yè)參考書目: 薛鈞義主編 微型計算機原理與應(yīng)用Intel 80X86系列 機械工業(yè)出版社 2002年2月第一版 陸一倩 編 微型計算機原理及其應(yīng)用(十六位微型機)哈爾濱工業(yè)大學出版社 1994年8月第四版 王永山等 編 微型計算機原理與應(yīng)用 西安電子科技大學出版社 2000年9月1.1將下列二進制數(shù)轉(zhuǎn)換成十進制數(shù):X=10010110B=1*27+0*26+0*25+1*24+0*23+1*22+1*21 +0*21=128D+0D+0D+16D+0D+0D+4D+2D=150DX=101101100B=1*28+0*27+1*26+1*25+0*24+1*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*20=64D+32D+0D+8D+4D+0D+1D=109D1.2 將下列二進制小數(shù)轉(zhuǎn)換成十進制數(shù):(1) X=0.00111B= 0*2-1+0*2-2+1*2-3+1*2-4+1*2-5= 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.03125D=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將下列十進制整數(shù)轉(zhuǎn)換成二進制數(shù):(1)X=254D=11111110B (2)X=1039D=10000001111B (3)X=141D=10001101B1.4 將下列十進制小數(shù)轉(zhuǎn)換成二進制數(shù): (1) X=0.75D=0.11B (2) X=0.102 D=0.0001101B (3) X=0.6667D=0.101010101B1.5 將下列十進制數(shù)轉(zhuǎn)換成二進制數(shù) (1) 100.25D= 0110 0100.01H (2) 680.75D= 0010 1010 1000.11B1.6 將下列二進制數(shù)轉(zhuǎn)換成十進制數(shù) (1) X=1001101.1011B =77.6875D (2) X=111010.00101B= 58.15625D 1.7 將下列二進制數(shù)轉(zhuǎn)換成八進制數(shù) (1) X=101011101B=101011101B=535Q (2) X=1101111010010B=1101111010010B=15722Q (3) X=110B=6Q1.8 將下列八進制數(shù)轉(zhuǎn)換成二進制數(shù): (1) X=760Q=111110000B (2) X=32415Q=11010100001101B1.9 將下列二進制數(shù)轉(zhuǎn)換成十六進制數(shù):X=101 0101 1110 1101B= 5 5 E D HX= 11001101011001B= 11 0011 0101 1001B= 3 3 5 9HX= 1000110001B= 10 0011 0001 B= 2 3 1 H1.10 將下列十六進制數(shù)轉(zhuǎn)換成二進制數(shù):X= ABCH= 1010 1011 1100 BX=3A6F.FFH = 0011 1010 0110 1111.1111 1111BX= F1C3.4B =1111 0001 1100 0011 . 0100 1011B1.11 將下列二進制數(shù)轉(zhuǎn)換成BCD碼:(1) X= 1011011.101B= 1011011.101B= 91.625d=1001 0001.0110BCD (2) X=1010110.001B= 1010110.001 =126.1 BCD 1.12 將下列十進制數(shù)轉(zhuǎn)換成BCD碼: (1) X=1024D=0001 0000 0010 0100 BCD (2) X=632 = 0110 0011 0010 BCD (3) X= 103 = 0001 0000 0011 BCD1.13 寫出下列字符的ASCI I碼: A 41H 65D 0100 0001B 9 39H 47D * 2AH 42D = 3DH 45D ! 21H 33D1.14 若加上偶校驗碼,下列字符的ASCII碼是什么? 字符 原碼 加上偶校驗碼之后 B 42H, 0100 0010B 42H,0100 0010B 4 34H, 0011 0100B B4H,1011 0100B 7 37H, 0011 0111B B7H,1011 0111B = 3DH,0011 1101B BDH,1011 1101B ! 21H,0010 0001B 21H,0010 0001B ? 3FH 0011 1111B 3FH,0011 1111B1.15 加上奇校驗,上面的結(jié)果如何?字符 原碼 加上奇校驗碼之后B 42H, 0100 0010B C2H,1100 0010B 4 34H, 0011 0100B 34H,0011 0100B 7 37H, 0011 0111B 37H,0011 0111B = 3DH,0011 1101B 3DH,0011 1101B ! 21H,0010 0001B A1H,1010 0001B ? 3FH 0011 1111B BFH,1011 1111B1.16 計算下式: (1)B/2+ABH-11011001B*0.0101BCD=(42H/2+ABH-D9H)*0.21 BCD = = F3H*0.21 BCD =(-DH) *0.21 BCD= -2.73D (2) 3CH (84D)/(16Q)+8/8D= 60D-84D/14D+(56/8)=60D-13D=47D1.17 對下列十進制數(shù),用八位二進制數(shù)寫出其原碼、反碼和補碼: (正數(shù)的反碼與原碼相同,負數(shù)的反碼除符號位之外其余各位按位取反。正數(shù)的補碼與原碼相同;負數(shù)的補碼除符號位以外,其余各位按位取反之后再加一。) 數(shù)據(jù) 原碼 反碼 補碼 +99 0110 0011 0110 0011 0110 0011-99 1110 0011 1001 1100 1001 1101+127 0111 1111 0111 1111 0111 1111-127 1111 1111 1000 0000 1000 0001+0 0000 0000 0000 0000 0000 0000-0 1000 0000 1111 1111 0000 00001.18 8位二進制數(shù)原碼可表示數(shù)的范圍是 +127-128; 8位二進制數(shù)補碼可表示的數(shù)的范圍是 +127-127; 8位二進制數(shù)反碼可表示的數(shù)的范圍是:+127-128;1.19 16位二進制數(shù)的原碼、補碼、反碼可表示的數(shù)的范圍是多少?+32767-32768、+32767-32768、+32767-32768;1.20 至少寫出3種用二進制編碼狀態(tài)表示十進制數(shù)字的編碼方式。8421碼、 5421碼 2421碼 余3碼 十進制數(shù)0000 0000 0000 001100001 0001 0001 010010010 0010 1000 010120011 0011 1001 011030100 0100 1010 011140101 1000 1011 100050110 1001 1100 100160111 1010 1101 1010 7 1000 1011 1110 1011 8 1001 1100 1111 1100 9 李伯成微機原理習題 第二章 薛鈞義主編 微型計算機原理與應(yīng)用Intel 80X86系列 機械工業(yè)出版社 2002年2月第一版 陸一倩 編 微型計算機原理及其應(yīng)用(十六位微型機)哈爾濱工業(yè)大學出版社 1994年8月第四版 王永山等 編 微型計算機原理與應(yīng)用 西安電子科技大學出版社 2000年9月洪志全等 編 現(xiàn)代計算機接口技術(shù) 電子工業(yè)出版社 2002年4月仇玉章主編 32位微型計算機原理與接口技術(shù) 清華大學出版社 2000年9月 2.1 8086CPU的RESET引腳的功能是什么?答:RESET引腳稱為復(fù)位引腳,輸入、三態(tài)、高電平有效;RESET引腳將使CPU立即結(jié)束當前操作,處理器要求RESET信號至少要保持4個時鐘周期的高電平,才能結(jié)束它正在進行的操作。CPU復(fù)位以后,除了代碼段寄存器CS的值為FFFFH外,其余所有寄存器的值均為零,指令隊列為空。當RESET回到低電平時,CPU開始執(zhí)行“熱啟動”程序,由于此時CS的值為FFFFH,IP的值為0000H,所以CPU復(fù)位以后執(zhí)行的第一條指令的物理地址為 FFFF0H,該單元通常放置一條段間直接轉(zhuǎn)移指令JMP SS:OO,SS:OO即為系統(tǒng)程序的實際起始地址。2.2 在8086 CPU 工作在最小模式時,(1) 當CPU 訪問存儲器時,要利用哪些信號? 當CPU訪問存儲器時,要利用AD0AD15、WR*、RD*、IO/M*以及A16A19;(2) 當CPU訪問外設(shè)接口時,要利用哪些信號? 當CPU訪問外設(shè)接口時,同樣要利用AD0-AD15、WR*、RD*以及IO/M*,但不使用高端地址線A16-A19;(3)當HOLD有效并得到響應(yīng)時,CPU哪些引腳置高阻? 當HOLD有效并得到響應(yīng)時,CPU除HOLD、HOLDA引腳外其余所有的信號引腳均為高阻態(tài)。 2.3 略2.4 說明8086 CPU READY 信號的功能。見 P232.5 8086 CPU 的NMI和INTR引腳的不同有幾點?兩點:(1) INTR是可以由用戶用指令禁止的,(通過中斷允許標志IF的開-STI和關(guān)CLI進行);而NMI不能由用戶禁止;(2) INTR是可以區(qū)分優(yōu)先級別的,NMI是最高級的,沒有中斷優(yōu)先級的排隊。2.6 說明8086CPU內(nèi)部標志寄存器各位的含義。8086 CPU的標志寄存器(PSW或FLAG)共有9個標志位,分別是:CF (Carry Flag)- 進位或借位標志;PF (Parity Flag)- 奇偶標志;AF (auxiliary Flag)-半進位標志;ZF (Zero Flag) -結(jié)果為零標志;SF (Sign Flag) - 符號標志;OF (Overflow Flag)-溢出標志;IF (Interrupt Enable Flag)-中斷允許標志;DF (Direction Flag) - 方向標志;TF (Trap Flag) - 陷阱標志。 2.7 說明8086CPU內(nèi)部14個寄存器的作用。8086內(nèi)部的寄存器可以分為3類:第一類:通用寄存器:AX、BX、CX、DX、SI、DI、SP、BP,共8個可以存儲數(shù)據(jù)或者地址的低16位;AX、BX、CX和DX可以分成8個8位的寄存器使用;SI、DI又稱變址寄存器,用于存儲變址地址;SP和BP存放指針變量值。第二類:段寄存器:CS、DS、SS、ES,共4個寄存器,只能存放對應(yīng)段的段地址;第三類為IP和FLAG,IP在通常情況下不允許用戶訪問,而FLAG是用以向用戶提供了解ALU工作狀態(tài)或者控制CPU工作方式的標志寄存器。 2.8 試畫出8086CPU工作在最小模式時的總線形成示意圖。(注:BHE*引腳為34腳-即SS0,參見P25狀態(tài)編碼表)四點說明:A、MN/MX端接+5V,決定了8086工作在最小模式。 B、有一片8234A,作為 時鐘發(fā)生器。 C、有三片8282或74LS373,用來作為 地址鎖存器。 D、當系統(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/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的S2S0三條狀態(tài)信號引線提供。李伯成微機原理習題 第三章本章作業(yè)參考書目:1.周明德: 微型計算機IBM-PC系統(tǒng)原理與應(yīng)用 清華大學出版社 19912.王永山等: 微型計算機原理與應(yīng)用 西安電子科大出版社 19983.張懷蓮: IBMPC匯編語言程序設(shè)計 電子工業(yè)出版社 1990注:本習題解中的程序僅為代碼片段,可在Emu8086 version 2.57環(huán)境下仿真運行,如果在MASM下進行匯編,需添加段設(shè)置以及相應(yīng)的偽指令。3.1 MOVAX,00H;立即尋址SUB AX,AX;寄存器尋址MOVAX,BX;寄存器間接尋址MOVAX,TABLE;直接尋址MOVAL,ARAY1SI;寄存器相對尋址 MOVAX,BX+6;寄存器相對尋址3.2 若1KB的數(shù)據(jù)存放在TABLE以下,試編寫程序?qū)⒃摂?shù)據(jù)拌到NEXT之下。 程序片段如下: ORG 100hMOVCX,03FFH;數(shù)據(jù)個數(shù)LEASI,TABLE;源區(qū)首地址LEADI,NEXT; 目的區(qū)首地址AGAIN:MOVAL,SI;MOVDI,AL; 搬移INC SIINC DI; 移動地址指針DECCX; 循環(huán)計數(shù)器遞減JNZ AGAIN; 循環(huán)未結(jié)束轉(zhuǎn)HLT; 暫停TABLE DB 1024 dup (A); 源數(shù)據(jù)區(qū)NEXTDB 1024 dup (0);目的數(shù)據(jù)區(qū)3.3 編寫10個字(16位二進制數(shù))之和的程序ORG 100hLEASI,ADD1;LEADI,ADD2;LEABX,SUM;MOVCL,CONT;MOVCH,0; 循環(huán)初始化CLC;進位清零MADD1:MOVAX,SI;讀加數(shù)1ADCAX,DIADDSI,2;移動源區(qū)地址指針ADDDI,2;移動目的區(qū)地址指針MOVBX,AX;回存計算結(jié)果ADDBX,2;移動“和”存儲區(qū)地址指針LOOPMADD1;循環(huán)控制HLT;暫停ADD1DB 0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;加數(shù)1ADD2DB 56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H; 加數(shù)2SUMDB 10 DUP (0); 和存儲單元CONT DB5 ; 循環(huán)次數(shù)3.4 某16位二進制數(shù),放在DATA連續(xù)的兩個單元中,試編程求其平方根和余數(shù),將其分別存放在ANS和REMAIN中。ORG 100hMOVBL,2; 除數(shù)初值A(chǔ)GAIN:MOVCX,NUM;預(yù)計最大循環(huán)次數(shù)MOVAL,BL;0、1的平方根除外MULBL; 得到2的平方CMPAX,CX;大于原始數(shù)據(jù)么?JGEXIT;若原始數(shù)據(jù)小于4轉(zhuǎn)EXITMOVAX,CX;讀數(shù)DIVBL;試除INCBL;除數(shù)遞增JMPAGAIN;繼續(xù)除EXIT:DECBL;去除除數(shù)自加MOVANS,BL;存商MOVAL,BL;恢復(fù)余數(shù)MULBL; SUBCX,AX;MOVREMAIN,CL;HLTNUMDW7;ANSDB ?;REMAINDB?;3.5 在DATA1之下順序存放著以ASCII碼表示的千位數(shù),將其轉(zhuǎn)換成二進制數(shù)。MOVCL,4;移位次數(shù)MOVCH,CL;循環(huán)次數(shù)MOVSI,OFFSET ASCBINCLDXORAX,AXXORDX,DXASCB1:LODSB ANDAL,7FHCMPAL,0;不大于0結(jié)束轉(zhuǎn)換JLERRCMPAL,9JGASCB2;大于9轉(zhuǎn)ASCB2SUBAL,30H; 數(shù)字形式二進制數(shù)減30HJMPASCB3ASCB2:CMPAL,A;大于9又小于A結(jié)束轉(zhuǎn)換JLERRCMPAL,FJGERR;大于F為不合理數(shù),結(jié)束轉(zhuǎn)換SUBAL,37H;字符形式ASCII數(shù)減37HASCB3:ORDL,ALROLDX,CLDECCHJNZASCB1ROLDX,CLMOVBIN,DX;存儲轉(zhuǎn)換結(jié)果ERR:NOPHLTASCBINDB 1,B,4,3BINDW ?3.7 編寫程序?qū)OLT中的一個8位數(shù)乘以20,乘積放在ANS中(用3種方式)。解:第一種方法:常規(guī)乘法運算ORG 100hMOVAL,MOLTMOVBL,20MULBLMOVANS,AXHLTMOLTDB 2ANSDW?第二種方法,將MOLT連加20次ORG 100hMOVCX,20MOVBX,MOLTXORAX,AXCLCADD1:ADCAX,BXLOOPADD1MOVANS,AXHLTMOLT DW 5ANSDW?第三種方法,將“20”連加MOLT次ORG 100hMOVCX,MOLTMOVBX,20XORAX,AXCLCADD1:ADCAX,BXLOOPADD1MOVANS,AXHLTMOLT DW 5ANSDW?3.8在DATA之下存放100個無符號的8位數(shù),找出其最大者并將其存放在KVFF單元。ORG 100hXORDL,DLLEADI,KVFF;NEXT0:LEASI,BUFFER;MOVCL,99;比較次數(shù)為N-1次NEXT1:MOVAL,SI;INCSI;CMPDL,AL; JNCNEXT2;MOVDL,AL;DL中始終存目前最大值NEXT2:DECCL;JNZNEXT1; MOVDI,DL; 最大值存儲HLTBUFFER DB ;自行定義100個數(shù)據(jù)KVFF DB ?3.9 若將數(shù)據(jù)按大小順序排序,試編寫程序.解:此處采用 “冒泡法”予以處理:ORG 100hLEADI,BUFFER;數(shù)據(jù)區(qū)MOVBL,99; 外循環(huán)次數(shù)NEXT0:MOVSI,DI;MOVCL,BL;內(nèi)循環(huán)次數(shù)NEXT3:MOVAL,SI;讀數(shù)INCSI; 移動指針CMPAL,SI;比較JNCNEXT5;大于轉(zhuǎn)NEXT5MOVDL,SI;MOVSI-1,DL;MOVSI,AL;不大于互換NEXT5:DECCL;內(nèi)循環(huán)次數(shù)減一JNZNEXT3;DECBL;外循環(huán)次數(shù)減一JNZNEXT0HLTBUFFER DB 自行定義100個字節(jié)型數(shù)據(jù)3.10 在BVFF單元中有一個BCD數(shù)A,試根據(jù)下列關(guān)系編寫程序,計算結(jié)果存在DES中.A20,Y=3*A; A=60,Y=80.ORG 100hMOVAL,BVFFCMPAL,20JLEX1CMPAL,60JLEX2MOVAL,80JMPSTOPEX1:MOVBL,3MULBLJMPSTOPEX2:SUBAL,20STOP:MOVDES,ALHLTBVFFDB 8DESDB ?3.11址為DATAB開始的80個單元中,存放某班80個學生的某課程成績,要求:統(tǒng)計=90分、8089分、7079分、6069分、60分以下的人數(shù),結(jié)果存放在BTRX開始的5個單元中求平均成績,結(jié)果存放在LEVEL中。解:寄存器使用分配:90分以上在DH,80分以上在DL,70分以上在BH,60分以上在BL,60分以下在AH,總分、均分都在DI。ORG 100hXORAH,AHXORDX,DX;統(tǒng)計結(jié)果清零XORBX,BX ;統(tǒng)計結(jié)果清零LEASI,DATALEADI,LEVELMOVCL,CONT; 總?cè)藬?shù)送循環(huán)計數(shù)器 CXgoon:MOVAL,SI ;讀原始數(shù)據(jù)ADCDI, AL;累加總分 ADCDI+1,0;計算進位 CMPAL,90 JL PP8 ; 不高于90分者轉(zhuǎn)PP8 INCDH ; 90-100分的人數(shù)加一 JMPSTORPP8:CMPAL,80JL PP7;不高于80分轉(zhuǎn)PP7INCDL;80-89分的人數(shù)加一JMPSTORPP7:CMP AL,70JLPP6;不高于70分者轉(zhuǎn)PP6INC BH;70-79分的人數(shù)加一JMPSTORPP6:CMPAL,60JLPP5;不高于60分者轉(zhuǎn)PP5INC BL;60-69分的人數(shù)加一JMPSTORPP5:INCAH;低于60分的人數(shù)加一STOR: INC SI;讀下一個分數(shù)LOOPGOON;CX=CX-1,CX不為零轉(zhuǎn)GOON,繼續(xù)統(tǒng)計LEASI,BUFFER;回存統(tǒng)計結(jié)果MOVSI,DHINCSIMOVSI,DLINCSIMOVSI,BHINCSIMOVSI,BLINCSIMOVSI,AHMOVAX,WORD PTR DI;計算平均成績MOVCL,CONTDIVCLMOVLEVEL,AL;回存平均成績HLT CONTDB 10 DATA DB 30,65,99,80,75, 89,100,45,60,70 BUFFER DB ?,?,?,?,? LEVELDB ? ,?3.12 求兩個有符號數(shù)(DATA1,DATA2)差的絕對值,結(jié)果存入DATA3.ORG 100h MOVAL,DATA1;讀入被減數(shù) SUBAL,DATA2;減去減數(shù) JC CHANGE; JMPSTOR CHANGE:NEGALSTOR: MOVDATA3,AL HLT DATA1DB3 DATA2DB 5 DATA3DB?3.13 存從40000H到4BFFH的個單元均寫入55H,并再逐個讀出,驗證是否一致,若一致,置AL為7EH,否則置AL為81H.ORG 100h MOVAX,4000H; MOVDS,AX; MOVSI,0 START:MOVCX,0BFFFH BEGIN:MOVSI,55H MOVAL,SI INCSI CMPAL,55H JNZERR LOOP BEGIN MOVAL,7EH JMPSTOP ERR:MOVAL,81H STOP:HLT3.143.15 端口03FBH的BIT5為狀態(tài)標志,當該位為1時,表示外設(shè)忙,不能接收數(shù)據(jù);當為0時,表示外設(shè)閑,可以接收數(shù)據(jù);當CPU向端口03F8H寫入一個字節(jié)的數(shù)據(jù)時,03FBH的BIT5置1,當它變?yōu)?狀態(tài)時,又可以寫入下一個數(shù)據(jù)。據(jù)此編寫將起始地址為SEDAT的50個數(shù)據(jù)輸出到03F8H端口的程序。 WAIT:MOVDX,03FBHINAL,DXTESTAL,0010 0000B;(20H)JZSENDJMPWAITSEND:MOVDX,3F8HMOVAL,SI;CMPAL,0AH;輸出字串結(jié)束標志符JZSTOPOUTDX,ALJMPWAITSTOP:HLT3.16 口02E0H的BIT2和BIT5同時為1,表示端口02E7H有一個字節(jié)型數(shù)據(jù)準備好可以用以輸入,當CPU從該端口讀入數(shù)據(jù)后,02E0端口的BIT2和BIT5就不再同時為1;只有當02E7H端口的數(shù)據(jù)再次準備好時,它們才會再次同時為1,據(jù)此編寫從02E7H端口輸入32個數(shù)據(jù)然后存入A1000H單元開始的區(qū)域。MOVAX,0A000HMOVDS,AXMOVSI,1000H;設(shè)置存儲區(qū)地址MOVCL,20H;輸入數(shù)據(jù)個數(shù)BEGIN:MOVDX,0E20HINAL,DXTESTAL,0010 0100B;測試狀態(tài)位 BIT5、BIT2JZBEGIN;不同時為1繼續(xù)測試MOVDX,02E7HINAL,DX;輸入數(shù)據(jù)MOVSI,AL;存到指定區(qū)域INCSI;移動地址指針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,3FFFHCLD REPMOVSB HLT 3.18 上題的基礎(chǔ)上,將兩個區(qū)域的數(shù)據(jù)逐個進行比較,若有錯將BL置0,全對將BL置FFH。MOVAX,4000HMOVDS,AXMOVAX,A000HMOVES,AXMOVSI,0MOVDI,0MOVCX,03FFHCLD AAB:CMPSBJNZSTOPLOOPAAB MOVBL,0FFHJMPEX1STOP:MOVBL,0;EX1: NOP HLT3.19 統(tǒng)計由40000H單元開始的16K個單元中所存字符A的個數(shù),統(tǒng)計結(jié)果存放在DX寄存器中。 MOVAX,4000HMOVDS,AXMOVSI,0;MOVCX,3FFFH;數(shù)據(jù)個數(shù)MOVDX,0;統(tǒng)計結(jié)果寄存器清零 XOR DX,DXCLD AAB:LODSBCMPAL,A;比較JZAAC;字符為A轉(zhuǎn)計數(shù)LOOPAAB;循環(huán)JMPSTOP;處理完畢轉(zhuǎn)結(jié)束AAC:INCDX;統(tǒng)計結(jié)果加1DECCX;循環(huán)次數(shù)減1JCXNZAAB;CX0繼續(xù)STOP:HLT3.20 編寫對AL中的數(shù)據(jù)進行“偶校驗”的一個過程,并將校驗結(jié)果放入AL寄存器。PJYPROC NEARPUSHAXPUSHBXPUSHCXPUSHDXMOVAL,DATANDAL,ALJNPPJY1MOVAL,00H;表示為偶JMPEXITPJY1:MOVAL,F(xiàn)FH;表示為奇EXIT:POPDXPOPCXPOPBXPOPAXRET PJYENDPDATDB ?3.21對80000H開始的256個單元的數(shù)據(jù)加上偶校驗。 ORG 100hMOVAX,8000HMOVDS,AXMOVSI,0MOVCX,100HCLDPAR0:LODSB;(MOVAL,SI ;INCSI)TESTAL,ALJNPPAR1LOOP PAR0JMPSTOPPAR1:ORAL,80H;MOVSI-1,ALDECCXJNZPAR0STOP:HLT4-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片;盡管題目要求只需要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,遠遠超過題目的要求。4.2 利用全地址譯碼將6264接在8088的系統(tǒng)總線上,其所占的地址范圍為BE000HBFFFFH,試畫出連接圖。 解答:6264有13根地址線,連接時接到系統(tǒng)總線的低13位,即A0A12, 其他7根地址線A19A13的 地址譯碼輸入應(yīng)該為:1011 111 B,故而有如下的連接: 4.3 試利用6264 芯片,在8088系統(tǒng)總線上實現(xiàn)0000H03FFFH的內(nèi)存區(qū)域,試畫出電路連接圖。 解答:0000H03FFFH的地址范圍為214=16K, ,而6264芯片的容量為8*8K, 所以需要連接2片,其中,第一片的地址為00000H01FFFH,第二片的地址為02000H03FFFH,這里用74LS138的Y0、Y1 作為兩個芯片的片選。 4.4 敘述EPROM的編程過程,說明EEPROM的編程過程。 EPROM編程通常采用兩種模式:標準編程和快速編程: 標準編程是在VCC、VPP、CE、OE、地址信號、數(shù)據(jù)信號有效并穩(wěn)定后加入50毫秒的PGM編程負脈沖,可以在寫入一個數(shù)據(jù)后使OE變高而立即校驗,也可以在所有數(shù)據(jù)寫入后逐一校驗。標準編程有兩大缺陷:一是時間過長,比如2764全片編程約需7分鐘,時間過長;再是編程脈沖寬度稍大容易造成芯片因功耗過大而燒毀??焖倬幊虒GM的寬度減小到100微妙左右,顯然速度加快了500倍左右。能否使用快速編程取決于芯片的型號。EEPROM 由于可以在線擦除信息,所以可以單字節(jié)編程或自動按頁編程。在單字節(jié)寫入時,CE為低,OE為高,在WE加入100納秒的負脈沖,寫入時間包括擦除原有內(nèi)容和寫入新內(nèi)容的時間,一般為10毫秒以內(nèi),可以通過查詢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,試編寫此檢測程序。解答:電路連接如圖示:檢測程序定義為一個過程,編程如下: CHKRAM PROC FARPUSHSI;PUSHDL;PUSHCX;PUSHAX; MOVCX,10000H;待檢驗的單元個數(shù)MOVSI,4000H; 存儲體段地址MOVDS,SI;MOVSI,0000H;存儲體首地址 CHK:MOVAL,0FFH; MOVSI,AL;寫入檢驗數(shù)據(jù)FFH MOVAL,SI;讀出ADDAL,01HJNZRAMERR MOV AL,0; MOVSI,AL; 寫入另一格檢驗數(shù)據(jù) MOVAL,SI;讀出 AND AL,AL JNZRAMERR MOV DL,0EEH;所有單元全對 JMPRAMCHKOUTRAMERR:MOVDL, 01H; 發(fā)現(xiàn)錯誤單元RAMCHKOUT:POPAX;POPCX;POP DL;POP SI; 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?解答:從40000H到BBFFFH的地址空間應(yīng)該為 BBFFFH-40000H= 7BFFFH 每K為210,即3FFH,7BFFFH/3FFH=1F0H=496D 所以,該地址空間的范圍應(yīng)該為496KByte。 4.8 試判斷8088系統(tǒng)中存儲器譯碼器74LS138的輸出Y0、Y4、Y6和Y7所決定的內(nèi)存地址范圍,電路連接見附圖。解答:根據(jù)示意圖,A19、A18、A17、A16 的電平值為 1X00B,由于采用的是部分譯碼(A18未使用),所以每個地址譯碼輸出對應(yīng)的兩個地址范圍。Y0對應(yīng) A15、A14、A13 均為0,所以其地址范圍應(yīng)該為: 當A18=0時,地址范圍為:1000 0000 0000 0000 1000 0001 1111 1111 1111 B 即80000H 81FFFH 當 A18=1時,地址范圍為: 1100 0000 0000 0000 1100 0001 1111 1111 1111B 即C0000H C1FFFFHY4 對應(yīng)的 A15、A14、A13 為 100,所以其地址范圍應(yīng)該為:當A18=0 時,地址范圍為:1000 1000 0000 0000 0000B 1000 1001 1111 1111 1111B 即88000H 89FFFH當A18=1時,地址范圍為:1100 1000 0000 0000 0000 1100 1001 1111 1111 1111B 即C8000HC9FFFHY6 對應(yīng)的A15、A14、A13 為110,所以其地址范圍為: 當A18=0時,地址范圍為:1000 1100 0000 0000 0000B 1000 1101 1111 1111 1111B 即 8C000H 8DFFFH 當A18=1 時,地址范圍為:1100 1100 0000 0000 0000 B 1100 1101 1111 1111 1111B 即CC000HCDFFFHY7 對應(yīng)的A15、A14、A14為111,所以其地址范圍為:當 A18=0時,地址范圍為: 1000 1110 0000 0000 0000B 1000 1111 1111 1111 1111B 即 8E000H 8FFFFH當 A18=1 時,地址范圍為:1100 1110 0000 0000 0000B 1100 1111 1111 1111 1111 B 即CE000HCFFFFH。 李伯成微機原理習題 第五章本章作業(yè)參考書目:1. 王永山等: 微型計算機原理與應(yīng)用 西安電子科大出版社 19983. 洪志全等 編 現(xiàn)代計算機接口技術(shù) 電子工業(yè)出版社 2002年4月5-1 滿足那些條件8086CPU才能響應(yīng)中斷源的中斷請求?參考答案: 8088/8086的中斷承認需要滿足4個條件:(1) 一條指令執(zhí)行之后-因為8088/8086CPU只在指令周期的最后一個時鐘周期檢測INTR信號;(2) 中斷允許標志IF=1;(3) 沒有發(fā)生 NMI、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 是中斷類型號(中斷向量碼);當該指令執(zhí)行時,CPU 根據(jù)中斷向量碼的數(shù)值在中斷向量表(IDT-Interrupt Direction Table)找到相應(yīng)的中斷服務(wù)程序入口地址,在對CS 、IP和FLAG進行入棧保護之后,進而轉(zhuǎn)向指定程序的運行。5-3 用三態(tài)門 74LS244 作為輸入接口,接口地址規(guī)定為04E5H,試畫出其與8088的總線連接圖。解:根據(jù)題意,當?shù)刂肪€上的電平為 0000 0100 1110 0101 且IOR信號為低(IOR低電平有效)時,74LS244的門控信號E1、E2應(yīng)該為低,據(jù)此畫出下列電路:5-4 利用具有三態(tài)輸出的鎖存器74LS374 作為輸出接口,就接口地址為0E504H,試畫出連接圖。若5-3題中的輸入接口的BIT3、BIT4、BIT7同時為1時,將DATA為首地址的10個內(nèi)存數(shù)據(jù)連續(xù)由輸出接口輸出。若不滿足則等待,試編寫程序。解:根據(jù)題意,當?shù)刂肪€上的電平為 1110 0101 0000 0100 且IOW信號為低(IOW低電平有效)時,74LS374的時鐘端CP 應(yīng)該為低,而 74LS374的OE始終為低,據(jù)此畫出下列電路:根據(jù)題5-3和題5-4 電路,如果題5-3電路中的BIT3、BIT4 和BIT7 同時為1,則將以DATA為首地址的10個數(shù)據(jù)連續(xù)由0E504H輸出口輸出,不滿足條件等待,對應(yīng)的程序段如下: OUTWAIT : MOVDX,04E5HIN AL,DXTEST AL,98H;10011000BJZOUTWAIT;MOVSI,OFFSETDATA MOVCL,0AH;數(shù)據(jù)個數(shù)MOVDX,0E504HOUTPUT:MOVAL,SIIN- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
32 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 微型計算機原理及應(yīng)用 李伯成 微型計算機 原理 應(yīng)用 課后 習題 答案
鏈接地址:http://m.italysoccerbets.com/p-1727561.html