首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ARM指令集-宏处理伪指令

ARM指令集-宏处理伪指令

3.5.7  宏处理伪指令1、MACRO和ENDM
该伪指令的格式为:
宏名 MACRO [,参数][ ,参数]……
指令序列
ENDM
MACRO伪指令用于定义一个宏,引用宏时必须使用定义的宏名,并可向宏中传递参数。ENDM伪指令用于结束宏定义。
如:
errmac MACRO  text
BL abort
DATA
DC8 text,0
ENDM
包含在MACROENDM之间的指令序列称为宏定义体。在宏定义体的第一行应声明宏的原型(包括宏名和所需的参数),然后就可以在汇编程序中通过宏名来调用该指令序列。在源程序被编译时,汇编器将宏调用展开,用宏定义中的指令序列代替程序中的宏调用,并将实际参数值传递给宏定义中的形式参数。
2、REPT和ENDR
该伪指令的格式为:
REPT 表达式
指令序列
ENDR
伪指令用于指示汇编器将指定的指令序列进行重复汇编,重复次数由表达式的值确定。如果表达式的值为0,则不进行任何操作。
3、REPTC和ENDR
该伪指令的格式为:
REPTC 符号,替换字符串
指令序列
ENDR
该伪指令用于在宏展开时用替换字符串中的单个字符逐次替换符号。
4、REPTI和ENDR
该伪指令的格式为:
REPTI 符号,替换字符串[,替换字符串]……
指令序列
ENDR
该伪指令用于在宏展开时用整个替换字符串替换符号。
返回列表