arm汇编伪指令.ppt
文本预览下载声明
ADS编译环境下的伪操作和宏指令 ADS编译环境下的伪操作可分为以下几类: 符号定义(Symbol Definition)伪操作 数据定义(Data Definition)伪操作 汇编控制(Assembly Control)伪操作 信息报告(Reporting)伪操作 其他(Miscellaneous)伪操作 符号定义伪操作 数据定义伪操作 汇编控制伪操作 信息报告伪操作 GNU编译环境下的伪操作和宏指令 GNU编译环境下的伪操作可分为以下几类: 常量编译控制伪操作 汇编程序代码控制伪操作 宏及条件编译控制伪操作 其他伪操作 常量编译控制伪操作 : 汇编程序代码控制伪操作 宏及条件编译控制伪操作 其他伪操作 ARM汇编语言的伪指令 * 伪操作 语法格式 作 用 GBLA GBLA Variable 声明一个全局的算术变量,并将其初始化成0。 GBLL GBLL Variable 声明一个全局的逻辑变量,并将其初始化成{FALSE}。 GBLS GBLS Variable 声明一个全局的字符串变量,并将其初始化成空串“”。 LCLA LCLA Variable 声明一个局部的算术变量,并将其初始化成0。 LCLL LCLL Variable 声明一个局部的逻辑变量,并将其初始化成{FALSE}。 LCLS LCLS Variable 声明一个局部的串变量,并将其初始化成空串“”。 SETA SETA Variable expr 给一个全局或局部算术变量赋值。 SETL SETL Variable expr 给一个全局或局部逻辑变量赋值。 SETS SETS Variable expr 给一个全局或局部字符串变量赋值。 RLIST name LIST{list of registers} 为一个通用寄存器列表定义名称。 CN name CN expr 为一个协处理器的寄存器定义名称。 CP name CP expr 为一个协处理器定义名称。 DN/SN name DN/SN expr DN/SN为一个双精度/单精度的VFP寄存器定义名称。 FN name FN expr 为一个FPA浮点寄存器定义名称。 伪操作 语法格式 作 用 LTORG LTORG 声明一个数据缓冲池(也称为文字池)的开始。 MAP MAP expr{,base-register} 定义一个结构化的内存表(Storage Map)的首地址。 FIELD {label} FIELD expr 定义一个结构化内存表中的数据域。 SPACE {label} SPACE expr 分配一块连续内存单元,并用0初始化。 DCB {label} DCB expr{,expr} 分配一段字节内存单元,并用expr初始化。 DCD/ DCDU {label} DCD expr {,expr}… 分配一段字内存单元。 DCDO {label} DCDO expr{,expr}… 分配一段字对齐的字内存单元。 DCFD/ DCFDU {label} DCFD {U}fpliteral{,fpliteral}… 为双精度的浮点数分配字对齐的内存单元。 DCFS/ DCFSU {label} DCFS {U} fpliteral {,fpliteral}… 为单精度的浮点数分配字对齐的内存单元。 DCI {label} DCI expr{,expr}… 在ARM代码中分配一段字对齐的内存单元; 在Thumb代码中,分配一段半字对齐的半字内存单元。 DCQ/ DCQU {label} DCQ{U}{﹣}literal{,{﹣}literal}… 分配一段以双字(8个字节)为单位的内存 DCW/ DCWU {label} DCW{U}expr{,expr}… DCW用于分配一段半字对齐的半字内存单元。 伪操作 语法格式 作 用 IF,ELSE及ENDIF IF logical expression … {ELSE …} ENDIF 能够根据条件把一段源代码包括在汇编语言程序内或者将其排除在程序之外。 WHILE及WEND WHILE logical expression … WEND 能够根据条件重复汇编相同的一段源代码。 MACRO 、MEND及MEXIT MACRO {$label} macroname {$parameter{,$parameter}…} …;宏代码 MEND MACRO标识宏定义的开始,ME
显示全部