-3
A
回答
1
这是一个函数序言。
推旧基指针到堆栈,所以它可以在以后恢复:
push ebp
分配堆栈指针的入基指针值,那么一个新的堆栈帧将在旧的顶部被创建堆栈帧:
mov ebp, esp
移动堆栈通过降低或增加其值(取决于堆栈是否生长向下或向上)进一步指针:
sub esp, 230h
这里,230h
立即数值是堆栈中为本地函数中保留的字节数。
以类似的方式,函数结尾反转序言的操作并将控制返回给调用函数。
选中此相关的SO问题:Function Prologue and Epilogue in C
+0
一些编译器提供了选项不使用帧指针,这将释放ebp以用作通用寄存器(它仍然需要保存)。 – rcgldr 2014-11-01 02:17:05
相关问题
- 1. 汇编寄存器esp和ebp
- 2. ESP和EBP之间是什么?
- 3. 汇编代码“movl%1,%% ebx”是什么意思?
- 4. 这个英特尔汇编代码是什么意思?
- 5. fs:[register + value]是什么意思汇编?
- 6. 代码是什么意思?
- 7. 是什么意思?=在伪代码中使用时的意思?
- 8. x86组装中的“push ebp”是什么意思?
- 9. 这是什么C++代码的意思
- 10. 下面的代码是什么意思?
- 11. 汇编语言中的“MOV AH,4CH”是什么意思?
- 12. 汇编语言中的“短”跳是什么意思?
- 13. 什么意思?在c代码的意思是
- 14. “硬编码”是什么意思?
- 15. 这些代码行是什么意思?
- 16. 这是什么意思PHP代码? Magento
- 17. 这段代码是什么意思?
- 18. 这段代码是什么意思?
- 19. 这个JS代码是什么意思?
- 20. JS代码$$是什么意思?
- 21. 插件代码 - 这是什么意思?
- 22. 这段代码是什么意思?
- 23. EIO错误代码是什么意思?
- 24. 这个CSS代码是什么意思?
- 25. 这个MIP代码是什么意思?
- 26. 这行代码是什么意思?
- 27. 这些WndProc代码是什么意思?
- 28. 这段代码是什么意思?
- 29. 这个PHP代码是什么意思?
- 30. Ruby这行代码是什么意思?
相关:http://stackoverflow.com/questions/20695203/behaviour-of-ebp-and-esp-in-stacks-using-function-with-parameter – nrz 2014-10-31 22:53:28
可能的重复[为什么在函数序言/结尾中使用ebp?](http://stackoverflow.com/questions/15655553/why-to-use-ebp-in-function-prologue-epilogue) – 2016-06-23 12:24:25