微機(jī)接口試題及答案_第1頁
微機(jī)接口試題及答案_第2頁
微機(jī)接口試題及答案_第3頁
微機(jī)接口試題及答案_第4頁
微機(jī)接口試題及答案_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、微機(jī)接口試題及答案分別說明下列指令的源操作數(shù)和目的操作數(shù)各采用什么尋址方式。M0VAX,2408H(2)M0VCL,OFFH(3)M0VBX,SI(4)M0V5BX,BL(5)M0VBP+100H,AX(6)M0VBX+DI,$(7)M0VDX,ES:BX+SI(8)M0VVALBP+DI,DXINAL,05H(10)MOVDS,AX答:(1)立即數(shù),寄存器(2)立即數(shù),寄存器(3)寄存器間接,寄存器寄存器,寄存器相對(5)寄存器,寄存器相對立即數(shù),基址變址(7)基址變址,寄存器(8)寄存器,相對基址變址(9)直接端口尋址,寄存器(10)寄存器,寄存器已知:DS=1000H,BX=0200H,

2、SI=02H,內(nèi)存10200H10205H單元的內(nèi)容分別為10H,2AH,3CH,46H,59H,6BH。下列每條指令執(zhí)行完后AX寄存器的內(nèi)容各是什么?(1)M0VAX,0200H(2)M0VAX,200H(3)M0VAX,BX(4)M0VAX,3BX(5)M0VAX,BX+SI(6)M0VAX,2BX+SI答:(1)0200H(2)2A10H(3)0200H(4)5946H(5)463CH6B59H設(shè)DS=1000H,ES=2000H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,數(shù)據(jù)段中變量名為VAL的偏移地址值為0030H,試說明下列源操作數(shù)字

3、段的尋址方式是什么?物理地址值是多少?(1)M0VAX,100H(2)M0VAX,VAL(3)M0VAX,BX(4)M0VAX,ES:BX(5)M0VAX,SI(6)M0VAX,BX+10H(7)M0VAX,BP(8)M0VAX,VALBPSI(9)M0VAX,VALBXDI(10)MOVAX,BPDI答:(1)直接,10100H(2)直接,10030H(3)寄存器間接,10100H(4)寄存器間接,20100H(5)寄存器間接,100A0H(6)寄存器相對,10110H(7)寄存器間接,35200H(8)相對基址變址,352D0H(9)相對基址變址,10154H(10)基址變址,35224H

4、寫出下列指令的機(jī)器碼M0VAL,CL(2)M0VDX,CX(3)M0VBX+100H,3150H答:(1)1000101011000001B1000101111010001B110001111000011100000000000000010101000000110001B已知程序的數(shù)據(jù)段為:DATASEGMENTADB$,10HBDBCOMPUTERCDW1234H,0FFHDDB5DUPEDD1200459AHDATAENDS求下列程序段執(zhí)行后的結(jié)果是什么。MOVAL,AMOVDX,CXCHGDL,AMOVBX,OFFSETBMOVCX,3BXLEABX,DLDSSI,ELESDI,E答:M

5、OVAL,AAL=24HMOVDX,CDX=1234HXCHGDL,ADL=24H,A=34HMOVBX,OFFSETBBX=2MOVCX,3BXCX=5550HLEABX,DBX=000EHLDSSI,EDS=1200H,SI=459AHLESDI,EES=1200H,DI=459AH指出下列指令中哪些是錯誤的,錯在什么地方。(1)MOVDL,AX(2)MOV8650H,AX(3)MOVDS,0200HMOVBX,1200H(5)MOVIP,0FFHMOVBX+SI+3,IP(7)MOVAX,BXBP(8)MOVAL,ES:BP(9)MOVDL,SIDIMOVAX,OFFSET0A20H(1

6、1)MOVAL,OFFSETTABLE(12)XCHGAL,50H(13)INBL,05H(14)OUTAL,0FFEH答:(1)長度不匹配(2)立即數(shù)不能做目的操作數(shù)段寄存器不能用立即數(shù)賦值(4)兩個內(nèi)存單元不能直接傳送數(shù)據(jù)IP不能用指令直接修改(6)指令中不能出現(xiàn)IP(7)BX/BP應(yīng)與SI/DI搭配(8)正確SI/DI應(yīng)與BX/BP搭配(10)OFFSET后應(yīng)跟內(nèi)存單元偏移地址為16位,AL長度不夠(12)立即數(shù)不能用于XCHG(13)IN必須用AL/AX(14)操作數(shù)順序反向;地址應(yīng)為8位已知當(dāng)前數(shù)據(jù)段中有一個十進(jìn)制數(shù)字09的7段代碼表,其數(shù)值依次為40H,79H,24H,30H,19

7、H,12H,02H,78H,00H,18H。要求用XLAT指令將十進(jìn)制數(shù)57轉(zhuǎn)換成相應(yīng)的7段代碼值,存到BX寄存器中,試寫出相應(yīng)的程序段。答:DATASEGMENTTABLEDB40H,79H,24H,30H,19H,12H,02H,78H,00H,18HDATAENDSMOVAL,5MOVBX,OFFSETTABLEXLATTABLEMOVCL,ALMOVAL,7XLATTABLEMOVBL,ALMOVBH,CL試用已知當(dāng)前SS=1050H,SP=0100H,AX=4860H,BX=1287H,示意圖表示執(zhí)行下列指令過程中,堆棧中的內(nèi)容和堆棧指針SP是怎樣變化的。PUSHAXPUSHBXPO

8、PBXPOPAXC2)itrPUSBAXIUi3IMiPUSHBXR105OOH_D50QHSP-h執(zhí)ffPOFBX肓1Q50CHSRn87HTHfiOH4SH(5執(zhí)抒POP盒咒后指下列指令完成什么功能?ADDAL,DH(2)ADCBX,CX(3)SUBAX,2710HDECBX(5)NEGCX(6)INCBL(7)MULBX(8)DIVCL答:(1)AL+DHAL(2)BX+CX+CFBXAX-2710HRAX(4)BX-1BX(5)0-CCX(6)BL+1BLAX*BXDX,AX(8)AX/CL商AL,余數(shù)AH已知AX=2508H,BX=0F36H,CX=0004H,DX=1864H,求下

9、列每條指令執(zhí)行后的結(jié)果是什么?標(biāo)志位CF等于什么?ANDAH,CL(2)0RBL,30H(3)N0TAXX0RCX,0FFF0H(5)TESTDH,0FH(6)CMPCX,00H(7)SHRDX,CL(8)SARAL,1(9)SHLBH,CLSALAX,1(11)RCLBX,1(12)RORDX,CL答:(1)AX=0408H,CF=0(2)BX=0F36H,CF=0(3)AX=0DAF7H,CF不變(4)CX=0FFF4H,CF=0DX=01864H,CF=0(6)CX=0004H,CF=0(7)DX=0186H,CF=0(8)AX=2504H,CF=0(9)BX=0F036H,CF=0(1

10、0)AX=4A10H,CF=0BX=1E6C/1E6DH,CF=0(12)DX=4186H,CF=011假設(shè)數(shù)據(jù)段定義如下:DATASEGMENTSTRINGDBThePersonalComputer&TVDATAENDS試用字符串操作等指令編程完成以下功能把該字符串傳送到附加段中偏移量為GET_CHAR開始的內(nèi)存單元中。比較該字符串是否與TheComputer相同,若相同則將AL寄存器的內(nèi)容置1,否則置0。并要求將比較次數(shù)送到BL寄存器中。檢查該字符串是否有&若有則用空格字符將其替換。把字符串大寫字母傳送到附加段中以CAPS開始的單元中,其余字符傳到以CHART開始的單元中。然后將數(shù)據(jù)段中存

11、儲上述字符串的單元清0。答:(1)CLDLEASI,STRINGLEADI,GET_CHARMOVCX,26REPMOVSB補(bǔ)充在附加段定義STRING1DBThecomputerMOVAL,1CLDLEASI,STRINGLEADI,STRING1MOVCX,12REPZCMPSBJZSKIPMOVAL,0SKIP:MOVBX,12SUBBX,CXMOVAX,DATAMOVES,AXCLDMOVAL,&LEADI,STRINGMOVCX,26NEXT:REPNESCASBJZFINDJMPEXITFIND:MOVBYTEPTRDI-1,JCXZEXITJMPNEXTEXIT:LEASI,ST

12、RINGLEADI,CAPSLEABX,CHARTMOVCX,26NEXT:MOVAL,SICMPAL,AJBOTHERCMPAL,ZJAOTHERMOVES:DI,ALINCDIJMPSKIPOTHER:MOVES:BX,ALINCBXSKIP:MOVBYTEPTRSI,0INCSILOOPNEXT編程將AX寄存器中的內(nèi)容以相反的順序傳送到DX寄存器中,并要求AX中的內(nèi)容不被破壞,然后統(tǒng)計DX寄存器中的個數(shù)是多少。答:MOVBL,0PUSHAXMOVDX,0MOVCX,16NEXT:SHLAX,1JNCSKIPINCBLSKIP:RCRDX,1LOOPNEXTSTOP:POPAX設(shè)CS=12

13、00H,IP=0100H,SS=5000H,SP=0400H,DS=2000H,SI=3000H,BX=0300H,(20300H)=4800H,(20302H)=00FFH,TABLE=0500H,PROG_N標(biāo)號的地址為1200:0278H,PROG_F標(biāo)號的地址為3400H:0ABCH。說明下列每條指令執(zhí)行完后,程序?qū)⒎謩e轉(zhuǎn)移到何處執(zhí)行?JMPPROG_NJMPBXJMPBXJMPFARPROG_FJMPDWORDPTRBX如將上述指令中的操作碼JMP改成CALL,則每條指令執(zhí)行完后程序轉(zhuǎn)向何處執(zhí)行?并請畫圖說明堆棧中的內(nèi)容和堆棧指針如何變化。答:(1)1200H:0278H1200H:

14、0300H1200H:4800H3400H:0ABCH00FFH:4800H將操作碼JMP改成CALL后:(1)1200H:0278HMOVCX,04HMOVCX,04H指令長度為3,則IP=0100H+3=0103H,入棧00FFH:4800H指令長度為2,則IP=0100H+2=0102H,入棧14.在下列程序段括號中分別填入以下指令(1)LOOPNEXT(2)LOOPENEXT(3)LOOPNENEXT的內(nèi)容分試說明在這三種情況下,程序段執(zhí)行完后,AX,BX,CX,DX別是什么。START:MOVAX,01HMOVBX,02HMOVDX,03HNEXT:INCAXADDBX,AXSHRD

15、X,1()答:(1)AX=05HBX=10HCX=0DX=0AX=02HBX=04HCX=03HDX=01HAX=03HBX=07HCX=02HDX=0某班有7個同學(xué)英語成績低于80分,分?jǐn)?shù)存在ARRAY數(shù)組中,試編程完成以下工作:給每人加5分,結(jié)果存到NEW數(shù)組中把總分存到SUM單元中答:DATASEGMENTARRAYDB?,?,?,?,?,?,?NEWDB7DUP(?)SUMDW0DATAENDSMOVAX,DATAMOVDS,AX(1)LEASI,ARRAYLEADI,NEWMOVCX,7NEXT:MOVAL,SIADDAL,5MOVDI,ALINCSIINCDILOOPNEXT(2)

16、LEASI,ARRAYCLCSP5000H:0000H5000H:03FCH5000H:03FEH5000H:0400HMOVCX,7NEXT1:MOVAL,SIMOVAH,0ADCSUM,AXINCSILOOPNEXT1中斷向量表的作用是什么?它放在內(nèi)存的什么區(qū)域內(nèi)?中斷向量表中的什么地址用于類型3的中斷?答沖斷向量表用來存放中斷服務(wù)程序的入口地址。8086的256類中斷的入口地址要占用1K字節(jié),位于內(nèi)存00000H003FFH的區(qū)域內(nèi)。中斷向量表中0000CH0000FH用于類型3的中斷。設(shè)類型2的中斷服務(wù)程序的起始地址為0485:0016H,它在中斷向量表中如何存放?答:物理地址內(nèi)容00

17、008H16H00009H00H0000AH85H0000BH04H若中斷向量表中地址為0040H中存放240BH,0042H單元里存放的是D169H,試問:(1)這些單元對應(yīng)的中斷類型是什么?(2)該中斷服務(wù)程序的起始地址是什么?答:(1)10H(2)D169H:240BH簡要說明8086響應(yīng)類型04中斷的條件是什么?答:類型0:除法錯中斷執(zhí)行除法指令時,若除數(shù)為0或所得商超過寄存器能容納的范圍,則自動產(chǎn)生類型0中斷。類型1:單步中斷若CPU的單步標(biāo)志TF=1,則每執(zhí)行完一條指令后,自動產(chǎn)生類型1中斷。類型2:不可屏蔽中斷NMI當(dāng)8086的NMI弓I腳上接收到由低變高的電平變化時,將自動產(chǎn)生

18、類型2中斷。類型3:斷點(diǎn)中斷若在程序中某位置設(shè)置斷點(diǎn),當(dāng)程序執(zhí)行到該斷點(diǎn)時,則產(chǎn)生類型3中斷。類型4:溢出中斷若溢出標(biāo)志OF=1,則可由溢出中斷指令I(lǐng)NTO產(chǎn)生類型4中斷。第四章下列變量各占多少字節(jié)?A1DW23H,5876HA2DB3DUP,OAH,ODH,$A3DD5DUP(1234H,567890H)A4DB4DUP(3DUP(1,2,ABC)答:A1占4個字節(jié)A2占6個字節(jié)A3占40個字節(jié)A4占60個字節(jié)下列指令完成什么功能?MOVAX,00FFHAND1122H+3344HMOVAL,15GE1111BMOVAX,00FFHLE255+6/5ANDAL,50MOD4ORAX,0F00

19、FHAND1234OR00FFH答:將0066H傳送給AX將0FFH傳送給AL將OFFFFH傳送給AXANDAL,02HORAX,00FFH有符號定義語句如下:BUFDB3,4,5,123ABUFDB0LEQUABUF-BUF求L的值為多少?答:L=64假設(shè)程序中的數(shù)據(jù)定義如下:PARDW?PNAMEDB16DUP(?)COUNTDD?PLENTHEQU$-PAR求PLENTH的值為多少?表示什么意義?答:PAR的偏移地址為0,PLENTH當(dāng)前偏移地址$=2+16+4=22,$-PAR=22,故PLENTH的值為22。若在PLENTH所在行有變量定義,則$表示該變量的偏移地址,即$表示PLEN

20、TH所在行的當(dāng)前偏移地址。故PLENTH表示從當(dāng)前行到PAR之間定義的變量所占的字節(jié)個數(shù)。對于下面的數(shù)據(jù)定義,各條MOV指令執(zhí)行后,有關(guān)寄存器的內(nèi)容是什么?DA1DB?DA2DW10DUPDA3DBABCDMOVAX,TYPEDA1MOVBX,SIZEDA2MOVCX,LENGTHDA3答:AX=1,BX=20,CX=1下段程序完成后,AH等于什么?INAL,5FHTESTAL,80HJZL1MOVAH,0JMPSTOPL1:MOVAH,OFFHSTOP:HLT答:討論從端口5FH輸入的數(shù)據(jù)最高位的情況。若最高位為1,則AH=0;若最高位為0,則AH=0FFH。編程序完成下列功能:利用中斷調(diào)用

21、產(chǎn)生5秒延時。利用中斷調(diào)用,在屏幕上顯示19之間隨機(jī)數(shù)。答:(1)可以利用中斷類型1CH來處理,因?yàn)樵谙到y(tǒng)時鐘的中斷處理程序中,時鐘中斷一次要調(diào)用一次INT1CH,即每隔55ms,產(chǎn)生一次1CH中斷,要產(chǎn)生5秒延時,只要中斷5s/55ms=91次即可。又因1CH中斷處理程序中只有一條IRET指令,故可將用戶的程序代替原有的INT1CH程序。DATASEGMENTCOUNTDW91;計數(shù)器MESSDB5sdelayed!,0AH,0DH,$DATAENDSCODESEGMENTMAINPROCFARASSUMECS:CODE,DS:DATA,ES:DATAPOPDSSTART:PUSHDSMOV

22、AX,0PUSHAXMOVAX,DATAMOVDS,AXMOVAL,1CH;得到原中斷向量MOVAH,35HINT21HPUSHES;存儲原中斷向量PUSHBXPUSHDSMOVDX,OFFSETDELAY;DELAY的偏移地址和段地址MOVAX,SEGDELAYMOVDS,AXMOVAL,1CH;設(shè)置中斷向量MOVAH,25HINT21HINAL,21H;設(shè)置中斷屏蔽位ANDAL,OFEHOUT21H,ALSTIMOVDI,2000H;主程序延遲,在執(zhí)行此段程序期間A1:MOVSI,3000H;產(chǎn)生中斷A2:DECSIJNZA2DECDIJNZA1POPDX;取原中斷向量POPDSMOVAL

23、,1CHMOVAH,25HINT21HRETMAINENDPDELAYPROCNEARPUSHDSPUSHAXPUSHCXPUSHDXMOVAX,DATAMOVDS,AXSTIDECCOUNT;5秒計數(shù)JNZEXITMOVDX,OFFSETMESS;顯示信息MOVAH,09HINT21HMOVCOUNT,91;5秒的值EXIT:CLIPOPDXPOPCXPOPAXIRETDELAYENDPCODEENDSENDSTARTCODE(2)可以利用INT1AH,讀取當(dāng)前時間的1/100秒為隨機(jī)數(shù)SEGMENTASSUMECS:CODESTART:MOVAH,0INT1AH;讀取當(dāng)前時間CH:CL=時

24、:分MOVAL,DL;DH:DL=秒:1/100秒MOVAH,0MOVBL,9DIVBLINCAHMOVDL,AHADDDL,30HMOVAH,2INT21HMOVAH,4CHINT21HCODEENDSENDSTART編兩個通過過程完成將AX中存放的二進(jìn)制數(shù)轉(zhuǎn)換成壓縮型BCD碼以及將BCD碼轉(zhuǎn)換成二進(jìn)制數(shù)。答:(1)將AX中的二進(jìn)制數(shù)先后除以1000,100和10,每次除法所得的商,即是BCD數(shù)的千位、百位和十位數(shù),余數(shù)是個位數(shù)。子程序名:B2TOBCD輸入?yún)?shù):AX=十六位二進(jìn)制數(shù)輸出參數(shù):CF=0,則AX=4位壓縮型BCD碼。CF=1,則要轉(zhuǎn)換的數(shù)大于9999,AX不變。使用寄存器:CX

25、:存放除數(shù),DX:存放中間結(jié)果。B2TOBCDPROCFARCMPAX,9999;AX9999,則CF置1JBETRANSTCJMPEXITTRAN:PUSHCXPUSHDXSUBDX,DX;DX清0MOVCX,1000;計算千位數(shù)DIVCXXCHGAX,DX;商在DX中,余數(shù)在AX中MOVCL,4SHLDX,CL;DX左移4位MOVCL,100;計算百位數(shù)DIVCLADDDL,AL;百位數(shù)加到DL中,DX左移4位MOVCL,4SHLDX,CLXCHGAL,AH;余數(shù)保留在AL中SUBAH,AHMOVCL,10;計算十位數(shù)DIVCLADDDL,AL;十位數(shù)加到DL中,DX左移4位MOVCL,4

26、SHLDX,CLADDDL,AH;加個位數(shù)MOVAX,DX;結(jié)果送到AX中POPDXPOPCXEXIT:RETB2TOBCDENDP(2)將AX中4位BCD碼順序乘以1000,100,10和1,然后求和即得。子程序名:BCDTOB2輸入?yún)?shù):AX=4位壓縮BCD碼輸出參數(shù):AX=十六位二進(jìn)制數(shù)使用寄存器:BX:暫存數(shù)據(jù),CX:存放乘數(shù),DX:存放中間結(jié)果BCDTOB2PROCFARPUSHBXPUSHCXPUSHDXMOVBX,AXMOVCL,4ROLAX,CLANDAX,000FHMOVCX,1000;乘以1000MULCXMOVDX,AXMOVAX,BXMOVCL,8ROLAX,CLAND

27、AX,000FHMOVCL,100;乘以100MULCLADDDX,AXMOVAX,BXMOVCL,4SHRAX,CLANDAX,OOOFHMOVCL,10;乘以10MULCLADDDX,AXANDBX,000FHADDDX,BXMOVAX,DXPOPDXPOPCXPOPBXRETBCDTOB2ENDP編寫兩個通用過程,一個完成ASCII碼轉(zhuǎn)換成二進(jìn)制數(shù)功能,另一個完成ASCII字符顯示輸出功能。答:(1)將AX中兩位ASCII碼先轉(zhuǎn)化成數(shù)字,然后AH*10+AL。子程序名:ASCIITOB2輸入?yún)?shù):AX=2位ASCII碼輸出參數(shù):AX=轉(zhuǎn)換后二進(jìn)制數(shù)使用寄存器:BX,CX,DXASCIIT

28、0B2PROCFARPUSHBXPUSHCXPUSHDXMOVBX,AXSUBAH,30HMOVAL,AHMOVCL,10;乘以10MULCLMOVDX,AXMOVAX,BXSUBAL,30HMOVAH,0ADDAX,DXPOPDXPOPCXPOPBXMOVAH,2MOVAH,2RETASCIIT0B2ENDP(2)使用2號DOS功能調(diào)用顯示字符子程序名:DISPLAY輸入?yún)?shù):AX=2位ASCII碼輸出參數(shù):無使用寄存器:BX,DXDISPLAYPROCFARPUSHBXPUSHDXMOVBX,AXMOVDL,AHMOVAH,2INT21HMOVAX,BXMOVDL,ALINT21HCMPAH,3AHCMPAH,3AHPOPDXPOPBXRETDISPLAYENDP編制兩個通用過程,完成十六進(jìn)制數(shù)轉(zhuǎn)換成ASCII碼并將ASCII碼字符顯示。答:子程序名:HEXTOASC輸入?yún)?shù):AX:4位十六進(jìn)制數(shù)輸出參數(shù):DX,AX:4位ASCII碼,DX高2位,AX低2位使用寄存器

溫馨提示

  • 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

提交評論