-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. ESP和EBP之間是什麼?
- 4. 16位彙編代碼中的OFFSET是什麼意思?
- 5. 這個英特爾彙編代碼是什麼意思?
- 6. 彙編代碼「movl%1,%% ebx」是什麼意思?
- 7. fs:[register + value]是什麼意思彙編?
- 8. 代碼是什麼意思?
- 9. 是什麼代碼是什麼意思?
- 10. 0x0F是什麼意思?這個代碼是什麼意思?
- 11. Ebp,esp和與nasm彙編的堆棧幀
- 12. 這個代碼中'$'是什麼意思?
- 13. 是什麼意思?=在僞代碼中使用時的意思?
- 14. 彙編代碼中的.arm是什麼?
- 15. 爲什麼我們在裝配中的CALLEE中「PUSH EBP」和「MOV EBP,ESP」?
- 16. x86組裝中的「push ebp」是什麼意思?
- 17. 下面的代碼是什麼意思?
- 18. 下面的代碼是什麼意思
- 19. 這是什麼C++代碼的意思
- 20. 下面的代碼是什麼意思?
- 21. 什麼是「=!」在下面的PHP代碼中是什麼意思?
- 22. 彙編語言中的「短」跳是什麼意思?
- 23. 彙編語言中的「MOV AH,4CH」是什麼意思?
- 24. EXC BAD ACCESS是什麼意思?參考我的代碼是什麼意思?
- 25. 什麼意思?在c代碼的意思是
- 26. 代碼的意思是什麼意思出於好奇
- 27. 「硬編碼」是什麼意思?
- 28. 這段代碼是什麼意思...?
- 29. 這個CSS代碼是什麼意思?
- 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