新聞中心

arm中的宏定義

作者: 時間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
語法格式如下:

MACRO
[$ label] macroname{ $ parameter1, $ parameter,……}
其他指令
MEND
MACRO偽操作標(biāo)識宏定義的開始,MEND標(biāo)識宏定義的結(jié)束。用MACRO及MEND定義一段代碼,稱為宏定義體,這樣在程序中就可以通過宏指令多次調(diào)用該代碼段。
其中, $ label在宏指令被展開時,label會被替換成相應(yīng)的符號,通常是一個標(biāo)號。宏定義中的$label是一個可選參數(shù),在一個符號前使用$表示程序被匯編時將使用相應(yīng)的值來替代$后的符號。
macroname為所定義的宏的名稱。
$parameter為宏指令的參數(shù)。當(dāng)宏指令被展開時將被替換成相應(yīng)的值,類似于函數(shù)中的形式參數(shù),可以在宏定義時為參數(shù)指定相應(yīng)的默認(rèn)值。

本文引用地址:http://butianyuan.cn/article/201611/316749.htm

例如:

定義宏如下:

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

............



關(guān)鍵詞: arm宏定

評論


技術(shù)專區(qū)

關(guān)閉