汇编 .MACRO
2018-05-11 16:58 未曾走远 阅读(9329) 评论(0) 编辑 收藏 举报下面看下此汇编伪指令的用法 (ARM GNU)-----自己翻译的不明确的看英文原文
指令:.MACRO/.ENDM
语法:
宏名称 .MACRO [形式参数]
........
宏定义语句
........
.ENDM
描述:
用.MACRO指令你可以定义一个宏,可以把需要重复执行的一段代码,或者是一组指令缩写成一个宏,在
程序调用的时候就可以直接去调用这个宏而使代码更加简洁清晰,此宏由以下3部分构成:
1. 头: 在这里可以指定这个宏的名称,别且定义形式参数
2. 体: 这里包含的是当这个宏被调用时所需要执行的指令或者语句。
3. 尾: 这里用.ENDM标识着这个宏的结束。
PS:形式参数只是一个标识符,他会在宏展开或者宏调用时被逐个展开,形参的定义也必须按照全局变量定义的
规则,形参不能为(%)。
例子:
SWAP_REG .MACRO REG1,REG2 ; swap registers
XCH A, REG1
XCH A, REG2
XCH A, REG1
.ENDM
看redboot的启动代码时,发现了很多地方使用了.MACRO这种宏定义,觉得类似C++里面的内联函数(C语言的宏定义成函数的对于新人来说可能不常用)。
http://blog.sina.com.cn/s/blog_727800bb0100qhnd.html