微機(jī)原理第3章習(xí)題(2)課件_第1頁(yè)
微機(jī)原理第3章習(xí)題(2)課件_第2頁(yè)
微機(jī)原理第3章習(xí)題(2)課件_第3頁(yè)
微機(jī)原理第3章習(xí)題(2)課件_第4頁(yè)
微機(jī)原理第3章習(xí)題(2)課件_第5頁(yè)
已閱讀5頁(yè),還剩33頁(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)介

第三章習(xí)題3.1什么叫尋址方式?8086/8088CPU共有哪幾種尋址方式?(略)3.2設(shè)(DS)=6000H,(ES)=2000H,(SS)=1500H,(SI)=00A0H,(BX)=0800H,(BP)=1200H,數(shù)據(jù)變量VAR為0050H。請(qǐng)分別指出下列各條指令源操作數(shù)的尋址方式?它的物理地址是多少?(1)MOVAX,BX(2)MOVDL,80H(3)MOVAX,VAR(4)MOVAX,VAR[BX][SI](5)MOVAL,‘B’(6)MOVDI,ES:[BX](7)MOVDX,[BP](8)MOVBX,20H[BX]解:(1)寄存器尋址無(wú)物理地址(2)立即尋址無(wú)物理地址(3)立即尋址無(wú)物理地址(4)基址-變址-相對(duì)尋址PA=(DS)×10H+VAR+(BX)+(SI)=608F0H(5)立即尋址無(wú)物理地址(6)寄存器間接尋址PA=(ES)×10H+(BX)=20800H(7)寄存器間接尋址PA=(SS)×10H+(BP)=16200H(8)寄存器相對(duì)尋址PA=(DS)×10H+(BX)+20H=60820H解:(1)JMP2300H段內(nèi)直接轉(zhuǎn)移PA=(CS)×10H+(IP)+2300H=05500H(2)JMPWORDPTR[BX]段內(nèi)間接轉(zhuǎn)移PA=(CS)×10H+[BX]=0200H+(217A0H)=04300H(3)JMPDWORDPTR[BX+DATA]段間間接轉(zhuǎn)移PA=[BX+DATA]=(217E2H)×10H+(217E0H)=90000H+0400H=90400H3.4試說(shuō)明指令MOVBX,5[BX]與指令LEABX,5[BX]的區(qū)別。答:

①M(fèi)OVBX,5[BX]是數(shù)據(jù)傳送類指令,表示將數(shù)據(jù)段中以(BX+5)為偏移地址的16位數(shù)據(jù)送寄存器BX中。②LEABX,5[BX]是取偏移地址指令,結(jié)果為(BX)=(BX)+5,即操作數(shù)的偏移地址為(BX)+53.5設(shè)堆棧指針SP的初值為2300H,(AX)=50ABH,(BX)=1234H。執(zhí)行指令PUSHAX后,(SP)=?,再執(zhí)行指令PUSHBX及POPAX之后,(SP)=?(AX)=?(BX)=?解:執(zhí)行指令PUSHAX后,(SP)=22FEH執(zhí)行指令PUSHBX及POPAX之后,(SP)=22FEH,(AX)=(BX)=1234H3.6指出下列指令的錯(cuò)誤。(1)MOVAH,CX類型不匹配或兩操作數(shù)字長(zhǎng)不相等(2)MOV33H,AL立即數(shù)不能做目的操作數(shù)(3)MOVAX,[SI][DI]兩變址寄存器不能同時(shí)使用(4)MOV[BX],[SI]兩操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù)(5)ADDBYTEPTR[BP],256兩操作數(shù)類型不匹配(6)MOVDATA[SI],ES:AX源操作數(shù)形式錯(cuò),寄存器操作數(shù)不加段重設(shè)符(7)JMPBYTEPTR[BX]轉(zhuǎn)移地址的字長(zhǎng)至少應(yīng)是16位(8)OUT230H,AX對(duì)I/O指令,端口地址超過(guò)8位,必須采用間接尋址(9)MOVDS,BP正確(10)MUL39HMUL指令中操作數(shù)不能為立即數(shù)3.9試判斷下列程序執(zhí)行后,BX中的內(nèi)容。MOVCL,3MOVBX,0B7HROLBX,1RORBX,CL解:該程序是首先將BX內(nèi)容不帶進(jìn)位循環(huán)左移1位,再循環(huán)右移3位,即相當(dāng)于將BX內(nèi)容不帶進(jìn)位循環(huán)右移2位,所以結(jié)果為(BX)=C02DH

3.11分別指出以下兩個(gè)程序段的功能。(1)MOVCX,10LEASI,F(xiàn)IRSTLEADI,SECONDSTDREPMOVSB將數(shù)據(jù)段中FIRST為最高地址的10個(gè)字節(jié)數(shù)據(jù)按減地址方向傳送到附加段SECOND為最高地址的向前10個(gè)單元中。(2)CLDLEADI,[1200H]MOVCX,0F00HXORAX,AXREPSTOSW將附加段中偏移地址為1200H單元開始的0F00H個(gè)字單元清零。3.13將+46和-38分別乘以2,可應(yīng)用什么指令來(lái)完成?如果除以2呢?解:①將+46和-38分別乘以2,可分別用邏輯左移指令SHL和算術(shù)左移指令SAL完成。SHL針對(duì)無(wú)符號(hào)數(shù),SAL針對(duì)有符號(hào)數(shù),也可用MUL(無(wú)符號(hào)數(shù))和IMUL(有符號(hào)數(shù))②除以2,用SHR或DIV實(shí)現(xiàn)+46/2,用SAR或IDIV實(shí)現(xiàn)-38/2。3.14已知AX=8060H,DX=03F8H,端口PORT1的地址是48H,內(nèi)容為40H;PORT2的地址是84H,內(nèi)容為85H。請(qǐng)指出下列指令執(zhí)行后的結(jié)果。(1)OUTDX,AL將60H輸出到地址為03F8H的端口中(2)INAL,PORT1從PORT1讀入一字節(jié)數(shù)據(jù),則(AL)=40H(3)OUTDX,AX將AX=8060H從地址為03F8H的端口輸出(4)INAX,48H由48H端口讀入16位的數(shù)據(jù)(5)OUTPORT2,AX將8060H從地址為84H的端口輸出3.15試編寫程序,統(tǒng)計(jì)BUFFER為起始地址的連續(xù)200個(gè)單元中0的個(gè)數(shù)。解:LEASI,BUFFERMOVCX,200XORBX,BXAGAIN:MOVAL,[SI]CMPAL,0JNEGOONINCBXGOON:INCSILOOPAGAINHLT3.16寫出完成下述功能的程序段。(1)從地址DS:0012H中傳送一個(gè)數(shù)據(jù)56H到AL寄存器。MOVDS:BYTEPTR[0012H],56HMOVAL,[0012H](2)將AL中的內(nèi)容左移兩位。MOVCL,2SHLAL,CL(3)AL的內(nèi)容與字節(jié)單元DS:0013H中的內(nèi)容相乘。MULDS:BYTEPTR[0013H](4)乘積存入字單元DS:0014H中。MOVDS:[0014H],AX3.17若(AL)=96H,(BL)=12H,在分別執(zhí)行指令MUL和IMUL后,其結(jié)果是多少?OF=?CF=?解:①執(zhí)行MULBL后(AX)=0A8CH,CF=OF=1②執(zhí)行IMULBL后(AX)=F88CH,CF=OF=1解:(1)棧頂?shù)刂罚哼壿嫷刂窞?250H:0052H物理地址為1250H×16+0052H=12552H(2)棧底地址:邏輯地址為1250H:0100H物理地址為1250H×16+0100H=12600H(3)段寄存器:(SS)=1250H(4)若把數(shù)據(jù)3456H存入,此時(shí)(SP)=0050H2.已知(DS)=3000H,(BX)=1000H,(DI)=0020H,MASK=0300H,內(nèi)存分配如圖所示。連續(xù)執(zhí)行下列指令后,DS,SI,DI,AX的內(nèi)容是什么?標(biāo)志位狀態(tài)如何?LEASI,MASK[BX+DI]MOVAX,[SI]LDSDI,[BX+SI]SUBAX,76EBH22H24H13H10H00H20H00H13H00H30H…….31320H31322H32320H32322H32324H補(bǔ)充習(xí)題1.一個(gè)有16個(gè)字的數(shù)據(jù)區(qū),起始地址為70A0H:DDF6H,則這個(gè)數(shù)據(jù)區(qū)末字單元的物理地址是()(A)7E815H(B)7E816H

(C)7E814H(D)7E7F8H2.已知(BL)=6FH,執(zhí)行TESTBL,8FH后,(BL)=()(A)0FH(B)6FH(C)0(D)EFH3.讀程序回答問(wèn)題XORAX,AXMOVBX,1MOVCX,5LOP:ADDAX,BXINCBXINCBXLOOPLOPHLT上述程序段執(zhí)行后,(AX)=25,(BX)=115.設(shè)(SS)=2000H,則下列程序執(zhí)行后,(SP)=(),(AL)中數(shù)據(jù)在內(nèi)存地址()中,(AH)中數(shù)據(jù)在內(nèi)存地址()中。MOVSP,2000HMOVAX,1234HPUSHAX答案:1FFEH,21FFEH,21FFFH6.有如下程序段MOVAX,1234HMOVBX,5678HADDAL,BLDAA;(AL)=12H,CF=1MOVCL,ALMOVAL,AHADCAL,BHDAA;12H+56H+CF=69H執(zhí)行程序后,(AL)=69H,(CL)=12H7.寄存器間接尋址時(shí),操作數(shù)在()中(A)寄存器(B)存儲(chǔ)器(C)堆棧區(qū)(D)累加器8.執(zhí)行返回指令,退出中斷服務(wù)程序,這時(shí)返回地址來(lái)自()(A)ROM區(qū)(B)程序計(jì)數(shù)區(qū)(C)堆棧區(qū)(D)CPU的暫存寄存器10.下面程序段中,當(dāng)滿足條件轉(zhuǎn)到NEXT標(biāo)號(hào)執(zhí)行時(shí),(AL)的值正確的是()CMPAL,0FBHJNBNEXT……NEXT:(A)80H(B)8FH(C)F0H(D)FEH答案:SP=1FFEH,AX=00F0H

DX=ACF0H,DI=1234H,CF=0,ZF=0MOVSP,2000HMOVAX,00F0HMOVSI,1234HMOVDX,5678HPUSHSIPOPDISHLDX,1TESTAX,DXPUSHDX11.執(zhí)行下列程序后,SP=?AX=?DX=?DI=?標(biāo)志位CF=?ZF=?12.交換SI、DI的內(nèi)容,正確程序段是(AC)(A)PUSHSI(B)PUSHSIPUSHDIPUSHDIPOPSIPOPDIPOPDIPOPSI(C)MOVAX,SI(D)MOVAX,SIMOVSI,DIMOVBX,DIMOVDI,AXXCHGBX,AX13.完成41H送[2100H],42H送[2101H]的正確程序段是(A)(A)MOVAX,4241HMOV[2100H],AX(B)MOVAX,‘AB’MOV[2100H],AX14.下列程序段執(zhí)行后,(BX)=?MOVCL,7MOVBX,8016HSHRBX,CL答案:0100H15.假設(shè)(SP)=0100H,(SS)

溫馨提示

  • 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)論