下面发布的是我的代码。帮助我理解以下代码的含义:
push ebp
mov ebp, esp
sub esp, 230h
答案 0 :(得分:1)
这是功能序言。
将旧的基指针推入堆栈,以便稍后恢复:
push ebp
将堆栈指针的值分配给基指针,然后在旧堆栈帧的顶部创建一个新的堆栈帧:
mov ebp, esp
通过减少或增加其值来进一步移动堆栈指针(取决于堆栈是否向下或向上增长):
sub esp, 230h
这里,230h
立即数是堆栈上保留的字节数,供本地使用。
以类似的方式,函数结尾反转序言的动作并将控制返回给调用函数。
检查此相关的SO问题:Function Prologue and Epilogue in C