ARM汇编语言程序中,语句由指令、伪操作和宏指令组成,伪操作不响机器指令那样在计算机运行期间由机器执行,

它是在汇编程序对源程序汇编期间由汇编程序处理的。宏是一段独立的程序代码,在程序中通过宏指令调用宏,当

程序被汇编时,汇编程序将对每个宏调用进行展开,用宏定义取代源程序中的宏指令。本节介绍以下类型的ARM伪

操作和宏指令。

arm 架构怎么运行python_初始化

一、符号定义伪操作:

  符号定义伪操作用于定义ARM汇编程序中的变量,对变量进行赋值以及定义寄存器名称,包括以下伪操作:

  

arm 架构怎么运行python_宏指令_02

  1、GBLA、GBLL、GBLS声明全局变量:

  GBLA:伪操作声明一个全局算术变量,并将其初始化为0.

  GBLL:伪操作声明一个全局的逻辑变量,并将其初始化为FALSE;

  GBLS:伪操作声明一个全局的串变量,并将其初始化为空串;

  注意:如果使用这些伪操作重新声明已经声明过的变量,则变量的值将被初始化成后一次声明语句中的值。

  2、LCLA、LCLL、LCLS声明局部变量:

  LCLA:伪操作声明一个局部算术变量,并将其初始化为0.

  LCLL:伪操作声明一个局部的逻辑变量,并将其初始化为FALSE;

  LCLS:伪操作声明一个局部的串变量,并将其初始化为空串;

  注意:如果使用这些伪操作重新声明已经声明过的变量,则变量的值将被初始化成后一次声明语句中的值。

  3、SETA、SETL、SETS变量赋值:

  SETA:伪操作给一个算术变量赋值;

  SETL:伪操作给一个逻辑变量赋值;

  SETS:伪操作给一个串变量赋值;

  

arm 架构怎么运行python_arm 架构怎么运行python_03

  4、RLIST:

  RLIST用于为一个通用寄存器列表定义名称。

  

arm 架构怎么运行python_赋值_04

   

arm 架构怎么运行python_初始化_05

   5、CN:

  CN伪操作用来为一个协处理器的寄存器定义名称。

  

arm 架构怎么运行python_初始化_06

  6、CP

  CP伪操作用来为一个协处理器定义名称;

   

arm 架构怎么运行python_赋值_07

   7、DN、SN

  

arm 架构怎么运行python_初始化_08

       

arm 架构怎么运行python_宏指令_09

二、数据定义伪操作

    

arm 架构怎么运行python_赋值_10

    

arm 架构怎么运行python_赋值_11

  1、LTORG

  LTORG用户声明一个数据缓冲池的开始,通常,ARM汇编编译器把数据缓冲池放在代码段的最后面,即下一个代码段开始之前

  或者END伪操作之前。

   

arm 架构怎么运行python_初始化_12

  2、MAP

  MAP用于定义一个结构化的内存表首地址,此时,内存表的位置计数器设置成该地址;

   

arm 架构怎么运行python_arm 架构怎么运行python_13

  3、FIELD

  FILED用于顶一个结构化内存表的数据域

  

arm 架构怎么运行python_初始化_14

  

arm 架构怎么运行python_初始化_15

  4、SPACE

  SPACE伪操作用于分配一块内存单元,并用0初始化,%是SPACE的同义词。

   

arm 架构怎么运行python_初始化_16

  5、DCB

  DCB伪操作用于分配一段字节内存单元,并用语法格式中的expr初始化之

  6、DCD及DCDU

   

arm 架构怎么运行python_初始化_17

     

arm 架构怎么运行python_赋值_18

  7、DCDO

   

arm 架构怎么运行python_初始化_19

  8、DCFD及DCFDU

   

arm 架构怎么运行python_赋值_20

   

arm 架构怎么运行python_宏指令_21

  9、DCFS及DCFSU

   

arm 架构怎么运行python_宏指令_22

  10、DCI

  

arm 架构怎么运行python_赋值_23

  11、DCQ及DCQU

  

arm 架构怎么运行python_宏指令_24

   

arm 架构怎么运行python_arm 架构怎么运行python_25

  12、DCW及DCWU

  

arm 架构怎么运行python_初始化_26

三、汇编控制伪操作

   1、IF、ELSE及ENDIF

   

arm 架构怎么运行python_arm 架构怎么运行python_27

  2、WHILE及WEND

  

arm 架构怎么运行python_宏指令_28

  3、MACRO及MEND

   

arm 架构怎么运行python_赋值_29

  

arm 架构怎么运行python_宏指令_30

  4、