【发布时间】:2015-10-05 07:51:34
【问题描述】:
我正在学习汇编,想知道当你弹出一个空堆栈或增加 SP(堆栈指针)时会发生什么,例如它已经是 FFFE:
seg1 segment
org 100h
pop ax
mov ah,4ch
int 21h
seg1 ends
当我通过调试器运行程序时,我看到 SP 在执行 pop 命令后将指向 SP = 0000。为什么SP指向0000?是因为内存中的最大 SP 是 FFFF 并且它只是循环到第一点吗? (我知道SP只会增加或减少2,因为push和pop总是2字节) 执行命令时程序会在 SP = 0000 处弹出任何内容吗?
我正在使用 a86 宏汇编器,Oracle VM VirtualBox。 谢谢。
【问题讨论】: