一. 单选题(共2题,2分)
1. (单选题, 1分)设有变量BUF,指令 LEA SI,BUF 与下面哪条指令执行结果等效?
- A. MOV SI,SEG BUF
- B. MOV SI,OFFSET BUF
- C. MOV SI,TYPE BUF
- D. MOV SI,LENGTH BUF
正确答案: B
LEA:获取有效地址指令
0FFSET:获取偏移地址
2. (单选题, 1分)若要检查BX寄存器中的D12位是否为1,应该用 指令。
- A.
OR BX,1000H
JNZ NO
-
OR:逻辑或,将结果保存到目的操作数中
- B.
TEST BX,1000H
JNZ YES
-
TEST:逻辑测试,将源操作数与目的操作数相与,结果不保存
- C.
XOR BX,1000H
JZ YES
-
XOR:逻辑异或,将结果保存在目的操作数中
- D.
CMP BX,1000H
JNZ YES
-
CMP:比较指令,结果不保存
我的答案: B正确答案: B
1分
二. 填空题(共2题,5分)
3. (填空题, 3分)
子程序NUMSHOW的功能是将BL中的内容以二进制的形式在屏幕上显示,请在空白处填上适当的内容。
NUMSHOW PROC
MOV CX,
NEXT: MOV DL, H
SHL BL,1
JNC SHOW
MOV DL, H
SHOW: MOV AH,2
INT 21H
LOOP NEXT
RET
NUMSHOW ENDP
因为bl寄存器是8位的,所以计数值的初值为8,存放于cx当中。
将bl的值一位一位地移动到CF中,每移动一位,就判断这一位是1还是0。如果是1,就将‘1’的ASCII码31H放到DL寄存器中,如果是0,就将‘0’的ASCII码30H放到DL寄存器中。然后调用INT21H的显示功能,显示DL中的ASCII码。这样循环8次,就将bl中的8位数据用8个ASCII码显示出来了。
正确答案:
(1) 8;8H;08H;0008H
(2) 30
(3) 31
4. (填空题, 2分)
下列指令执行完后,AX= H,BX= H。
MOV AX,1100H
MOV BX,6D16H
MOV CL,06H
ROL AX,CL //循环左移6位
SHR BX,CL //逻辑右移6位
正确答案:
(1) 4004
(2) 01B4;1B4
三. 判断题(共3题,3分)
5. (判断题, 1分)无论是转移指令还是循环控制指令,均可跳转到程序的任意位置。
- A. 对
- B. 错
我的答案: 错正确答案: 错
1分
6. (判断题, 1分)8086CPU进行堆栈操作时,可依需要进行字节或字操作。
- A. 对
- B. 错
我的答案: 错正确答案: 错
1分
7. (判断题, 1分)
指令“ADD AX,[BX+2000H]”是一条不带进位的加法指令,因此该指令执行后进
位标志位CF将不受影响。
- A. 对
- B. 错
我的答案: 错正确答案: 错