李伯成《微型計(jì)算機(jī)原理及應(yīng)用》課后習(xí)題答案_第1頁
李伯成《微型計(jì)算機(jī)原理及應(yīng)用》課后習(xí)題答案_第2頁
李伯成《微型計(jì)算機(jī)原理及應(yīng)用》課后習(xí)題答案_第3頁
李伯成《微型計(jì)算機(jī)原理及應(yīng)用》課后習(xí)題答案_第4頁
李伯成《微型計(jì)算機(jī)原理及應(yīng)用》課后習(xí)題答案_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

2、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=109D3.2 將下列二進(jìn)制小數(shù)轉(zhuǎn)換成十進(jì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*

3、2-3+1*2-4+0*2-5+1*2-6=0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D3.3 將下列十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):3.4 將下列十進(jìn)制小數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):(1) X=0.75D=0.11B(2) X=0.102D=0.0001101B3.5 將下列十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)(1) 100.25D=01100100.01H(2) 680.75D=001010101000.11B3.6 將下列二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)(1) X=1001101.1011B=77.6875D(2) X=111010.00101B=58.15625D3.7 將下列二

4、進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)101011101B=535Q1101111010010B=15722Q(3) X=110B=6Q3.8 將下列八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):( 1) X=760Q=111'110'000B( 2) X=32415Q=11'010'100'001'101B3.9 將下列二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù):X=101010111101101B=55EDH3.10 將下列十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):X=ABCH=101010111100BX=3A6F.FFH=0011101001101111.11111111BX=F1C3.4B=111100011

5、1000011.01001011B3.11 將下列二進(jìn)制數(shù)轉(zhuǎn)換成BCD®:(1) X=1011011.101B=1'011'011.101B=91.625d=10010001.0110BCD(2) X=1010110.001B=1010110.001=126.1BCD1.12將下列十進(jìn)制數(shù)轉(zhuǎn)換成BCM:1)X=1024D=0001000000100100BCD 2) X=632=011000110010BCD 3) 3)X=103=000100000011BCD1.13寫出下列字符的ASCII碼:A41H65D01000001B939H47D*2AH42D=3DH45

6、D!21H33D1.14若加上偶校驗(yàn)碼,下列字符的卜列字符的字符原碼ASCII 碼是什么?加上偶校驗(yàn)碼之后1.15加上奇校驗(yàn),上面的結(jié)果如何?字符B42H34H37H3DH21H3FH0100 0010B0011 0100B0011 0111B0011 1101B0010 0001B42H ,B4HB7HBDH21H0100 0010B42H34H37H3DH21H3FH0011 1111B 3FH上面的結(jié)果如何? 原碼1011 0100B1011 0111B1011 1101B0010 0001B0011 1111B加上奇校驗(yàn)碼之后0100 0010B0011 0100B0011 0111B

7、0011 1101B0010 0001B0011 1111BBFHC2H 34H 37H 3DH A1H1100 0010B0011 0100B0011 0111B0011 1101B1010 0001B1011 1111B1.16BCD=(42H/2+ABH-D9H)*0.21BCD=BCD= -2.73D=F3H*0.21BCD=(-DH)*0.21(2)3CH-(84D)/(16Q)+'8'/8D=60D-84D/14D+(56/8)=60D-13D=47D1.17對下列十進(jìn)制數(shù),用八位二進(jìn)制數(shù)寫出其原碼、反碼和補(bǔ)碼:(正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼除符號位之外其余各位

8、按位取反。正數(shù)的補(bǔ)碼與原碼相同;負(fù)數(shù)的補(bǔ)碼除符號位以外,其余各位按位取反之后再加一。)數(shù)據(jù)原碼反碼補(bǔ)碼+99011000110110001101100011- 99111000111001110010011101+127011111110111111101111111- 127111111111000000010000001+0000000000000000000000000- 01000000011111111000000001.188位二進(jìn)制數(shù)原碼可表示數(shù)的范圍是+127-128;8位二進(jìn)制數(shù)補(bǔ)碼可表示的數(shù)的范圍是+127-127;8位二進(jìn)制數(shù)反碼可表示的數(shù)的范圍是:+127-128;1.

9、1916位二進(jìn)制數(shù)的原碼、補(bǔ)碼、反碼可表示的數(shù)的范圍是多少?+32767-32768、+32767-32768、+32767-32768;1.20至少寫出3種用二進(jìn)制編碼狀態(tài)表示十進(jìn)制數(shù)字的編碼方式。8421碼、54212421碼余3碼十進(jìn)制數(shù)00000000000000110000100010001010010010001010000101200110011100101103010001001010011140101100010111000501101001110010016011110101101101071000101111101011810011100111111009李伯成微機(jī)原理習(xí)

10、題第二章 薛鈞義主編微型計(jì)算機(jī)原理與應(yīng)用Intel80X86系歹U機(jī)械工業(yè)出版社2002年2月第一版 陸一倩編微型計(jì)算機(jī)原理及其應(yīng)用(十六位微型機(jī))哈爾濱工業(yè)大學(xué)出版社1994年8月第四版 王永山等編微型計(jì)算機(jī)原理與應(yīng)用西安電子科技大學(xué)出版社2000年9月洪志全等編現(xiàn)代計(jì)算機(jī)接口技術(shù)電子工業(yè)出版社2002年4月仇玉章主編32位微型計(jì)算機(jī)原理與接口技術(shù)清華大學(xué)出版社2000年9月2.1 8086CPU的RESETS腳的功能是什么?答:RESE引腳稱為復(fù)位引腳,輸入、三態(tài)、高電平有效;RESEEI腳將使CPU&即結(jié)束當(dāng)前操作,處理器要求RESETB號至少要保持4個時鐘周期的高電平,才能結(jié)束

11、它正在進(jìn)行的操作。CPUM位以后,除了代碼段寄存器CS的值為FFFFH,其余所有寄存器的值均為零,指令隊(duì)列為空。當(dāng)RESETW低電平時,CPK始執(zhí)行“熱啟動”程序,由于此時CS的值為FFFFHIP的值為0000H,所以CPU復(fù)位以后執(zhí)行的第一條指令的物理地址為FFFF0H該單元通常放置一條段間直接轉(zhuǎn)移指令JMPSS:OO,SS:OO即為系統(tǒng)程序的實(shí)際起始地址。2.2 在8086CPU工作在最小模式時,( 1) 當(dāng)CPU訪問存儲器時,要利用哪些信號?當(dāng)CPUW問存儲器時,要利用AD0AD15WR*RD去IO/M*以及A16A19(2)當(dāng)CPUW問外設(shè)接口時,要利用哪些信號?當(dāng)CPUW問外設(shè)接口時

12、,同樣要利用AD0-AD15、WR*RD*及IO/M*,但不使用高端地址線A16-A19;(3)當(dāng)HOLDF效并得到響應(yīng)時,CPUW些引腳置高阻?當(dāng)HOLDW效并得至U響應(yīng)時,CPU除HOLDHOLDA引腳外其余所有的信號引腳均為高阻態(tài)。2.3 略2.4 說明8086CPUREADYB號的功能。見P232.5 8086CPU的NMI和INTR引腳的不同有幾點(diǎn)?兩點(diǎn):( 1) INTR是可以由用戶用指令禁止的,(通過中斷允許標(biāo)志IF的開-STI和關(guān)CLI進(jìn)行);而NMI不能由用戶禁止;(2)INTR是可以區(qū)分優(yōu)先級別的,NMI是最高級的,沒有中斷優(yōu)先級的排隊(duì)。2.6 說明8086CPU3部標(biāo)志寄

13、存器各位的含義。8086CPU的標(biāo)志寄存器(PSVWcFLAG共有9個標(biāo)志位,分別是:CF(CarryFlag)-進(jìn)位或借位標(biāo)志;PF(ParityFlag)-奇偶標(biāo)志;AF(auxiliaryFlag)半進(jìn)位標(biāo)志;ZF(ZeroFlag)結(jié)果為零標(biāo)志;SF(SignFlag)符號標(biāo)志;OF(OverflowFlag)溢出標(biāo)志;IF(InterruptEnableFlag)中斷允許標(biāo)志;DF(DirectionFlag)方向標(biāo)志;TF(TrapFlag)陷阱標(biāo)志。2.7 說明8086CPU3部14個寄存器的作用。8086內(nèi)部的寄存器可以分為3類:第一類:通用寄存器:AXBXCXDXSI、DI、

14、SRBP,共8個可以存儲數(shù)據(jù)或者地址的低16位;AXBXCX和DX可以分成8個8位的寄存器使用;SI、DI又稱變址寄存器,用于存儲變址地址;SP和BP存放指針變量值。第二類:段寄存器:CSDSSSES,共4個寄存器,只能存放對應(yīng)段的段地址;第三類為IP和FLAGIP在通常情況下不允許用戶訪問,而FLAB用以向用戶提供了解ALU工作狀態(tài)或者控制CPU工作方式的標(biāo)志寄存器。2.8 試畫出8086CPU工作在最小模式時的總線形成示意圖。(注:BHE引腳為34腳一即SSQ參見P25狀態(tài)編碼表)四點(diǎn)說明:AMN/MXB接+5V,決定了8086工作在最小模式。B、有一片8234A作為時鐘發(fā)生器。C有三片8

15、282或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/8088的所有信號是不夠用的,采用地址/數(shù)據(jù)線復(fù)用引線方法可以解決這一矛盾,從時序邏輯的角度,地址與數(shù)據(jù)信號不會同時出現(xiàn),二者可以分時復(fù)用同一組引線。2.10 怎樣確定8086的最大或最小工作模式?最大、最小模式產(chǎn)生控制信號的方法有何不同?答:引線MN/

16、MX的邏輯狀態(tài)決定8086的工作模式,MN/MX*引線接高電平,8086被設(shè)定為最小模式;MN/MX*|線接低電平,8086被設(shè)定為最大模式。最小模式下所有的控制信號由CPU1關(guān)引線直接提供;最大模式下控制信號由8288專用芯片譯碼后提供,8288的輸入由8086的S2-S0三條狀態(tài)信號引線提供。李伯成微機(jī)原理習(xí)題第三章本章作業(yè)參考書目:1 .周明德:微型計(jì)算機(jī)舊M-PC系統(tǒng)原理與應(yīng)用清華大學(xué)出版社19912 .王永山等:微型計(jì)算機(jī)原理與應(yīng)用1998西安電子科大出版社電子工業(yè)出版社1990Emu8086 version 2.57 環(huán)境下仿真MOV AX, SUB AX, MOV AX, MOV

17、 AX, MOV AL, MOV00H;AX;BX;TABLEARAY1SI;AX BX+6;3.1 若1KB的數(shù)據(jù)存放在立即尋址寄存器尋址寄存器間接尋址直接尋址寄存器相對尋址寄存器相對尋址TABLED下,試編寫程序?qū)⒃摂?shù)據(jù)拌到 NEX佗下。程序片段如下: ORG 100h MOVCXQ3FFH LEASI,TABLE; LEADI,NEXT;AGAIN: MOAL,SI;MOVDI,AL ;INC SI INC DI ;DECC天JNZ AGAIN ; HLT;數(shù)據(jù)個數(shù)源區(qū)首地址目的區(qū)首地址搬移移動地址指針TABLE DB 1024 dup ('A')NEXT DB 1024

18、 dup (0);循環(huán)計(jì)數(shù)器遞減 循環(huán)未結(jié)束轉(zhuǎn) 暫停源數(shù)據(jù)區(qū)目的數(shù)據(jù)區(qū)3 .張懷蓮:舊MPC匯編語言程序設(shè)計(jì)注:本習(xí)題解中的程序僅為代碼片段,可在運(yùn)行,如果在MASMF進(jìn)行匯編,需添加段設(shè)置以及相應(yīng)的偽指令。循環(huán)初始化進(jìn)位清零讀加數(shù)1移動源區(qū)地址指針移動目的區(qū)地址指針回存計(jì)算結(jié)果移動“和”存儲區(qū)地址指針3.2編寫10個字(16位二進(jìn)制數(shù))之和的程序ORG100hLEASI,ADD1;LEADI,ADD2;LEABX,SUM;MOVCL,CONT;MOVCH,0;CLGMADD1MO曬X,SI;ADCX,DIADDSI,2;ADDDI,2;MOVBX,AX;ADD3X,2;LOOPMADD;1循

19、環(huán)控制HLT;暫停ADD1DB0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;力口數(shù)1ADD2DB56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H;加數(shù)2SUMDB10DUP(0);和存儲單元CONTDB5;循環(huán)次數(shù)ORG 100hMOVBL,2;AGAIN: MOVCX,NUM;MOVAL,BL;MULBL;CMPAX,CX;JG EXIT;MOVAX,CX;3.4某16位二進(jìn)制數(shù),放在DATA連續(xù)的兩個單元中,試編程求其平方根和余數(shù),將其分別存放在AN序口REMAIN。除數(shù)初值預(yù)計(jì)最大循環(huán)次數(shù)0、1的平方根除外得到2的平方大于

20、原始數(shù)據(jù)么?若原始數(shù)據(jù)小于4轉(zhuǎn)EXIT讀數(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)換成二進(jìn)制數(shù)。MOVCL,4;移位次數(shù)MOVCH,CL;循環(huán)次數(shù)MOVSI,OFFSETASCBINCLDXORAX,AXXORDX,DXASCB1:LODSBANDAL,7FHCMPAL,'0'不大于0結(jié)束轉(zhuǎn)換JLER

21、RCMPAL,'9'JGASCB2;大于9轉(zhuǎn)ASCB2SUBAL,30H;數(shù)字形式二進(jìn)制數(shù)減30HJMPASCB3ASCB2:CMPAL,'A'大于9'又小于,A結(jié)束轉(zhuǎn)換JLERRCMPAL,'F'JGERR;大于F'為不合理數(shù),結(jié)束轉(zhuǎn)換SUBAL,37H;字符形式ASCII數(shù)減37HASCB3:ORDL,ALROLDX,CLDECCHJNZASCB1ROLDX,CLMOWIN,DX;存儲轉(zhuǎn)換結(jié)果ERR:NOPHLTASCBINDB'1','B,'4','3'BINDW?3.

22、7 編寫程序?qū)OLTH勺一個8位數(shù)乘以20,乘積放在ANS中(用3種方式)解:第一種方法:常規(guī)乘法運(yùn)算ORG100hMOVAL,MOLTMOVBL,20MULBLMOVANS,AXHLTMOLTDB2ANSDW?第二種方法,將MOLT1加20次ORG100hMOVCX,20MOVBX,MOLTXORAX,AXCLCADD1:ADCAX,BXLOOPADD1MOVANS,AXHLTMOLTDW5ANSDW?第三種方法,將“20”連加MOL砍ORG100hMOVCX,MOLTMOVBX,20XORAX,AXCLCADD1:ADCAX,BXLOOPADD1MOVANS,AXHLTMOLTDW5AN

23、SDW?3.8 在DATA之下存放100個無符號的8位數(shù),找出其最大者并將其存放在KVFF單元。ORG100hXORDL,DLLEADI,KVFF;NEXT0:LEASI,BUFFER;DL 中始終存目前最大值N-1 次MOVCL,99;NEXT1:MOVAL,SI;INCSI;CMPDL,AL;JNCNEXT2;MOVDL,AL;NEXT2:DECCL;JNZNEXT1;MOV DI,DL;HLTBUFFER DB ;自行定義KVFF DB ?3.9 若將數(shù)據(jù)按大小順序排序100 個數(shù)據(jù), 試編寫程序最大值存儲解 : 此處采用冒泡法”予以處理ORG 100hLEADI,BUFFER;NEXT

24、0:NEXT3:MOVBL,99;MOVSI,DI;MOVCL,BL;MOVAL,SI;INCSI;數(shù)據(jù)區(qū) 外循環(huán)次數(shù)內(nèi)循環(huán)次數(shù)讀數(shù)移動指針CMPAL,SI;比較JNCNEXT5;大于轉(zhuǎn)NEXT5MOVDL,SI;MOVSI-1,DL;MOVSI,AL;不大于互換NEXT5:DECCL;內(nèi)循環(huán)次數(shù)減一JNZNEXT3;DECBL;外循環(huán)次數(shù)減一JNZNEXT0HLTBUFFERDB自行定義100個字節(jié)型數(shù)據(jù)3.10 在BVFF單元中有一個BCD數(shù)A,試根據(jù)下列關(guān)系編寫程序,計(jì)算結(jié)果存在DES中.A<20,Y=3*A;A<60,Y=A-20;A>=60,Y=80.ORG100h

25、MOVAL,BVFFCMPAL,20JLEX1CMPAL,60JLEX2MOVAL,80JMPSTOPEX1:MOVBL,3MULBLJMPSTOPEX2:SUBAL,20STOP:MOVDES,ALHLTBVFFDB8DESDB?3.11 址為DATA/始的80個單元中,存放某班80個學(xué)生的某課程成績,要求:統(tǒng)計(jì)>=90分、8089分、7079分、6069分、60分以下的人數(shù),結(jié)果存放在BTRXff始的5個單元中求平均成績,結(jié)果存放在LEVEL中。解:寄存器使用分配:90分以上在DH,80分以上在DL,70分以上在BH,60分以上在BL,60分以下在AH,總分、士分都在DI0ORG10

26、0hXORAH,AHXORDX,DX;統(tǒng)計(jì)結(jié)果清零XORBX,BX;統(tǒng)計(jì)結(jié)果清零LEASI,DATALEADI,LEVELMOVCL,CONT;總?cè)藬?shù)送循環(huán)計(jì)數(shù)器CXgoon:MOVAL,SI;讀原始數(shù)據(jù)ADCDI,AL;累加總分ADCDI+1,0;計(jì)算進(jìn)位CMPAL,90JLPP8;不高于90分者轉(zhuǎn)PP8INCDH;90-100分的人數(shù)加一JMPSTORPP8:CMPAL,80JLPP7;不高于80分轉(zhuǎn)PP7INCDL;8089分的人數(shù)加一JMPSTORPP7:CMPAL,70JLPP6;不高于70分者轉(zhuǎn)PP6INCBH;70-79分的人數(shù)加一JMPSTORPP6:CMPAL,60JLPP5

27、;不高于60分者轉(zhuǎn)PP5INCBL;60-69分的人數(shù)加一JMPSTORPP5:INCAH;低于60分的人數(shù)加一STOR: INC SI; 讀下一個分?jǐn)?shù)LOOPGOON;CX=CX-1,CX不為零轉(zhuǎn)GOONB續(xù)統(tǒng)計(jì)LEASI,BUFFER;回存統(tǒng)計(jì)結(jié)果MOVSI,DHINCSIMOVSI,DLINCSIMOVSI,BHINCSIMOVSI,BLINCSIMOVSI,AHMOVAX,WORDPTRDI;計(jì)算平均成績MOVCL,CONTDIVCLMOVLEVEL,AL;回存平均成績HLTCONTDB10DATADB30,65,99,80,75,89,100,45,60,70BUFFERDB?,?,

28、?,?,?LEVELDB?,?3.12 求兩個有符號數(shù)(DATA1,DATA2廢的絕對值,結(jié)果存入DATA3.ORG100hMOML,DATA1;讀入被減數(shù)SUBAL,DATA2;減去減數(shù)JCCHANGE;JMPSTORCHANGE:NEGALSTOR:MOVDATA3,ALHLTDATA1DB3DATA2DB5DATA3DB?3.13 存從40000H到4BFFH的個單元均寫入55H,并再逐個讀出,驗(yàn)證是否一致,若一致,置AL為7EH,否則置AL為81H.ORG100hMOVAX,4000H;MOVDS,AX;MOVSI,0START:MOVCX,0BFFFHBEGIN:MOVSI,55HM

29、OVAL,SIINCSICMPAL,55HJNZERRLOOPBEGINMOVAL,7EHJMPSTOPERR:MOVAL,81HSTOP:HLT3.14 3.15端口03FBH的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)?狀態(tài)時,又可以寫入下一個數(shù)據(jù)。據(jù)此編寫將起始地址為SEDAT勺50個數(shù)據(jù)輸出到03F8H端口的程序。WAIT:MOVDX,03FBHINAL,DXTESTAL,00100000B;(20H)JZSENDJMPWAITSEND:MOVDX,3F

30、8HMOVAL,SI;CMAL,0AHH輸出字串結(jié)束標(biāo)志符JZSTOPOUTDX,ALJMPWAITSTOP: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ū)域。MOVAX,0A000HMOVDS,AXMOVSI,1000H;設(shè)置存儲區(qū)地址MOVCL,20H;輸入數(shù)據(jù)個數(shù)BEGIN:MOVDX,0E20HINAL,DXTEST

31、AL,00100100B;測試狀態(tài)位BIT5、BIT2JZBEGIN;不同時為1繼續(xù)測試MOVDX,02E7HINAL,DX;輸入數(shù)據(jù)MOVSI,AL;存到指定區(qū)域INCSI;移動地址指針LOOPBEGIN;循環(huán)HLT3.17 在內(nèi)存40000H開始的16K的單元中存放著一組數(shù)據(jù),將其順序搬移到起始地址為A0000H的區(qū)域。解:利用字符串操作指令MOVSB16K即16*1024=3FFFHMOVAX,4000HMOVDS,AXMOVAX,A000HMOVES,AXMOVSI,0MOVDI,0MOVCX,3FFFHCLDREPMOVSBHLT3.18 上題的基礎(chǔ)上,將兩個區(qū)域的數(shù)據(jù)逐個進(jìn)行比較,

32、若有錯將BL置0,全對將BL置FFH。MOVAX,4000HMOVDS,AXMOVAX,A000HMOVES,AXMOVSI,0MOVDI,0MOVCX,03FFHCLDAAB:CMPSBJNZSTOPLOOPAABMOVBL,0FFHJMPEX1STOP:MOVBL,0;EX1:NOPHLT3.19 統(tǒng)計(jì)由40000H單元開始的16K個單元中所存字符'A的個數(shù),統(tǒng)計(jì)結(jié)果存放在DX寄存器中。MOVAX,4000HMOVDS,AXMOVSI,0;MOVCX,3FFFH;數(shù)據(jù)個數(shù)MOVDX,0;統(tǒng)計(jì)結(jié)果寄存器清零XORDX,DXCLDAAB:LODSBCMPAL,A;比較JZAAC;字符為

33、A'轉(zhuǎn)計(jì)數(shù)LOOPAAB;循環(huán)JMPSTOP;處理完畢轉(zhuǎn)結(jié)束AAC:INCDX;統(tǒng)計(jì)結(jié)果加1DECCX;循環(huán)次數(shù)減1JCXNZAABCX<>0t續(xù)STOP:HLT3.20 編寫對AL中的數(shù)據(jù)進(jìn)行“偶校驗(yàn)”的一個過程,并將校驗(yàn)結(jié)果放入AL寄存器。PJYPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXMOVAL,DATANDAL,ALJNPPJY1MOVAL,00H;表示為偶JMPEXITPJY1:MOVAL,F(xiàn)FH;表示為奇EXIT:POPDXPOPCXPOPBXPOPAXRETPJYENDPDATDB?3.21 對80000H開始的256個單元的數(shù)據(jù)加上偶校

34、驗(yàn)。ORG100hMOVAX,8000HMOVDS,AXMOVSI,0MOVCX,100HCLDPAR0:LODSB;(MOVAL,SI;INCSI)TESTAL,ALJNPPAR1LOOPPAR0JMPSTOPPAR1:ORAL,80H;MOVSI-1,ALDECCXJNZPAR0STOP:HLT4-1某以8088為CPU勺微型計(jì)算機(jī)內(nèi)存RAMK為00000H3FFFFH若采用6264、62256、2164或21256各需要多片芯片?解答:8088內(nèi)存單元為8bit,所以,從00000H到3FFFFH共需要214個byte,共214*8bit,也就是共占用16Kbyte空間。由于各種芯片的數(shù)

35、據(jù)總線根數(shù)不同,所以在連接時要特別注意芯片的位數(shù);對于如下芯片:6264有8根數(shù)據(jù)線,13根地址線,故其容量為213*8bit,即8Kbyte,所以需要2片;62256有8根數(shù)據(jù)線,15根地址線,故其容量為215*8bit,即32Kbyte,所以僅需要1片;盡管題目要求只需要16K的空間,但在使用62256時不得不使用1片。2164有8根數(shù)據(jù)線,12根地址線,故其容量為212*8bit,即4Kbyte,所以需要4片;21256有1根數(shù)據(jù)線,10根地址線(實(shí)際為20根,分兩組),但由于僅有一根數(shù)據(jù)線,要構(gòu)成八位的存儲器至少需要8片,但總?cè)萘繛?*256Bit,遠(yuǎn)遠(yuǎn)超過題目的要求。4.2 利用全地

36、址譯碼將6264接在8088的系統(tǒng)總線上,其所占的地址范圍為BE000HBFFFFH試畫出連接圖。解答:6264有13根地址線,連接時接到系統(tǒng)總線的低13位,即A0A12,其他7根地址線A19A13的地址譯碼輸入應(yīng)該為:1011111B,故而有如下的連接:4.3 試?yán)?264芯片,在8088系統(tǒng)總線上實(shí)現(xiàn)0000H03FFFH勺內(nèi)存區(qū)域,試畫出電路連接圖。解答:0000H03FFFH勺地址范圍為214=16K,,而6264芯片的容量為8*8K,所以需要連接2片,其中,第一片的地址為00000H01FFFH第二片的地址為02000H03FFFH這里用74LS138的Y0、Y1作為兩個芯片的片選

37、。4.4 敘述EPRO版編程過程,說明EEPROMI編程過程。EPROM編程通常采用兩種模式:標(biāo)準(zhǔn)編程和快速編程:標(biāo)準(zhǔn)編程是在VCCVPRCEOE地址信號、數(shù)據(jù)信號有效并穩(wěn)定后加入50毫秒的PG城程負(fù)脈沖,可以在寫入一個數(shù)據(jù)后使OE變高而立即校驗(yàn),也可以在所有數(shù)據(jù)寫入后逐一校驗(yàn)。標(biāo)準(zhǔn)編程有兩大缺陷:一是時間過長,比如2764全片編程約需7分鐘,時間過長;再是編程脈沖寬度稍大容易造成芯片因功耗過大而燒毀。快速編程將PGM勺寬度減小到100微妙左右,顯然速度加快了500倍左右。能否使用快速編程取決于芯片的型號。EEPRO岫于可以在線擦除信息,所以可以單字節(jié)編程或自動按頁編程。在單字節(jié)寫入時,CE為

38、低,OE為高,在W勘口入100納秒的負(fù)脈沖,寫入時間包括擦除原有內(nèi)容和寫入新內(nèi)容的時間,一般為10毫秒以內(nèi),可以通過查詢READY/BUSY狀態(tài)判定。自動按頁編程用高位線決定頁地址,低位線決定頁容量,然后一次寫入一頁內(nèi)容,寫完后查詢READY/BUS狀態(tài),此一過程耗時在300微秒左右,所以速度較快。4.5 已有兩片6116,現(xiàn)欲將其接到8088系統(tǒng)中去,其地址范圍為40000H40FFFH試畫出電路連接圖;寫入某數(shù)據(jù)并讀出與之比較,若有錯,則在DL中寫入01H,若全又在DL中寫入EEH試編寫此檢測程序。解答:電路連接如圖示:檢測程序定義為一個過程,編程如下:CHKRAMPROCFARCHK:P

39、USHSI ;PUSHDL;PUSHCX;PUSHAX;MOVCX, 10000H;MOV SI , 4000H;MOV DS, SI ;MOV SI , 0000H;MOV AL, 0FFH;MOV SI , AL;MOV AL, SI ;ADD AL, 01HJNZ RAMERRMOV AL , 0 ;MOV SI , AL;MOV AL, SI ;AND AL, AL待檢驗(yàn)的單元個數(shù)存儲體段地址存儲體首地址寫入檢驗(yàn)數(shù)據(jù)FFH讀出寫入另一格檢驗(yàn)數(shù)據(jù) 讀出JNZRAMERRMOVDL,0EEH;所有單元全對JMPRAMCHKOUTRAMERRMOVDL01H;發(fā)現(xiàn)錯誤單元RAMCHKOUTP

40、OPAXpopcxPOPDL;POPSI;RETENDPCHKRAM4.6 利用全地址譯碼將EPROM2712接到首地址為A0000H的內(nèi)存區(qū),試畫出電路圖。解答:EPROM2712的容量為8*16K,所以有14根地址線,那么如果將其接到首地址為A0000H內(nèi)存區(qū),高6位地址線的排列應(yīng)該為:101000B,所以有如下的連接:4.7 內(nèi)存地址從40000H至ijBBFFFHft有多少K?解答:從40000H至UBBFFFH勺地址空間應(yīng)該為BBFFFH-40000H=7BFFFH每K為21°,即3FFH7BFFFH/3FFH=1F0H=496D所以,該地址空間的范圍應(yīng)該為496KByte

41、。4.8 試判斷8088系統(tǒng)中存儲器譯碼器74LS138的輸出YRY4、Y6和Y7所決定的內(nèi)存地址范圍,電路連接見附圖。解答:A13 A14 AIS A16A17MEMWA19MEMR卜 尸: , E9 8 7 6A1A1A1A1的N 一 AY7Y6Y5Y4Y3Y2Y1迎平值為1X00B,由于采用的是部分譯碼(A18未使用),所以每個地址譯碼輸出對應(yīng)的兩個地址范圍。Y0對應(yīng)A15、A14、A13均為0,所以其地址范圍應(yīng)該為:當(dāng)A18=0時,地址范圍為:100000000000000010000001111111111111B即80000H81FFFH當(dāng)A18=1時,地址范圍為:11000000

42、0000000011000001111111111111B即C0000HC1FFFFHY4對應(yīng)的A15、A14、A13為100,所以其地址范圍應(yīng)該為:當(dāng)A18=0時,地址范圍為:10001000000000000000B10001001111111111111B即88000H89FFFH當(dāng)A18=1時,地址范圍為:1100100000000000000011001001111111111111B即C8000HC9FFFHY6對應(yīng)的A15、A14、A13為110,所以其地址范圍為:當(dāng)A18=0時,地址范圍為:10001100000000000000B10001101111111111111B即8

43、C000H8DFFFH當(dāng)A18=1時,地址范圍為:11001100000000000000B11001101111111111111B即CC000HCDFFFHY7對應(yīng)的A15>A14、A14為111,所以其地址范圍為:當(dāng)A18=0時,地址范圍為:10001110000000000000B10001111111111111111B即8E000H8FFFFH當(dāng)A18=1時,地址范圍為:11001110000000000000B11001111111111111111B即CE000HCFFFEH李伯成微機(jī)原理習(xí)題第五章本章作業(yè)參考書目:1.王永山等:微型計(jì)算機(jī)原理與應(yīng)用西安電子科大出版社19

44、983. 洪志全等編現(xiàn)代計(jì)算機(jī)接口技術(shù)電子工業(yè)出版社2002年4月5-1滿足那些條件8086CPU才能響應(yīng)中斷源的中斷請求?參考答案:8088/8086的中斷承認(rèn)需要滿足4個條件:( 1) 一條指令執(zhí)行之后-因?yàn)?088/8086CPU只在指令周期的最后一個時鐘周期檢測INTR信號;( 2) 中斷允許標(biāo)志IF=1;(3)沒有發(fā)生NMI、HOLD口RESET( 4) 指令STI、IREI指令執(zhí)行之后須再執(zhí)行一條其他指令,但一些指令組合(如REB要視為一個指令總體。5-2說明8088/8086軟件中斷指令I(lǐng)NTn的執(zhí)行過程。由指令I(lǐng)NTn引起的中斷也稱為“異?!?,即軟件中斷或內(nèi)部中斷。這里,INT

45、為指令操作碼,n是中斷類型號(中斷向量碼);當(dāng)該指令執(zhí)行時,CPU艮據(jù)中斷向量碼的數(shù)值在中斷向量表(IDT-InterruptDirectionTable)找到相應(yīng)的中斷服務(wù)程序入口地址,在對CS、IP和FLAG進(jìn)行入棧保護(hù)之后,進(jìn)而轉(zhuǎn)向指定程序的運(yùn)行。5-3用三態(tài)門74LS244作為輸入接口,接口地址規(guī)定為04E5H,試畫出其與8088的總線連接圖。解:根據(jù)題意,當(dāng)?shù)刂肪€上的電平為0000010011100101且IOR信號為低(IOR低電平有效)時,74LS244的門控信號E1、E2應(yīng)該為低,據(jù)此畫出下列電路:5-4利用具有三態(tài)輸出的鎖存器74LS374作為輸出接口,就接口地址為0E504

46、H,試畫出連接圖。若5-3題中的輸入接口的BIT3、BIT4、BIT7同時為1時,將DATA為首地址的10個內(nèi)存數(shù)據(jù)連續(xù)由輸出接口輸出。若不滿足則等待,試編寫程序。解:根據(jù)題意,當(dāng)?shù)刂肪€上的電平為1110010100000100且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,04E5HINAL,DXJZOUTWAI;TMOVSI,OFFSETDATAMOVCL,0AH;數(shù)據(jù)個數(shù)MOVDX,0E504HOUTPU:TMOVAL,SIINCSIOUTDX,ALLOOPOUTPUT5-5若要求8259的地址為E0

溫馨提示

  • 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

提交評論