设当前程序的堆栈段寄存器(SS)=6000H,堆栈指针寄存器(SP)=2000H,(AX)=3000H,(BX)=5000H,问执行PUSH,AX,PUSH BX和POP AX后,问(SS)=?(SP)=?(AX)=?(BX)=?并分别画图依次说明执行上述三条指令时堆栈指针的变化情况
时间: 2023-05-15 10:05:22 浏览: 37
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。
堆栈指针的变化情况如下图所示:
```
+----------------------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
+----------------------+
| 5000H |
+----------------------+
| 3000H |
+----------------------+
| 2000H |
+----------------------+
| 6000H |
+----------------------+
```
注意:这里的堆栈是向下生长的,即堆栈指针的值越小,堆栈地址越高。
阅读全文