基本知識點:
(1)esp:棧指標暫存器(extended stack pointer),其內存放著乙個指標,該指標永遠指向系統棧最上面乙個棧幀的棧頂。
(2)ebp:基址指標暫存器(extended base pointer),其內存放著乙個指標,該指標永遠指向系統棧最上面乙個棧幀的底部。
彙編實現加法運算除錯暫存器和記憶體
.586除錯過程將5放在eax 暫存器中.model flat,stdcall
option casemap:none
; inc 是乙個標頭檔案
include windows.inc
include user32.inc
include kernel32.inc
;msvcrt.inc 引用c中的輸入輸出功能
include msvcrt.inc
;庫檔案
includelib user32.lib
includelib kernel32.lib
includelib msvcrt.lib
.data
format db "%d
",0.code
main proc
;將5放到eax暫存器中 mov 有兩個運算元
mov eax,
5;add 是加法指令 運算元1+運算元2 結果放在操作1裡面
add eax,
6push eax
push offset format
call crt_printf
;壓棧平衡 出棧
add esp,
8push
0call exitprocess
add esp,
4main endp
end main
; 整數產量
;2進製 後面加b
;8 o/q;10
d;16 h
add 實現加法運算:
push 入棧 數字佔4個位元組
esp:棧指標暫存器(extended stack pointer),其內存放著乙個指標,該指標永遠指向系統棧最上面乙個棧幀的棧頂
繼續push 入棧,向裡面推4個位元組
列印出棧裡面的內容
add exp,8 出棧8個位元組,前面入棧的全部出棧,堆疊平衡
組合語言 暫存器
乙個典型的cpu由運算器 控制器 暫存器等器件組成,這些器件靠內部匯流排相連。通用暫存器 ax bx cx dx 段位址暫存器 cs ds es ss 專用暫存器 bp sp si di 指令指標暫存器 ip 標誌暫存器 psw ah al ax accumulator 累加暫存器 bh bl bx...
組合語言 暫存器
乙個cpu由暫存器,運算器,控制器組成,暫存器負責儲存資料。通用暫存器 ax,bx,cx,dx。8086cpu的暫存器都是16位的,能存放兩個位元組。乙個暫存器又能分為兩個部分,乙個高位位元組如ah,還有乙個地位位元組如al。這兩個部分可以單獨看成乙個八位暫存器來用。當暫存器當整體來看時,它可以進行...
組合語言 暫存器
ax,bx,cx,dx 這4個暫存器通常用來存放一般性的資料,被稱為通用暫存器。8086cpu這5個暫存器都可以分為兩個可以獨立使用的8位暫存器來用 ax的低8位 0 7 構成al暫存器,高8位 8 15 構成了ah暫存器。ah和al暫存器是可以獨立使用的8位暫存器。考慮相容性8086cpu可以一次...