第3章 寻址方式和指令系统

更新时间:2023-09-18 02:22:01 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第三章习题集

一. 判断(正确的在括号画“√”,错误的画“×”,每小题2分,共计20分) 1. 所有PC机具有相同的机器指令。 ( × ) 2. 指令SBB SI,[SI],源操作数是寄存器间接寻址方式,目的操作数是寄存器寻址方式。

( ) 3. MOV 20H[BX],TABLE,其中TABLE是符号地址,源操作数是立即数寻址方式,目的操作数

是变址寻址方式。( )

4. MOV AX,[BP]的源操作数物理地址为16d ×(DS)+(BP) ( 错 ) 5. 偏移地址和有效地址是相等的。( )

6. 段内转移指令执行结果要改变IP、CS的值。 ( 错 ) 7. 8086CPU寄存器中,负责与I/O接口交换数据的寄存器是DX。( × ) 8. 堆栈是以先进后出方式工作的存储空间。( √ ) 9、 立即数只能存放在代码段中。( × )

10、间接寻址不能同时用于目的和源操作数。(√ )

11、指令AND AL,0 和指令MOV AL,0执行后的结果完全一样。( × ) 12、字符串操作指令可以使用重复前缀来实现块操作。(√ )

13、NOP指令不使CPU执行任何操作,因此执行它不需要任何时间。(× )

14.OUT DX,AL指令的输出是16位操作数。 ( 错) 15.不能用立即数给段寄存器赋值。 ( 对 ) 16.所有传送指令都不影响PSW寄存器的标志位。 ( 错 ) 17.堆栈指令的操作数均为字。 ( 对 ) 18.REPE/REPZ是相等/为零时重复操作,其退出条件是:(CX)=0或ZF=0。 ( 错 ) 19. INC [SI]指令合法。( ) 20. XCHG AX,ES 指令不合法。( ) 21. OUT DX,AL 指令不合法。( ) 22. MOV DS,1234H指令合法。( )

23. MOV BL,AX [ ] 24. MOV AL,3F0H [ ] 25. MOV 12H,AL [ ] 26. POP CS [ ] 27. MOV CS,AX [ ] 28. MOV [BX],[DI] [ ] 29. PUSH CS [ ] 30. ADD [1234H],1234H [ ]

二. 选择题(每小题1分,共15分)

1. 逻辑地址1000:2000对应的物理地址为( B )。

A、1200H B、12000H C、2100H D、21000H 2. 下面哪个寄存器使用时的默认段寄存器为SS( C )。

A、AX B、BX C、SP D、SI 3. 当使用BP寄存器作基址寻址时,若无指定段替换,则内定在( B )段内寻址。 A.程序 B.堆栈 C.数据 D.附加

4. 在下面四组寄存器中,第 组都可用于对存储器间接寻址方式的寄存器。

A. AX,BX,CX,IP; B. BX,SP,DX,SI C. IP,SP,BP,AX D. BP,BX,SI,DI 5. 含有立即数的指令中,该立即数被存放在 a 。

A. 累加器中 B. 指令操作码后的内存单元中 C. 指令操作码前的内存单元中 D. 由该立即数所指定的内存单元中 6. 用段基值及偏移量来指明内存单元地址的方式称为( C )。

A、有效地址 B、物理地址 C、逻辑地址 D、相对地址 7. 已知物理地址为0FFFF0H,且段内偏移量为0B800H,若对应的段基地址放在DS中,

则DS=( B )。

A、0FFFFH B、0F47FH C、2032H D、0F000H 8. 含有立即数的指令中,该立即数被存放在 a 。

A. 累加器中 B. 指令操作码后的内存单元中

C. 指令操作码前的内存单元中 D. 由该立即数所指定的内存单元中 9. 寄存器间接寻址方式中,操作数在 c 中。

A. 通用寄存器 B. 堆栈 C. 存储单元 D. 段寄存器 10. 下列指令中,有语法错误的指令是(_D___)。

A. MOV AX,[1000H] B. LEA AL,1000H C. MOV [1000H],AL D. MOV 1000H,AX 11. 下列指令语法有错的是:C

A. MOV AX,1000H B. MOV AX,BX

C. MOV [AX],[1000H] D. MOV AX,[1000H]

12. 8086/8088中除______两种寻址方式外,其它各种寻址方式的操作数均在存储器中。

( )

A. 立即寻址和直接寻址 B. 寄存器寻址和直接寻址 C. 立即寻址和寄存器寻址 D. 立即寻址和间接寻址 13. 指令( )的源操作数的寻址方式为直接寻址。

A. MOV [2000H],AL B. IN AL,DX

C. XOR AL,[2000H] D. MOV AX,2000H 14. 下列指令中,执行速度最快的指令是(____)。A

A. ADD AX,10 B. ADD AL,[SI+10H] B. ADD AX,CX C. ADD AX,[BX] 15. 下列指令中,不影响进位的指令是:( C )

A. ADD AX,BX B. MUL BL C. INC BX D.SUB AL,BH 16. 执行PUSH AX指令后,堆栈指针SP的内容:B

A.减1 B. 减2 C. 加1 D. 加2 17. 下面对PUSH指令描述正确的是( C )。

A. PUSH只能将字节型数据压入堆栈。 B. PUSH只能将字型数据压入堆栈。 C. PUSH只能将双字节型数据压入堆栈。D. PUSH可对任何类型数据操作。 18. 当对两个组合(压缩)BCD数(字节)相加后,应使用( B )调整。 A. AAA B. DAA C. AAS D. DAS

19. 若CX=3,AX=1,执行完SHL AX,CL指令后,AX=( D )。

A. 1 B. 2 C.4 D. 8

20. 8086中( D )的源操作数和目的操作数可同时为存储器数。 A、数据传送指令 B、算术、逻辑运算指令 C、控制转移指令 D、串操作指令 21. 下列指令中隐含使用寄存器SI的是:B

A HLT B. CMPSB C. XLAT D. NOT 22. 下列指令中,有语法错误的指令是(_D__)。 A. MOV AX,[BX][SI] B. LEA DI,[2000H] C. OUT DX,AL D. SHL BX,2

23. 将AL中带符号数乘10送AL,正确的程序段是( AB )。

A. SAL AL,1 B. ADD AL,AL MOV BL,AL MOV BL,AL SAL AL,1 ADD AL,AL SAL AL,1 ADD AL,AL ADD AL,BL ADD AL,AL C. MOV CL,4 D. ADD AL,AL MOV BL,AL ADD AL,AL SAL AL,CL ADD AL,AL ADD AL,BL ADD AL,AL ADD AL,AL

24. 假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据

21H的物理地址是( D )。

A、20102H B、20101H C、200FEH D、200FFH

25.设(SS)=4000H,(SP)=1000H,(AL)=78H,(AH)=0FCH,(DX)=5609H。现要求把AL和DX中的内容压入堆栈,第 示图中堆栈内容是正确的。 40000H SS 40000H SS 40000H SS 40000H SS 40001H 40001H 40001H 40001H .. . .. .. 40FFCH 09H SP 41000H 40FFCH 56H SP 40FFCH 09H SP 41001H 0FCH 40FFDH 56H 40FFDH 56H 40FFDH 09H 41002H 78H 40FFEH 78H 40FFEH 78H 40FFEH 0FCH 41003H 56H 40FFFH 0FCH 40FFFH 00H 40FFFH 78H 41004H 09H SP 41000H 41000H 41000H A. B. C. D. 26. 在串传送指令MOVSB中,源串操作数和目的串操作数使用的数据段和偏移地址指针寄

存器为 。

A. DS和SI; ES和DI B. DS和DI; ES和SI C. ES和SI; DS和DI D. DS和SI; DS和DI; 27. c 寻址方式的跨段前缀不可省略。

A. DS:[BP] B. DS:[SI] C. DS:[DI] D. SS:[BP] 28. 若要检查BX寄存器中的D12位是否为1,应该用 d 指令。 A. OR BX,1000H B. TEST BX,1000H

JNZ NO JNZ YES

C. XOR BX,1000H D. AND BX,1000H JZ YES JNZ YES

29. 用BP作基址变址寻址时,操作数所在的段是当前 c 。

A. 数据段 B. 代码段 C. 堆栈段 D. 附加段 30.执行下列指令后: MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL CX HLT

(AX)= a

A. 8D00H B. 9260H C. 8CAOH D. 0123H 31. 下列程序:

NEXT:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP NEXT

可用指令 d 来完成该功能。

A. REP LODSB B. REP STOSB C. REPE SCASB D. REP MOVSB 32. 设(AL)=-68,(BL)=86,执行SUB AL,BL指令后,正确的结果是 c 。 A. CF=1 B. SF=1 C. OF=1 D. ZF=1 33. 下列4条指令中,有几条指令需要使用DX寄存器( B )。

MUL BX; DIV BL; IN AX,20H; OUT 20H,AL; A.1条 B.2条 C.3条 D.4条 34. 下列指令中,不影响标志寄存器的标志位的指令是( D )。 A.SUB AX,BX B.ROR AL,1 C.JNC Label D.INT n

35. 下列指令经汇编后,机器指令代码最长的是( D )。 A.MOV AX,0 B.SUB AX,AX

C.XOR AX,AX D.MUL BX

36. 假设AX和BX寄存器中存放的是有符号整数,为了判断AX寄存器中的数据是否大于BX寄存器中的数据,应采用指令序列( D )。

A.SUB AX,BX B.SUB AX,BX JC label JNC label C.CMP AX,BX D.CMP AX,BX JA label JG label

37. 设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是(A ) A、85B92H B、86192H C、BB690H D、12169H

38. 下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( B ) A、AX,BX,CX,DX B、BX,BP,SI,DI C、SP,IP,BP,DX D、CS,DS,ES,SS 39. 循环指令LOOPNZ终止循环的条件是( B )。 A、CX=0,且ZF=0 B、CX=0,或ZF=1 C、CX10,且ZF=0 D、CX10,或ZF=1

40. 对寄存器AX的内容乘以4的正确指令序列是( B )。 A、SHR AX,1 SHR AX,1 B、SHL AX,1 SHL,AX,1 C、ROL AX,1 ROL AX,1 D、RCR AX,1 RCR AX,1 41. 设DH=10H,执行NEG DH指令后,正确的结果是( B )。 A、DH=10H CF=1 B、DH=0F0H CF=0 C、DH=10H CF=0 D、DH=0F0H CF=1 42. 下列传送指令中有语法错误的是( A )。 A、MOV CS,AX B、MOV DS,AX C、MOV SS,AX D、MOV ES,AX

43. 下面指令执行后,改变AL寄存器内容的指令是( D )。 A、TEST AL,02H B、OR AL,AL C、CMP AL,BL D、AND AL,BL

44. 执行除法指令后,影响的标志位是( D )。 A、CF,OF B、SF,ZF

C、CF,OF,SF D、AF,CF,OF,PF,SF,ZF都不确定 45. 执行下面指令序列后,结果是( A )。

MOV AL,82H CBW

A、AX=0FF82H B、AX=8082H C、AX=0082H D、AX=0F82H 46. MOV SP,3210H

PUSH AX

执行上述指令序列后,SP寄存器的值是( C )。 A、3211H B、320EH C、320FH D、3212H 47. AL和VAR字节单元中分别存放一个带符号数,执行CMP AL,VAR时,如AL》VAR,那

么溢出位和符号位 的关系是( D )。

A、OF=SF B、OF1SF C、OF=SF=1 D、OF=SF=0 48. 检查BUF的内容是否为正偶数,如是正偶数,则0 TAL。下面程序段正确的是( )。 A、MOV AL,BUF JS K1 SHR AL,1 JNC K1 MOV AL,0 K1:?? B、MOV AL,BUF AND AL,11 JNZ K2 MOV AL,0

本文来源:https://www.bwwdw.com/article/55bh.html

Top