标签: linux pointers assembly stack cpu-registers
我知道SS寄存器指向堆栈的“开始”,SP寄存器表示从SS寄存器到堆栈顶部的偏移。我对吗?如果是这样,它是如何工作的?知道堆栈从较高地址增长到较低地址。例如:
如果我的堆栈从地址0xFF变为地址0x00,我的SS寄存器将指向0xFF,但SP包含什么?一个偏移,所以我可以做SS - SP =堆栈的顶部?还是一个实际的地址?
我相信令我感到困惑的是,堆栈会增加到更低的地址。我正在使用linux / nasm。
提前致谢。