ARM汇编伪指令

ARM汇编伪指令

ARM 汇编程序的由机器指令,伪指令和宏指令组成。伪指令不像机器指令那样在处理器运行期间由机器执行,而是汇编程序对源程序汇编期间由汇编程序处理。在前面的指令集章节中,我们已经接触了几条常用到的伪指令,如ADR 、ADRL、LDR、NOP 等,把它们和指令集一起介绍是因为它们在汇编时会被合适的机器指令代替,实现真正机器指令操作。宏是一段独立的程序代码,它是通过伪指令定义的,在程序中使用宏指令即可调用宏。
         当程序被汇编时,汇编程序将对每个调用进行展开,用宏定义取代源程序中的宏指令。

A.4.1  符号定义伪指令
         符号定义伪指令用于定义ARM 汇编程序的变量,对变量进行赋值以及定义寄存器名称,该类伪指令如下:
                  全局变量声明:GBLA、GBLL 和GBLS。
                  局部变量声明:LCLA、LCLL 和LCLS。
                  变量赋值: SETA、SETL 和SETS。
                  为一个通用寄存器列表定义名称:RLIST。
                  为一个协处理器的寄存器定义名称:CN。
                  为一个协处理定义名称: CP。
                  为一个VFP 寄存器定义名称:DN 和SN。
                  为一个FPA 浮点寄存器定义名称:FN。

         GBLA、GBLL、GBLS
         全局变量声明伪指令。
         GBLA 伪指令用于声明一个全局的算术变量,并将其初始化为0。
         GBLL 伪指令用于声明一个全局的逻辑变量,并将其初始化为{FALSE}。
         GBLS 伪指令用于声明一个全局的字符串变量,并将其初始化为空字符串“”。
         伪指令格式:
         GBLA variable
         GBLL variable
         GBLS variable
         其中:variable 定义的全局变量名,在其作用范围内必须惟一。全局变量的作用范围为包含该变量的源程序。
         伪指令应用举例如下:
         GBLL codedbg ;声明一个全局逻辑变量
         codebg SETL {TRUE} ;设置变量为{TRUE}
         …

    

你可能感兴趣的:(ARM学习)