在汇编编程中获取堆栈的起始地址

时间:2010-03-01 13:51:11

标签: assembly stack masm

在完成堆栈操作(例如汇编编程中的push和pop)后,是否可以获得堆栈的有效起始地址?

2 个答案:

答案 0 :(得分:1)

惯例是在函数开头将(E)SP保存到(E)BP,并使用(E)BP进行局部变量寻址。

答案 1 :(得分:0)

最简单的情况就是将初始堆栈指针保存到某个变量,以便在需要时访问它。如果不是这种情况,请使用特定于平台的API,例如Windows上的VirtualQuery,使用当前SP值作为第一个参数。基地址将在MEMORY_BASIC_INFORMATION结构的BaseAddress字段中。可以使用pthread函数

完成posix任务