【发布时间】:2011-01-22 07:23:22
【问题描述】:
在汇编编程中完成push和pop等堆栈操作后,是否可以获得堆栈的有效起始地址?
【问题讨论】:
-
你是说起始地址(即基地址,不会改变)还是真的是栈顶地址,即栈指针的当前值?
-
起始基地址...即使栈顶也可以...但最好是基地址
-
基地址不会改变 - 这是堆栈指针从程序开始处开始的地方。堆栈地址的顶部是您推送/弹出时发生的变化。你真正想要哪一个?
-
假设我已经执行了一些推送弹出操作,现在我想获取堆栈的底部是否可以不弹出所有其他值?
-
正如@drlazy 下面所说,您可以在程序开始时保存初始堆栈指针,然后再开始将内容压入堆栈。