早教吧 育儿知识 作业答案 考试题库 百科 知识分享

若(SP)=2000H,(AX)=3355H,(BX)=4466H,试指出下列指令或程序段执行后有关寄存器的内容。(1)PUSHAX执行后(AX)=?(SP)=?(2)PUSHAX;PUSHBX;POPDX;执行后(AX

题目详情
若(SP)=2000H,(AX)=3355H,(BX)=4466H,试指出下列指令或程序段执行后有关寄存器的内容。
(1)PUSH AX 执行后(AX)=?(SP)=?
(2)PUSH AX;
PUSH BX;
POP DX;
执行后(AX)=?(CX)=?(DX)=?(SP)=?
能不能有详细解析过程、因为我不太懂、谢谢了。
▼优质解答
答案和解析
1) ax内容不变 压栈 操作后 元寄存器内容不变。 所以ax=3355H
sp是堆栈指针 根据设定的堆栈方向进行加和减操作,按照系统默认的是做减法,所以sp=1FFEH
2)ax,bx 不变 ax=3355h bx=4466h 而DX内容是刚推进去的BX的内容 所以 DX=4466H
由于堆栈进行两次推进和一次弹出操作 所以 sp=sp-2*2+2=sp-2 所以sp=1FFEH