求助一些汇编语言的题目(2)

2024-12-26 17:02:16
推荐回答(1个)
回答1:

三、简答题

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 )