资源描述
第三章习题集
二. 选择题(每小题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. 在下面四组寄存器中,第 D 组都可用于对存储器间接寻址方式的寄存器。
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. 含有立即数的指令中,该立即数被存放在 B 。
A. 累加器中 B. 指令操作码后的内存单元中
C. 指令操作码前的内存单元中 D. 由该立即数所指定的内存单元中
9. 寄存器间接寻址方式中,操作数在 C 中。
A. 通用寄存器 B. 堆栈 C. 存储单元 D. 段寄存器
10. 下列指令中,有语法错误的指令是( B 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中除___C___两种寻址方式外,其它各种寻址方式的操作数均在存储器中。( )
A. 立即寻址和直接寻址 B. 寄存器寻址和直接寻址
C. 立即寻址和寄存器寻址 D. 立即寻址和间接寻址
13. 指令( C )的源操作数的寻址方式为直接寻址。
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,BL
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中的内容压入堆栈,第 D 示图中堆栈内容是正确的。
40000H SS
40001H
..
40FFCH 09H SP
40FFDH 56H
40FFEH 78H
40FFFH 00H
41000H
D.
40000H SS
40001H
..
40FFCH 56H SP
40FFDH 09H
40FFEH 0FCH
40FFFH 78H
41000H
C.
40000H SS
40001H
..
41000H
41001H 0FCH
41002H 78H
41003H 56H
41004H 09H SP
B.
40000H SS
40001H
.
40FFCH 09H SP
40FFDH 56H
40FFEH 78H
40FFFH 0FCH
41000H
A.
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. 附加段
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
39. 循环指令LOOPNZ终止循环的条件是( B )。
A、CX=0,且ZF=0 B、CX=0,或ZF=1
C、CX=10,且ZF=0 D、CX=10,或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
46. MOV SP,3210H
PUSH AX
执行上述指令序列后,SP寄存器的值是( B )。
A、3211H B、320EH C、320FH D、3212H
A.先进先出 B.随机读写 C.只能读出不能写入 D.后进先出
49. 堆栈的工作方式是(D )
展开阅读全文