1)ENTRY
设置程序默认入口点,一个程序可有多个ENTRY,但一个源文件最多只有一个ENTRY。2)EQU
EQU伪操用于将数字常量、基于寄存器的值和程序中的标号定义为一个字符名称。语法格式:
symbol EQU expression
其中,expression可以是一个寄存器的名字,也可是由程序标号、常量或者32位的地址常量组成的表达式。symbol是EQU伪操作所定义的字符名称。示例:COUNT EQU 0X1FFF3)EXTERN/IMPORT
IMPORT(EXTERN功能完全相同)用于声明在其他模块中定义但需要在本文件中使用的符号。EXTERN声明的变量必须是在其他模块中用EXPORT或GLOBAL声明过的。4)IMPORT class (symbol, symbol ...)
其中,class为变量的类型,可以为ARM、CODE16、CODE32、DATA、CONST、THUMB;symbol为所声明的变量名。5)EXPORT/GLOBAL
EXPORT(GLOBAL功能完全相同)用于声明在本文件中定义但能在其他模块中使用的变量,相当于定义了一个全局变量。语法格式:
EXPORT symbol, symbol...
其中,symbol为所声明的变量名。6)AREA
AREA用于定义一个代码段或数据段,ARM汇编程序设计采用分段式设计,一个ARM源程序至少有一个代码段,大的程序会有若干个代码段和数据段。语法格式:
AREA segment-name, class-name, attributes ,...
其中,segment-name为所定义段的名称;class-name为所定义段的类型名称,可以为系统类型(CODE, CONST, DATA, ERAM)或用户定义类型;attributes为段的属性。7)END
END用于标记汇编文件的结束行,即标号后的代码不作处理。8)Code[16|32] 伪操作用于选择当前汇编指令的指令集。参数16选择Thumb指令集,参数32 选择ARM指令集。 语法格式: code[16|32]9)align align伪指令通过添加补丁字节使当前位置满足一定的对齐方式。 语法格式: align {expr{,offset}} 其中:expr为数字表达式,用于指定对齐的方式。取值为2的n次幂,如1、2、4、8等,不能为0。若没有expr,则默认为字对齐方式。 Offset为数字表达式。当前位置对齐到下面形式的地址处:offset+n*expr 示例: align 4,3 ;字对齐