一、楼上所说的道理是正确的,但结果有误,即(SP)=2040H-2=203EH,所以答案为
1) (SP)=203EH,执行PUSH AX操作后,先把SP-2=>SP,再把AX入栈.
2) (SP)=203EH,(AX)=36F4H,执行PUSH BX操作后,先把SP-2=>SP,(SP)=203CH,再把BX入栈;而POP AX,是先做出栈操作,(AX)=36F4H,再做SP+2=>SP,(SP)=203EH.
二、使AL置0的指令的指令为
1)MOV AL,0
2)XOR AL,AL
3)SUB AL,AL
4)AND AL,0
三、(AL)乘以10值送AX的程序段为
1)MOV BL,10
IMUL BL
2)
CWB
SHL AL,1;AL乘2
RCL AH,1
MOV BX,AX;AL乘2后结果送BX
MOV CX,2
NEXT:
SHL AL,1;AL乘8
RCL AH,1
LOOP NEXT
ADD AX,BX;AL乘10
1) (SP)=203DH,执行PUSH AX操作后,先把SP-2=>SP,再把AX入栈.
2) (SP)=203DH,(AX)=36F4H,执行PUSH BX操作后,先把SP-2=>SP,(SP)=203BH,再把BX入栈;而POP AX,是先做出栈操作,(AX)=36F4H,再做SP+2=>SP,(SP)=203DH.
AL置0:MOV AL,0; XOR AL,AL.
MOV BL,10
MUL BL;即执行操作AL*BL=>AX