指令與尋址方式習題_第1頁
指令與尋址方式習題_第2頁
指令與尋址方式習題_第3頁
指令與尋址方式習題_第4頁
指令與尋址方式習題_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、指令與尋址方式習題解答1試分別說明下列各指令中源操作數(shù)和目的操作數(shù)使用的尋址方式:(1)ANDAX,0FFH(2)ANDBL,OFFH(3)MOVDS,AX(4)CMPSI, CX(5)MOVDS:0FFH , CL(6)SUBBPSI , AH(7)ADCAX,0ABHBX(8)OR DX,-35BXDI(9)PUSHDS(10)CMC目的操作數(shù)源操作數(shù)( 1)寄存器直接尋址立即數(shù)尋址2)寄存器直接尋址直接尋址3)寄存器直接尋址寄存器直接尋址4)寄存器間接尋址寄存器直接尋址5)直接尋址寄存器直接尋址6)基址變址尋址寄存器直接尋址7)寄存器直接尋址寄存器相對尋址8)寄存器直接尋址基址變址相對尋

2、址9)無寄存器直接尋址(10) 隱含尋址2試分別指出下列各指令語句的語法是否有錯,如有錯,指明是什么錯誤。(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)MOV BXBP , AX TEST BP , BLADD SI , ABHAND DH, DLCMP CL, 1234HSHR BXDI , 3 NOT CX, AXLEA DS, 35SIINC CX, 1PUSH 45DI答:(1)應將BP, BX其中之一該為 SI或DI( 2)正確(3) ABH改為 OABH4)(5)是字操作,CL改為CX6)移位數(shù)大于 1 時,應用 CL(7)NOT指令只有一個操作數(shù)(8)LEA指令的

3、源操作數(shù)應為一內存單元地址( 9)此指令不用指出 1 (10)45 改為 45H3. 下面兩條指令執(zhí)行后,標志寄存器中CF, AF, ZF, SF和OF分別是什么狀態(tài)?MOVDL, 86ADD DL , 0AAH答: 0101, 0110 + 1010 , 1010 = 1 , 0000, 0000CF=1 AF=1 ZF=1 SF=1 OF=14. 在8086/8088CPU中可用于作地址指針的寄存器有哪些?答:有 BX, CX, DX, BP, SI, DI (IP, SP,)5. 已知(DS) = 09IDH , (SS) = 1E4AH ( AX)= 1234H, ( BX) =002

4、4H, ( CX)= 5678H, (BP) = 0024H, ( SI) =0012H, (DI )= 0032H, ( 09226H)= 00F6H, ( 09228H)= 1E40H (1E4F6H) =091DH=下列各指令或程序段分別執(zhí)行后的結果如何 ?(1)MOVCL,20HBXSI(2)MOVBPDI ,CX(3)LEABX,20HBXSIMOVAX, 2BX4)LDSSI ,BXDIMOVSI , BX5)XCHGCX, 32HBXXCHG 20HBXSI ,AX答(1) (CX)=56F6H;(2) (09226H)=5678H;(3) (AX)=1E40H;(4) (1E4

5、F6H)=0024H;(5) (09226H)=1234H,(AX)=5678H.)。6. 已知(SS) = 09l 5H, (DS) = 0930H, (SI) = OAOH, (DI) = 1C0H (BX) = 80H, (BP) = 470Ho 現(xiàn)有一指令“ MOVAX OPRD” 如源操作數(shù)的物理地址為 095C0H 試用四種不同尋址方式改 寫此指令 (要求上述每個已知條件至少要使用一次 答:( 1 ) MOV AX BPAX,AX,BP+DI+80H DI+0100H SI+0220H 02C0H( 2) MOV ( 3) MOVMOV AXAX,( 4) MOV 7 .試按下列要

6、求分別編制程序段:把標志寄存器中符號位SF置 1'寄存器AL中高低四位互換。由寄存器AX,BX組成一個32位帶符號數(shù)(AX中存放高十六位),試求這個數(shù) 的負數(shù)。(4)現(xiàn)有三個字節(jié)存儲單元 A, B, C。在不使用ADD和ADC指令的情況下, 實現(xiàn) (A)+(B)=>C 。(5)用一條指令把 CX中的整數(shù)轉變?yōu)槠鏀?shù)(如原來已是奇數(shù),則CX中數(shù)據(jù)不變, 如原來是偶數(shù),則 (CX)+1 形成奇數(shù) ) 。答:( 1 ) MOV AH, 80HSAHF(2 ) MOV BL, 0FHANDBL, ALSAL4SHR4XORAL, BL(3 ) MOV DX, 7FHSUBAX, DXMOV

7、DX, 0FFHSUBDX, BXMOVBX, DX(4 ) MOV AH, FFHMOVBL, BSUBAH, BLMOVBH, ASUBBH, AHMOVC, BH(5 ) MOV AX, CXNOT AXTEST 01HJNZ NEXTHLTNEXT: INC CXHLT8試給出下列各指令的機器目標代碼:(1)MOVBL,12HSI(2)MOV12HSI ,BL(3)SALDX,1(4)ADD0ABHBPDI ,1234H答: (1) 10001010,11011111=8ADF;(2) 10001000,01011100=885C;(3) 11010001,11100010=D1E2;

8、(4) 10000001,10000001=8181.9執(zhí)行下列指令后:STR1 DW AB'STR2 DB 16DUP(?)CNT EQU $-STR1MOV CX,CNTMOV AX,STR1HLT寄存器CL的值是多少?寄存器 AX的值是多少?答:寄存器CL的值為12H,寄存器AX的值為4241H。10. JMP FAR PTR ABCD(ABC是符號地址)的轉移方式是什么? 答: JMP FAT PTR ABCD 的轉移方式是段間直接轉移 .11. MOV AX,ES:BXSI 的源操作數(shù)的物理地址是多少(用CS、DS、ES、SS、BX、SI 表示 出即可)?答:MOV AX,E

9、S:BX SI 的源操作數(shù)的物理地址是 ES X 10H+BX+SI.12運算型指令的尋址和轉移型指令的尋址,其不同點在什么地方?答:運算型指令的尋址包括立即數(shù)尋址。寄存器尋址,直接尋址,寄存器間接尋址,寄存器 相對尋址和基址加變址尋址方式。這些尋址方式中,CS,IP寄存器的內容不會發(fā)生變化。轉移型指令的尋址方式包括段內直接尋址,段內間接尋址,段間直接尋址,段間間接尋址。在后三種尋址方式中,CS,IP寄存器的內容發(fā)生改變。13如果TABLE為數(shù)據(jù)段中0032單元的符號名,其中存放的內容為1234H,當執(zhí)行指令”MOV AX,TABLE和” LEA AX,TABLE”后,(AX)中的內容分別為多

10、少?答:執(zhí)行 MOV AX , TABLE 后(AX =1234H執(zhí)行 LEA AX, TABLE 后(AX) =0032.14. 當指令” SUB AX,BX'執(zhí)行后,CF=1,說明最高有效位發(fā)生了什么現(xiàn)象?對無符號數(shù)來說,操作結果發(fā)生了什么現(xiàn)象?答:執(zhí)行指令 SUB AX,BX后,CF=1,說明最高位發(fā)生了借位對無符號來說,操作結果發(fā)生 了溢出。15. 在1000H單元中有一條二字節(jié)指令 JMP SHORT LAB如果其中的偏移量分別為30H 6CH 0B8H,則轉向地址 LAB的值分別為多少?答:轉向地址LAB的值分別為:1000 X 10H+2H+30H=10032H1000

11、X 10H+2H+6CH=1006EH1000 X 10H+2H+B8H=100BAH16. 下面兩個語句的區(qū)別在什么地方:X1 EQU 1000HX2=1000H答:“EQU和“=”都可以作為賦值語句,但二者的區(qū)別是EQU偽操作中的表達式是不許重復定義的,而“=”偽操作則許重復定義。17. 調用指令CALL可進行哪四種調用?答:調用指令CALL可進行段內直接調用,段內間接調用。段間直接調用。段間間接調用。18. (AL)=9AH , (BL)=0BCH,當分別進行下列指令運算后,請寫出標志位ZF、PF、CF、SF的內容:(P 8050)(1)ADDAL,BLSUBAL,BLANDAL,BLO

12、RAL,BLXORAL,BL答:(1) ADD AL, BL1 0 0 1 1 0 1 0+) 1 0 1 1 1 1 0 01, 0 1 0 1 0 1 1 0 ZF=0, PF=1 CF=1 SF=0(2) SUB AL , BL1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0)1 0 1 1 1 1 0 0 + ) 0 1 0 0 0 1 0 0 ZF=O PF=1 CF=1 SF=1(3) AND AL, BL1 0 0 1 1 0 1 0AND 1 01 1 1 1 0 0 ZF=0 PF=0 CF=0 SF=010 0 1 1 00 0(4)OR AL,BL10 0

13、1 1 01 0OR)1 0 1 1 11 0 010 1 1 1 11 0(5)XOR AL,BL10 0 1 1 01 0XOR1 0 1 1 11 0 0 ZF=0 PF=1 CF=0 SF=0 ZF=0 PF=0 CF=0 SF=00 0 1 0 0 1 1 019. 若(SP)=2800H,試用兩種方法實現(xiàn)(SP)=27FEH.答:方法一:執(zhí)行一次 PUSH指令 PUSH CX方法二:執(zhí)行一次 PUSHF指令20. 試簡述LES REG,SRC所完成的操作?答:LES REG,SRC 是將SRC和SRC+1中的偏移量送到 REG寄存器,而將SRC+2和SRC+3 中的段基址送ES段寄

14、存器。21. 關系操作符EQ NE LT、GT LE、GE計算的結果為邏輯值,試問0FFFFH代表假,0代表真是否正確?答:0FFFFH代表真。0表示結果為假。22. 堆棧存取操作是以字節(jié)為單位的試分析當堆棧存入數(shù)據(jù)和從堆棧取出數(shù)據(jù)時SP的變化?答:當堆棧存入一個字時,(SP)< SP-2從堆棧中取出一個字時(SP) <-SP+223. 試編寫匯編程序段完成以下功能:將1000個字符的字符串從內存的BUFFER搬移到內存的BUFFER沖去。解答 LEA SI ,BUFFER1LEA DI ,BUFFER2MOV CX ,1000CLDREP MOVSb24. 試編寫匯編程序段完成以

15、下功能:將數(shù)據(jù)段中100個字的數(shù)據(jù)塊BLOCK1搬移到同一個數(shù)據(jù)段的 BLOCK沖去。解答:LEA SI ,BLOCK1LEA DI ,BLOCK2MOV CX ,100CLDREP MOVSW25. 試編寫匯編程序段完成以下功能:比較DEST和SOURC中的500個字節(jié),找出第一個不相同的字節(jié),如果找到,則將SOURC中的這個數(shù)送 AL中。解答:CLDLEA DI,DESTLEA SI,SOURCEMOV CX ,500REPE CMPBJCXZ NEXTDEC SIMOV AL ,BYTE PTRSINEXT HLT26. 試編寫匯編程序段完成以下功能:求最大值,若自BLOCK開始的內存緩沖區(qū)中,有100個帶符號的數(shù),希望找到其中最大的一個值,并將

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論