-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