尋址方式及指令系統習題與解答_第1頁
尋址方式及指令系統習題與解答_第2頁
尋址方式及指令系統習題與解答_第3頁
尋址方式及指令系統習題與解答_第4頁
尋址方式及指令系統習題與解答_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、尋址方式及指令系統習題與解答計算機科學與工程學院 黃洪波 2012 年 3 月一、單項選擇題.設 BX=2000H, SI=3000H,指令 MOV AX, BX+SI+8的源操作有效地址為()。A 5000H B 5008HC 23008H D 32008H.設 DS=1000H, ES=2000H, BX=3000H,指令 ADD AL, BX的源操作數的物理址為( )。13000H B. 23000HC. 33000H D.3000H.設 DS=2000H, ES=3000H, SI=200H,指令 MOV ES: SI, AL 的目的操作數的物理地址為( )。A 20200H B 30

2、200HC 50200H D 200H指令 MOV MEMBX , AX 中的 MEM 是( )。A.原碼 B.反碼 C.補碼 D.移碼用來作為寄存器間接尋址的寄存器有( )個。A 8B 6 C 5 D 4指令 MOV BX+SI, AL 中的目的操作數使用( )段寄存器。A CSB DSCSSDES指令 MOV BX, BP+5 中的源操作數使用( )段寄存器。A CSB DSCSSDES段內間接尋址只改變()中的內容。A. CSB. IPC. CS和 IP D. PSW段間間接尋址只改變()中的內容。A. CSB. IPC. CS和 IP D. PSW.下述指令中不改變PSW的指令是()。

3、A MOV AX, BXB AND AL, 0FHC SHR BX, CL D ADD AL, BL.下述指令中不影響CF的指令是()A SHL AL, 1 B INC CXC ADD BX, AL D SUB AX, BX兩個整數補碼9CH 和 7AH 相加運算后,會產生( )。A.無溢出且無進位B.無溢出但有進位C.有溢出且有進位D.有溢出但無進位.指令 JMP WORD PTR BX屬于()尋址。A.段內直接B.段內間接C.段間直接 D.段間間接.指令MOV AX, BX+SI+8的源操作數屬于()尋址。A.直接 B.寄存器相對 C.基址變址D.相對基址變址指令()不改變 CF 的內容。

4、A DEC ALB ADD AX, CXC SUB BX, CL D SBB AL, DL十進制數字74 所對應的壓縮型BCD 碼的形式是()。A 74 B 74HC 4AH D 4A十進制數字85 所對應的非壓縮型BCD 碼的形式是( )。A 0085 B 0085H C 0805D 0805H18 .設 AL=67H,執行 “CMP AL, 76H后,AL=()A 76HB 0DFHC 67HD 0019 .設AL=65H, BL=29H,執行下列指令后,AL=()ADD AL, BLDAAA 8EH B 94C 94H D 8E20 壓棧操作是( )位數的操作。16 C. 32 D.任意

5、)。21 執行 IMUL 指令時,如果乘積的高位部分不是低位部分的符號擴展,則(A OF=0、 CF=0 B OF=0、 CF=1 C OF=1、 CF=0 D OF=1、 CF=1.設 AX=3762H, CL=5,執行 “SHRAX, CL后,AX=()。A 0376H B 01BBHC 01BB D 0376.若要在BUF緩沖區中尋找與 AL中不相等的數據,應使用()SCASB串操作指令。A REPNE B REPC REPE D REPNZ.如果“JNCL”指令的操作碼放在 0040H,轉移后在0020H處取下一條指令的操作碼,那么該條指令的位移量是( )。A 20H B 1EH C

6、0DEH D 0E0H.如果“JAP指令的操作碼放在 0050H,該指令的位移量為 34H,執行完此條指令轉移到取下一條指令的偏移地址為( )A 0082H B 0084HC 0086HD 0088HADD26 若 DS=1000H, BX=2000H,(12000H ) =56H,( 12001H ) =78H, AX=1000H ,執行 TOC o 1-5 h z AX, BX 指令后,” AX=()。A 8856HB 6678H C 8800H D 6600HCMPAX, BX指令后,設 AX、 BX 寄存器中存放的是有符號的二進制數據,若執行) L 表示大于則轉L。A JZBJACJG

7、EDJG.執行“DIVBX指令后,()寄存器中存放商。A ALBAHCAXDDX.執行“()AX, BX指令不改變 AX寄存器中的內容。A CMP B ADDC XOR D OR.若 AX=1000H,執行 “NEGAX指令后,AX=()。A 1000H B 0E000H C 0F000H D 1001H、多項選擇題1在下列尋址方式中,用來訪問內存的尋址方式有( )。A.寄存器尋址B,寄存器間接尋址C,寄存器相又t尋址D.直接尋址2用來作為寄存器間接尋址的寄存器有( )。A AXB BXC BPCX TOC o 1-5 h z 3.在下列指令中,源操作數使用DS段寄存器進行寄存器相對尋址的有(

8、)。A MOV AX, DI 4B MOV AX, ES: SI 8C MOV AX, BP 4D MOV AX, BX 44在下列指令中,源操作數的尋址方式是錯誤的有()。A MOV AX, DI BXB MOV AX, SI DIC MOV AX, BP BX D MOV AX, DX5在下列指令中,屬于段內轉移指令的有()。A JMP SHORT AB JMP BXC JMP DWORD PTR BX D JMP NEAR PTR BX SI6 在下列指令中,錯誤的指令有()。A SUB5, ALB ADDAL,BXC INCBXDSHRAX,67執行“ CMP AX, 8003H” 指

9、令后,當 AX 中的無符號數高于8003H 時,下列指令中有效的轉移指令有( )。A JNB L B JA LC JG LD JNL L.可與串操作指令CMPSW旨令配合使用的重復前綴有()。A REPB REPZC REPNZD REPE9在下列的輸入/ 輸出指令中,正確的指令有()。AINAX,80HBOUTDX,AXCINAL,340DOUTDX,AL在下列的指令中,錯誤的指令有( )。A PUSH ALB MOV AL, BXC PUSH 1000H D CALL AX.可以用下列指令代替“LOOPL”指令的有()。A DEC CX B DEC CXJNZJNCC. DECCXD. D

10、ECCXCMPCX, 0JE LJE L.填空題.在一條指令中,立即數只能作 操作數。 TOC o 1-5 h z . 8086/8088 CPU形成的內存物理地址有20 位。.指令“MOVAX, BX+SI的源操作數在內存的DS 段。.指令“MOV BX, BP+DI”的源操作數在內存的SS段。.指令MOVAX, ES: SI的源操作數在內存的ES 段。.入棧指令使用的是SS段。.指令ADDBX+SI, AL”的目的操作數是 基址+變址 尋址方式。.指令“SUB BX, ASI的源操作數是 寄存器相對 尋址方式。.指令“JMP DWORD PTR BX ”屬于 段間間接尋址方式。.可作為寄存

11、器間接尋址的寄存器有4 個。.堆棧是從高 地址向低地址方向生長的。其操作遵循LIFO 的操作原則.在進行彈棧操作時應該先將彈出的數據送目標地址 ,然后SP+2 o.在進行多精度加法運算時,一般使用ADC 指令。.通用的數據傳送指令不影響PSW o. “INCAL”指令不影響標志位的CF位。.若 AL=11H,執行 “NEGAL” 后,AL=。. JMP指令的執行 PSW寄存器中的各位。.兩個無符號數進行比較時,可以根據標志位來判斷大小。在編寫程序時可使用指令來實現。.若執行“DIVBX,其被除數的高 16位必須放在,低16位必須放在 一。. DAA指令只對寄存器中的內容進行調整。.若 AL=8

12、4H,在執行 CBW 后,AL=_。.十進制數1234的壓縮型 BCD碼為。13. MOV AX,+.執行 AND AL, 0FH JNZ L指令,是檢測 AL中的 位,當它為非零則轉移。.若移位指令的移位位數大于1時,其移位位數必須放在 中。.如果 AL=85H, CL=4,執行 “SARAL, CL時,AL=, CF=。.在串操作指令中,SI指向 串,DI指向 串。.如果要查找某串中與 AL寄存器中有相同的字符(數),則在SCASBW令前應配合使用 重復前綴。.轉移指令“JNZL ”的轉移范圍(十進制)是 o該指令的第二個字節為位移量, 用 形式表示。.段內調用指令改變 中的內容。.段間調

13、用指令改變 中的內容。.判斷題(判斷下列指令是否正確,如果是錯誤的,請指出錯誤的原因)ADD AL, BXMOV BX, SISUB BX, SICMP 5, ALMOV CX, AXLEABL, A TOC o 1-5 h z SHRAL,6MOVAL,DI+SIMOVBL,200HMOVAX, DATAINCBXCMP BX, A ; A 為變量 MOVAX, BP+BX TOC o 1-5 h z ADDAX,CXOUT400 ,ALJNCP MOV BX,, OFFSET ALEADI, ASICMPAX,5五改錯題(按下列指令中的原意改正下列指令)DECSICMPAL, BX;無符號

14、數比較MOVDX , ALMOVAL, 300HMOVBX , DI;字節操作ADDAL, CX+SIADDAL, BX;有符號數相加PUSHALCMPBX, 5;字節比較 MOVDS, 1234H六簡答題1.設BX=1000H, SI=2000H,位移量D=3000H,請指出下列各種尋址方式的有效地址是 什么?1)使用D 的直接尋址2)使用BX 寄存器的間接尋址3)使用BX 寄存器的相對尋址4)基址變址尋址5)相對基址變址尋址2請指出下列各條指令的源操作數的尋址方式是什么?MOV AX, BUFCMPAL, 5ADD BX+5 , AXSUBAX, BX+SIADC AH, ASIMOV B

15、X, SIAND CX, BBP+SIJMPWORD PTR BXJMPP) JMP FAR PTR P3設DS=2000H, BX=0100H, SI=0002H,(20100H) =12H,(20101H ) =34H, (20102H) = 56H,(20103H) = 78H,(21200H) = 2AH,(21201H ) = 4CH,( 21202H) =B7H,( 21203H ) =65H ,試說明下列各條指令執行完后AX 寄存器中的內容是多少?MOVAX, 1200HMOV AX, BXMOVAX, 1200HMOVAX, BXMOVAX, BX+1100HMOVAX, BX

16、+SI7) MOVAX, BX+SI+1100H4按下列各小題的要求寫出相應的一條匯編語言指令。( 1)把 BX 寄存器和 DX 寄存器的內容相加,結果存入DX 寄存器中(2)以BX和SI寄存器作基址變址尋址方式,把該單元中的一個字傳送到AX。( 3)以SI 和位移量20H 作寄存器相對尋址,將該單元中的內容與CX 寄存器中的內容相加,結果存入 CX 寄存器中。4)清除AX 寄存器的內容,同時清除CF 標志位( 5)將字單元NUM 與 0B6H 進行比較5按下列各小題的要求使用相應的幾條指令完成其操作。( 1)將偏移量為200H 的存儲單元中的數與300H 相加,結果存入AX 寄存器中(2)比

17、較AX寄存器中與BX寄存器中的16位有符號數,當 AX中的內容大于 BX中的內容時轉移到 L。(3)將 BUF1 和 BUF2 中的 16 位數據交換(4)測試BUF字緩沖區中第15位,如果為1則轉移到P(5)將BUFI和BUF2的字相力口,結果送 S緩沖區6.設BX=8234H,請說明下列兩條指令的區別,執行下列各指令后BX中的內容是什么?SHR BX, 1SAR BX, 17分別說明下列每組指令中的兩條指令的區別。LEA BX, BUFAND BL, 0FHJMP LMOV AX, BXMOV AX, BP+DI( 1) MOV BX, BUF( 2 ) OR BL, 0FHSHORT L

18、(3) JMP( 4 ) MOV AX, BX5 ) MOV AX, BX+DI8說明下列各指令的源操作數和目的操作數的存儲地方。1) MOV 2000H , AX2) ADD AX, BX+5LEASI, BUFDIVBLDAAMUL BL9 .指出下列無條件轉移指令的轉移目標地址是什么存放在何處?JMP BXJMP WORD PTR BXJMPDWORD PTR BXJMPPJMP SHORT R10.說明MOVSB和CMPSB各能使用哪些重復前綴?七.程序分析題.現有程序段如下:MOVAX, 1234HMOV BX, 60HADD AX, BX請回答:(1)該程序段完成的功能是什么?(2

19、)程序段執行完后 AX=。.現有程序段如下:MOVAX, 0603HMOVBL, 8AAD請回答:(1)該程序段完成的功能是什么(2)程序段執行完后 AX=。.設AX=0D023H, BX=9FD0H,試分析執行完如下程序段后程序轉向何處ADDAX, BXJNO L1JNC L2SUBAX, BXJNC L3JNO L4JMP L5.程序段如下:MOV AX, XMOV DX, X+2ADD AX, YADC DX, Y+2ADD AX, 36ADC DX, 0SUB AX, ZSBB DX, Z+2MOV W, AXMOV W+2 , DX請回答:(1)該程序段完成的功能是什么(2)該程序的

20、操作數是何類型(3)結果存放在何處5.設A為字節變量,變量中的內容分別為64H、52H; B為字節變量,變量中的內容分別為12H、46H,現有程序段如下:MOVAL, ASUBAL, BDASMOV C, ALMOV AL, A+1SBB AL, B+1DASMOV C+1, AL請回答:(1)該程序段完成的功能是什么(2)最后結果是什么.現有程序段如下: TOC o 1-5 h z MOVBL,ALMOVCL, 4SHRBL,CLMOVA,BLANDAL,0FHMOVB,AL請回答:(1)該程序段完成的功能是什么(2)如果 AL的初值為56H,貝ij A=, B=.現有程序段如下:ROR A

21、L, CLMOVAL, 8MOVBL, 7MUL BLAAMADDAX, 3030HXCHG AH, ALMOV BUF, AX請回答:(1)該程序段完成的功能是什么BUF兩個單元中的值分別為.現有程序段如下: TOC o 1-5 h z MOVAX, MMOV DX, NSHRDX, 1RCRAX, 1請回答:(1)該程序段完成的功能是什么(2)若 M=1234H, N=5678H,程序運行后 DX=.現有程序段如下:XORAX, AXMOVAX, 6342HMOVCX, 0404HROL AH, CLXCHG CH, CL請回答(1)該程序段執行后 AX=CF=.現有程序段如下: TOC

22、o 1-5 h z MOVAX,1MOVBX,2MOVCX,4MOVDX,3: INC AXADDBX, AXSHRDX, 1LOOPNZ L請回答:(1)該程序段的循環次數是多少(2)該程序段執行完后 AX=, BX=, CX=, DX=.現有程序段如下:MOV CX, 16MOV BX, 0MOV DX, 1L: MOVAX, 9AB8HAND AX, DXJZ NINC BXN: SHLDX, 1LOOP LMOVCX, 10MOV DX, 0MOVBL, 1MOV MBX請回答:(1)該程序段完成的功能是什么(2)該程序段執行完后(M) =o.現有程序段如下:CLDMOVSI, OFF

23、SET BUF1MOVDI, OFFSET BUF2MOVCX, 100REP MOVSB請回答:該程序段完成的功能是什么.現有程序段如下:CLDLEADI,BUF TOC o 1-5 h z MOVAL,20HMOVCX,100REPNZ SCASB請回答:(1)該程序段完成的功能是什么(2)若ZF=1,表示BUF中 值為20H數據(3)若BUF的首地址為0, ZF=0,執行完該程序段后DI=.現有程序段如下:MOV AL, 0L: ADDAL, BLINC BLLOOP L請回答:(1)該程序段完成的功能是什么(2)該程序執行完后,AL= o.現有程序段如下:MOVAX, MCMPAX,

24、NJA LMOVAX, M+2CMPAX, N+2JAZ LMOVFLG BYTE PTR 0JMP PL: MOV FLG BYTE PTR 1P:請回答:(1)該程序段完成的功能是什么(2)若 M=1234H , N=5678H,貝U FLG=.現有程序段如下:MOVCX, 100LEABX, BUFL1: MOVAL, BXCMPAL, 10JLL2INC DXL2: INC BXLOOP L1請回答:(1)該程序段完成的功能是什么(2)如果將JL改為JG,該程序段完成的功能又是什么.設 TAB 中存放的數據為 30H, 31H, 32H, 33H, 34H , 35H , 36H, 3

25、7H, 38H, 39H,現有程序段如下:LEABX, TABMOVAL, X ; X 為數字 0-9XLAT請回答:(1)該程序段完成的功能是什么(2)若X中的內容為4,則AL= o.現有程序段如下:LEA SI, BUF1LEA DI, BUF2MOV CX, 100L: MOV AL, SI+100MOV DI, ALINC DIDEC SILOOP L請回答:該程序段完成的功能是什么19 現有程序段如下:MOVAX, BUFCMPAX, 0JNS LMOVBX, BUF+2NEG BXMOV BUF+2, BXNOT AXADC AX, 0MOV BUF, AXL:請回答:該程序段完成

26、的功能是什么20現有程序段如下:MOV AL, XANDAL, 0FHJZ LMOV BYTE PTR FLG, 1JMP ML: MOV BYTE PTR FLG, 0M:請回答:該程序段完成的功能是什么八程序設計題1.使用串操作指令,將 BUF緩沖區中的100個字節清02 .比較5個字節的字符串 A和B,若兩個串相等則字節標志單元FLG置0;否則清13 .設BUF緩沖區中有100個字數據。編寫程序段統計100個字數據中數據為 0的個數,并將統計的結果存放在DL 寄存器中。4 計算 Z=(X+5) *Y+30 ,( X, Y 為無符號字節數據)。.將DX: AX: BX中的48位數乘以 2.

27、將有100個字符的緩沖區 BUF中的$符號用空格(20H)代替將有符號的字數據 A 和 B 中的大者存入 C 中。.測字單元 A中的第四位是否為 0,是則FLG置1,否則清0將DX: AX 中的 32 位數據邏輯左移 2 位。10 將100 個元素的字數組A 中的每個元素減1參考答案6. SS (堆棧).單項選擇題 TOC o 1-5 h z 1 B 2 A 3B 4C5D6B7 C 8 B9 C10 A1121B 12 B 13B 14D15A16B17 D 18C 19C 20D 22 B 23C 24C25C26A27 D 28C 29A 30二多項選擇題1 BCD 2 BC 3 AD

28、4 BCD 5 ABD6 ABCD 7 AB 8 BCD 9 ABD 10 ABCD11 AC三填空題1源20DS (數據)SS (堆棧)ES (附加)7 基址加變址19 DX, AX20 AL8 寄存器相對9段間間接10 411高,低,后進先出(先進后出)12 目標地址,SP+213. ADC (帶進位加)14 標志位(PSW)15 CF16 0EFH17 不影響18 CF( SF),JA( JB、 JC、 JNC、 JS、 JNS)21 0FF84H2 對1錯,兩個操作數的類型不一致。22 1234H23 低 4 位24 CL25 0F8H , 026源,目的27 REPNE( REPNZ

29、)28.128 127,補碼29 IP30. CS和 IP四.判斷題3錯,雙操作數不能同時是內存中的數據。4錯, 5 是立即數,不能作目標地址。5對6錯,A 的偏移地址是16 位的,而 BL 是 8 位的寄存器,兩個操作數的類型不一致。7 錯,移位指令的移位位數大于1 時,其移位位數應存放在 CL 寄存器中。8錯, DI 和 SI 不能同時使用在一種尋址方式中。9錯,200H 超出一個字節的范圍,兩個操作數的類型不一致。10 對11 .錯,BX是字節還是字操作不明確,有二義性。12 錯,雙操作數不能同時是內存中的數據。13 對14錯,BP 和 BX 不能同時使用。.錯,CX不能作寄存器間接尋址

30、。.錯,OUT指令的地址超過 255時,必使用 DX寄存器作為間接尋址的寄存器。17對7 CBW ADD AX, BX18對19對20對五改錯題DEC BYTE PTR SI 或 DEC WORD PTR SIMOVAH, 0 CMPAX, BXMOV SI, DX 或 MOV DI, DX 或 MOV BX, DXMOV SI, AL MOV DI , AL MOV BX, ALMOV AX, 300HMOV AL, DIMOV BX , AL ADD SI, CXADD AL, SI10 )段間直接PUSH AXCMP BYTE PTR BX , 5 或 CMP BX , BYTE PTR

31、 5MOV AX, 1234HMOV DS, AX六簡答題(1) 3000H) 1000H( 3 ) 4000H( 4 ) 3000H( 5) 6000H2(1 )直接( 2)立即( 3)寄存器4)基址加變址5)寄存器相對6)寄存器間接( 7)相對基址變址8)段內間接9)段內直接3(1 ) 1200H0100H4C2AH3412H4C2AH7856H65B7H4( 1) ADDDX, BX( 2) MOV AX, BX+SI( 3 ) ADDCX, SI+20H( 4 ) XORAX, AX(5) CMPWORD PTR NUM , 0B6H5 ( 1) MOVAX, 200HADD AX,

32、300H( 2) CMPAX, BX JG L( 3 ) MOVAX,BUF1XCHGAX,BUF2MOVBUF1, AXTESTWORD PTRBUF,8000HJNZPMOVAX,BUF1ADDAX,BUF2MOVS,AXSHR是邏輯右移指令,移位后空出的位補0,而SAR是算術右移指令,最高位保持不變,其他位右移一位。 SHR BX, 1執行后BX=411AH,執行SAR BX, 1后 BX=0C11AH。1 ( 1)兩數1234H 和 60H 相加,結果存放在AX 中。2) 1294H(1) MOV BX, BUF中的BUF是直接尋址,它是將BUF單元中的內容傳送給BX。而LEA BX,

33、 BUF是將BUF的偏移地址送 BX。OR是或指令,而 AND是與指令。JMP SHORT L是短轉移,產生的目標代碼的位移是8位的,而JMP L產生的位移是 16 位的。MOV AX, BX的源操作數是 BX中的內容,即寄存器尋址。而 MOV AX, BX中的源操作數是BX 所指向的內存單元中的內容,即寄存器間接尋址。MOV AX, BX+DI使用的是 DS段,而 MOV AX, BP+DI使用的是 SS段。8(1)源操作數在 AX 寄存器中,結果存放在內存的 2000H 單元。( 2 )源操作數在內存,結果存放在AX 中。(3)源操作數在指令中,即BUF的偏移地址,結果存放在SI中。( 4 )源操作數和結果都在AL 中。( 5)源操作數在BL 中,結果存放在AX 中。9 (1) BX 中的內容做目標地址的偏移地址。BX 所指字單元中的內容作目標地址的偏移地址。( 3 ) BX 所指字單元中的內容作目標地址的偏移地址,下一字單元中的內容作段地址。P 的地址。R 的地址。10.MOVSB只能使用 REP重復前綴,CMPSB能使用 REPZ REPNE REPE和REPNZS復前綴。2 5 7 程序分析題10 1) 22. (1)實現兩個未壓縮 BCD碼的除法。0707HL51 )計算 X+Y+36-Z( 2)字W. (1)實現

溫馨提示

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

評論

0/150

提交評論