arm中的宏定義
MACRO
其中, $ label在宏指令被展開時,label會被替換成相應的符號,通常是一個標號。宏定義中的$label是一個可選參數,在一個符號前使用$表示程序被匯編時將使用相應的值來替代$后的符號。
macroname為所定義的宏的名稱。
$parameter為宏指令的參數。當宏指令被展開時將被替換成相應的值,類似于函數中的形式參數,可以在宏定義時為參數指定相應的默認值。
例如:
定義宏如下:
MACRO
$label TestBranch$dest, $reg, $cc
$label
CMP $reg,#0
B$cc $dest
MEND
調用宏的過程如下:
testTestBranch Nonzero,r0, NE
Nonzero
............
程序匯編后,宏展開如下:
test
CMP R0, #0
BNE Nonzero
Nonzero
............
評論