设当前程序的堆栈段寄存器(SS)=6000H,堆栈指针寄存器(SP)=2000H,(AX)=3000H,(BX)=5000H,问执行PUSH,AX,PUSH BX和POP AX后,问(SS)=?(SP)=?(AX)=?(BX)=?并分别画图依次说明执行上述三条指令时堆栈指针的变化情况
时间: 2023-05-15 14:05:29 浏览: 310
IBM-PC.rar_IBM PC汇编语言程序设
执行PUSH AX后,(SS)=6000H,(SP)=1FFEh,(AX)=3000H,(BX)=5000H。
执行PUSH BX后,(SS)=6000H,(SP)=1FFCh,(AX)=3000H,(BX)=5000H。
执行POP AX后,(SS)=6000H,(SP)=1FFEh,(AX)=5000H,(BX)=5000H。
堆栈指针的变化情况如下图所示:
```
+-----------------------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
+-----------------------+
6000H 2000H
SS SP
```
执行PUSH AX后,堆栈指针减少2,指向1FFEh。
执行PUSH BX后,堆栈指针再次减少2,指向1FFCh。
执行POP AX后,堆栈指针增加2,指向1FFEh。
阅读全文