6 組合語言 彙編基本元素 暫存器 記憶體初步除錯

2022-06-23 01:15:20 字數 1685 閱讀 9243

基本知識點:

(1)esp:棧指標暫存器(extended stack pointer),其內存放著乙個指標,該指標永遠指向系統棧最上面乙個棧幀的棧頂。

(2)ebp:基址指標暫存器(extended base pointer),其內存放著乙個指標,該指標永遠指向系統棧最上面乙個棧幀的底部。

彙編實現加法運算除錯暫存器和記憶體

.586

.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

除錯過程將5放在eax 暫存器中

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可以一次...