X86組合語言學習手記 2

2021-09-30 08:52:51 字數 751 閱讀 7723

+----------------------------+------> 高位址

| eip (_start函式的返回位址) |

+----------------------------+

| ebp (_start函式的ebp) | <------ main函式的ebp指標(即sfp框架指標)

+----------------------------+

| i (ebp-4) |

+----------------------------+

| j (ebp-8) |

+----------------------------+

| k (ebp-0xc) |

+----------------------------+------> 低位址

圖 2-1

3. 小結

這次通過幾個試驗程式,進一步了解了區域性變數在棧中的分配和釋放以及位置,並再次回顧了上篇文章中涉及到的以下概念:

sfp 棧框架指標

stack aligned 棧對齊

並且,利用solaris提供的mdb工具,直觀的觀察到了棧在程式執行中的動態變化,以及stack frame的建立和撤銷,根據給出的圖例的內容(

圖 2-1和

圖 1-1),可以更清晰的了解ia32架構中棧在記憶體中的布局(stack layer)。

x86組合語言學習筆記2

乙個簡單的組合語言程式 data sum dword 0 code main proc mov eax,5 add eax,6 mov sum,eax invoke exitprocess,0 main endp 加法指令 add 減法指令 sub 加一指令 inc 減一指令 dec 取補指令 ne...

搭建x86組合語言學習環境

masm中包含了8086彙編程式設計中要用到的幾個必需的工具 masm.exe彙編 link.exe連線 debug.exe除錯,edit.com和edlin.com是兩個編輯程式。如下 將這個資料夾拷貝到你習慣的工作盤 我用d盤作工作盤,拷貝後,這些檔案在d masm中 2.安裝dosbox 雙擊...

用DOS BOX搭建x86組合語言學習環境

masm中包含了8086彙編程式設計中要用到的幾個必需的工具 masm.exe彙編 link.exe連線 debug.exe除錯,edit.com和edlin.com是兩個編輯程式。ex資料夾中提供了幾個匯程式設計序作為示例。如下 將這個資料夾拷貝到你習慣的工作盤 我用d盤作工作盤,拷貝後,這些檔案...