7.1 宏彙編
- 實參無論多於還是少於形參數,都有對應的默認解決辦法
宏展開
- MASM 2.0爲’+’,MASM 5.0爲’1’
- 若在MASM 5.0情況下產生多層,則用2,3…代替
宏定義與子程序的區別
調用次數影響展開後的存儲空間(因爲要展開啊)宏的花式使用方法
- 關鍵部分:&操作符
- 實現功能:通過宏產生JZ或JNZ指令
代碼
VA MACRO CHAR1, LAB J&CHAR1 LAB ENDM
調用
VA Z, LOP1 VA NZ, LOP2
宏定義中的僞指令
- 關注對象:標號
- 相關指令:LOCAL
- 宏展開影響:實際標號變爲 ??0000 - ??FFFF
7.2 重複彙編
重複彙編指令
- 指令:REPT
- 結構:以REPT指令爲開始,以ENDM爲結束
實例
X = 0 REPT 10 X = X + 2 DB X ENDM
注意點:宏展開時不能把X的變化也包含進去
不定重複彙編
- 指令:IRP/IRPC
- 結構:以IRP/IRPT指令爲開始,以ENDM爲結束
- 實例
IRP REG, <AX, BX, CX, DX> PUSH REG ENDM
IRPC K, ABCD PUSH K&X ENDM
7.3 條件彙編
- 基本指令
IF **
...
ELSE
...
ENDIF
- 注意點:關注條件彙編的其他指令