匯編 .MACRO


    下面看下此匯編偽指令的用法 (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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM