新闻中心

arm中的宏定义

作者: 时间:2016-11-11 来源:网络 收藏
语法格式如下:

MACRO
[$ label] macroname{ $ parameter1, $ parameter,……}
其他指令
MEND
MACRO伪操作标识宏定义的开始,MEND标识宏定义的结束。用MACRO及MEND定义一段代码,称为宏定义体,这样在程序中就可以通过宏指令多次调用该代码段。
其中, $ label在宏指令被展开时,label会被替换成相应的符号,通常是一个标号。宏定义中的$label是一个可选参数,在一个符号前使用$表示程序被汇编时将使用相应的值来替代$后的符号。
macroname为所定义的宏的名称。
$parameter为宏指令的参数。当宏指令被展开时将被替换成相应的值,类似于函数中的形式参数,可以在宏定义时为参数指定相应的默认值。

本文引用地址://m.amcfsurvey.com/article/201611/316749.htm

例如:

定义宏如下:

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

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



关键词:arm宏定

评论


技术专区

关闭