【发布时间】:2011-05-24 12:00:05
【问题描述】:
以下图片来自维基百科entry调用堆栈,有些东西我完全不明白:
我认为存储在 ebp 寄存器中的帧指针在 prologue* 中是这样初始化的:
push ebp ; Preserve current frame pointer
mov ebp, esp ; Create new frame pointer pointing to current stack top
sub esp, 20 ; allocate 20 bytes worth of locals on stack.
如果是这样,那么图像中的帧指针不应该指向返回地址之后,它应该是前一个帧指针地址,然后是返回地址吗?我错过了什么?
谢谢!
*取自:What is exactly the base pointer and stack pointer? To what do they point?
【问题讨论】:
标签: assembly windbg callstack calling-convention