x86彙編中巨集的使用

2021-07-30 02:57:00 字數 1295 閱讀 8657

定義格式

巨集指令名 macro 形式引數 [, 形式引數]

巨集體 endm

注意事項

先定義後使用

macro與endm成對使用

使用舉例

write_string macro a 

lea dx, a

mov ah, 9

int21h

endm

rclf    db 0dh, 0ah, '$'

:write_string rclf

:

; 輸出回車換行

crlf macro

mov ah, 2

mov dl, 0ah

int 21h

mov dl, 0dh

int 21h

endm

def_stack macro a 

stack segment use16 stack

db a

stack ends

endm

def_stack <100

dup(0)>

可以將巨集全部放入乙個檔案中, 使用include 檔名 將指定的巨集庫加入到程式中一起彙編

包含常用呼叫的巨集庫:

; 9號系統功能呼叫, 在螢幕上顯示以 $ 結束的字串

write macro a

lea dx, a

mov ah, 9

int 21h

endm

; 10號功能呼叫, 從鍵盤中讀取字串,存入a的緩衝區

read macro a

lea dx, a

mov ah, 9

int 21h

endm

; 輸出回車換行

crlf macro

mov ah, 2

mov dl, 0ah

int 21h

mov dl, 0dh

int 21h

endm

;定義堆疊段

stack0 macro a

stack segment use16 para stack 'stack'

db a

stack ends

endm

170824 彙編 x86基礎

a.1625 5 王子昂 總結 2017年8月24日 連續第325天總結 b.逆向知識 資料移動分為5種方式 立即數到暫存器 立即數到記憶體 暫存器到暫存器 暫存器到記憶體或記憶體到暫存器 記憶體到記憶體 前4種是所有現代體系都支援的,第五種是x86獨有的,可以通過inc add來直接操作記憶體 另...

X86彙編指令詳解

x86彙編基本分為七大體系 分別是 1 資料傳送指令 2 算術運算指令 3 邏輯運算指令 4 串操作指令 5 控制轉移指令 6 處理器控制指令 7 保護方式指令 先介紹資料傳送指令集 1 資料傳送指令 1.mov 格式 mov destination,source 功能 將s ource中的資料傳送...

x86彙編學習筆記

debug 是dos,windows都提供的實模式 8086 方式 程式的除錯工具.windows下使用dosbox模擬dos環境,掛載所在目錄後開啟debug.exe r指令 顯示r ax 0000 bx 0000 cx 0000 dx 0000 sp 00fd bp 0000 si 0000 d...