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