码迷,mamicode.com
首页 > 系统相关 > 详细

汇编 .MACRO

时间:2018-05-11 20:09:11      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:SM   blog   prot   调用   sina   asm   名称   展开   全局   

    下面看下此汇编伪指令的用法 (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

汇编 .MACRO

标签:SM   blog   prot   调用   sina   asm   名称   展开   全局   

原文地址:https://www.cnblogs.com/Widesky/p/9006954.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!