0
我有幾個關於英特爾IA-32堆棧的問題。具體做法是:英特爾堆棧增長和參考
- 當我
push
一個值壓入堆棧中,堆棧指針(%esp - size
)推值的大小減小,並且該值被存儲在%esp
舊值。 - 如果我然後想要從堆棧中讀取值而不使用
pop
,我需要增加堆棧指針(%esp + size
)。 - A piece of kernel code I have是從堆棧中減去所需的大小,而不是添加它。這是我的假設,當發生這種情況時,我想要的價值是遠離指針地址,而不是朝着它。
- 因此,任何進一步閱讀都會挑選不良數據。
我的上述斷言是否正確?提前致謝。
發佈代碼(__With Comments !!! __),以便我們可以閱讀它,看看編譯器在做什麼,以及您認爲自己想要做什麼。 – 2014-10-08 21:10:40