三、简答题
1.根据要求选择相应的指令
1)、使DX的高3位为1,其余位不变
or dx, 11100000b
2)、将VAR1变量的段地址送到BX寄存器
3)、将BX寄存器的内容减去CX寄存器的内容,结果存入BX
sub bx, cx
4)、将CX的内容和DX内容互换
xchg cx, dx
5)、将DX和AX组成的32位有符号数除以2
sar dx, 1
ror ax, 1
386以后可以
shrd ax, dx, 1
2.在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。例如:
PUSH AX
PUSH BX 保护现场
PUSH CX
PUSH DX
......
恢复现场
试写出恢复现场时的指令序列。
POP DX
POP CX
POP BX
POP AX
3.标号哪三种属性?涵义是什么?
4.试述子程序的一般结构组成?
四、阅读程序
这是一个SUM=2+4+6+8+...200简单程序,和放在字单元SUM中
要求1.分析程序并在程序中所缺的行填空,完成程序
2.将所填处的语句在程序中作用进行解释
DATA SEGMENT
SUM DW ?
DATA ENDS
CODE SEGMENT
ASSUME( CS:CODE, DS:DATA )
MAIN PROC FAR
PUSH DX
(XOR AX, AX )
PUSH AX
MOV AX,DATA
MOV( DS ),AX
MOV CX,(100 )
MOV AX,0
MOV BX,2
L1:( ADD AX, BX )
ADD BX,2
LOOP ( L1 )
MOV ( SUM ),AX
RET
MAIN ENDP
CODE ENDS
END( MAIN )