堆疊與ESP(棧指標暫存器)

2022-06-14 10:27:11 字數 1136 閱讀 8166

每個應用程式都有自己的乙個4gb的記憶體。

一塊記憶體,作業系統在程序啟動的時候已經分配好的,供程式執行時使用

和資料結構的堆疊無關

檢視堆疊

(2)在記憶體視窗搜尋fs對應的記憶體地址並檢視

可以看到當前應用程式被分配的記憶體即為堆疊

(3)檢視堆疊視窗末尾:005e fffc 加4個位元組即為  005f 0000

這裡為什麼要加4個位元組:

因為005e fffc的位址是放的是開始的位址,所以向後4個位元組也包含在分配的記憶體中

(4)檢視堆疊視窗頂部:005e c000

需要注意的是,堆疊的使用是從大位址向小位址使用。

esp用來記錄當前的堆疊用到**了

右擊esp點選flkow in stack (在堆疊中跟隨)即可檢視

這個位置表明:從最底下(005f 0000)到(005e fe84)這個位置中間的資料已經被之前執行過的程式占用了。

且可以看到:從005e fe84向上還沒有儲存資料。這部分資料是空的會被後面將會執行的程式使用。

esp暫存器與ebp暫存器介紹

esp extended stack pointer 是指標暫存器的一種 另一種為ebp 用於堆疊指標。esp為棧指標,用於指向棧的棧頂 下乙個壓入棧的活動記錄的頂部 而ebp為幀指標,指向當前活動記錄的頂部。棧指標與幀指標標識出了當前活動記錄的位置。當函式被呼叫的時候,執行如下操作 將幀指標壓入棧...

詳細解析ESP暫存器與EBP暫存器

詳細解析esp 暫存器與 ebp暫存器 最近在看彙編碼,經常在程式的開頭看到 esp和 ebp暫存器的出現 由於本人基礎知識的不牢靠 便上網查閱相關的資料 可惜網上的資料都不給力 都只是流於形式 沒有好好的解釋這兩個東西是什麼 終於通過 google 國外的 得到乙個相當不錯的網頁 上面解釋的很清晰...

msp430學習筆記2 堆疊指標暫存器 SP詳解

堆疊是一種具有 後進先出 lifo last in first out 特殊訪問屬性的儲存結構。堆疊一般使用ram 物理資源作為儲存體,再加上lifo 訪問介面實現。在隨機儲存器區劃出一塊區域作為堆疊區,資料可以乙個個順序地存入 壓入 到這個區域之中,這個過程稱為 壓棧 或 入棧 push 通常用乙...