第三章 课后练习题
一、
1、若 (AX)=9C5AH ,(BX)=9754H ,执行下列指令序列后,程序转向何处执行。
ADD AX , BX JNC L3
JNO L1 JNO L4
JNC L2 JMP L5
SUB AX ,BX
答案: L5
2、中断服务程序结束时,用 RET 指令代替 IRET 指令能否返回主程序?这样做存在什么问题?
答案: RET 应该可以使中断服务程序返回主程序,但因为 RET 是子程序返回指令,它只从堆栈
中恢复 CS 和 IP,而不能使状态字 PSW 得以恢复, 所以不能使断点完全恢复, 对源程序的继续执
行造成不良影响。
3、写出把首地址为 BLOCK 字数组中的第 6 个字,送到 DX 寄存的指令(或指令组) ,要求使用
以下几种寻址方式:
(1) 寄存间接寻址; (2) 寄存相对寻址; (3) 基址变址寻址
答案: 1) MOV BX ,OFFSET BLOCK+6 MOV DX,[BX]
2) LEA BX ,BLOCK MOV DX,[BX+12]
3) LEA BX ,BLOCK MOV SI,12 MOV DX,[BX+SI]
4、
二、
1、2458H
2、00DAH
3、(DX)=0010H (AX)=0420H
4、0000,1
5、58
79
89H 1 ,0
8FH 1 ,0