arm伪指令
符号定义伪指令
定义arm汇编程序中的变量、对变量赋值以及定义寄存器的别名
定义全局变量
gbla(全局数字变量,初始化值为0)
GBLA 全局变量名
示例代码如下:
GBLA Test1;定义全局数字变量test1
Test1 SETA 0x123;将该变量赋值为0x123
gbll(全局逻辑变量,初始化为F)
GBLL 全局变量名
示例代码如下:
GBLL Test2;定义全局逻辑变量test2
Test2 SETL {TRUE};将变量赋值为真
bgls(全局字符串变量,初始化为空)
GBLS 全局变量名
示例代码如下:
GBLS Test3;定义全局字符串变量test3
Test3 SETS "Testing";将变量赋值为testing
定义局部变量
lcla
lcll
lcls
对变量赋值
seta
setl
sets
为通用寄存器列表定义名称 rlist
在LDM/STM指令中,列表中的寄存器访问次序根据寄存器的编号由低到高
与列表中的寄存器的排列次序无关
语法格式:
名称 RLIST {寄存器列表}
示例代码如下:
RegList RLIST (R0-R5,R8,R10);定义RegList寄存器列表
数据定义伪指令
DCB 分配一片连续的字节存储单元,并且用指令中指定的表达式初始化
语法格式:
标号 DCB 表达式
示例代码如下:
str DCB "this is a test!";分配一片连续的字节存储单元并初始化
SPACE 分配一片连续的存储区域并初始化为0,表达式的值为要分配的字节数
语法格式:
标号 SPACE 表达式
示例代码如下:
DataSpace SPACE 100;分配连续100字节的存储单元并初始化为0
MAP 定义一个结构化内存表的首地址
语法格式:
MAP 表达式{,基址寄存器}
示例代码如下:
MAP 0X100,R0;定义结构化内存表首地址为0x100+R0
FILED 定义一个结构化内存表中的数据域
语法格式:
标号 FILED 表达式
示例代码如下:
MAP 0X0100;定义结构化内存表首地址的值为0x100
A FILED 16;定义A的长度为16字节,位置为0x100
B FILED 32;定义B的长度为32字节,位置为0x110
C FILED 256;定义C的长度为256字节,位置为0x130
汇编控制伪指令
IF ELSE ENDIF
语法格式:
IF 逻辑表达式
指令序列1
ELSE
指令序列2
ENDIF
示列代码如下:
GBLL Test;
IF Test=TRUE
指令序列1
ELSE
指令序列2
ENDIF
WHILE WEND
语法格式:
WHILE 逻辑表达式
指令序列
WEND
示例代码如下:
GBLA Counter;声明一个全局数学变量
Counter SETA 3;赋值
WHILE Counter<10
指令序列
WEND
MACRO MEND
MEXIT
宏指令
其它伪指令
AREA 定义一个代码段或数据段
语法格式:
AREA 段名 属性1,属性2
常用属性:
CODE:定义代码段,默认为readonly
DATE:定义数据段,默认为readwirte
READONLY:只读
READWRITE:可读可写
ALIGN:对齐方式 语法格式:ALIGN {表达式{,偏移量}}
示例代码如下:
AREA Init,CODE,READONLY;定义一个名为init的代码段,属性为只读
AREA Init,CODE,READONLY,ALIEN=3;指定后面的指令为8字节对齐
CODE16(CODE32)通知编译器,其后的指令序列为16位的thumb指令
ENTRY 指定汇编程序的入口点
示例代码如下:
AREA Init,CODE,READONLY
ENTRY;指定应用程序的入口点
EQU 为程序中的常量,标号等定义一个等效的字符名称(类似于define)
语法格式:
名称 EQU 表达式{,类型}
示例代码如下:
Test EQU 50;定义标号Test的值为 50
Addr EQU 0x55,CODE32;定义Addr 的值为0x55,且该处为32位的arm指令
EXPORT 在程序中声明一个全局的标号,该标号可在其他的文件中引用
语法格式:
EXPORT 标号
示例代码:
AREA Init,CODE,READONLY
EXPORT Stest;声明一个可全局引用的标号Stest
- 浏览: 251938 次
- 性别:
- 来自: 济南
相关推荐
ARM汇编伪指令详解
GNU ARM汇编伪指令包括ARM常规指令
ARM伪指令的说明和使用方法 ARM伪指令的说明和使用方法
ARM汇编伪指令与伪操作 启动指令的开发技术原理
arm指令 指令学习
汇总了在达内培训学习ARM的过程中的资源,
arm 常用伪指令 适合初学者熟悉启动码很有帮助
ARM中文指令集 伪指令快速查找指令集
ARM汇编指令集ARM汇编指令集ARM汇ARMARM汇编指令集汇编指令集编指令集
菜鸟的ARM学习笔记proteus仿真
详细描述了ARM的伪操作,可以当作参考手册来用
ARM常用指令和伪指令祥解.doc,学习ads ARM 汇编的一些笔记.
ARM 伪指令34 ADR 35 ADRL35 LDR36 NOP37 Thumb 指令集39 Thumb 指令集与 ARM 指令集的区别 39 Thumb 存储器访问指令 40 LDR 和 STR 41 PUSH 和 POP 43 LDMIA 和 STMIA 43 Thumb 数据处理指令 45 ...
这是自己整理的ARM的常用伪指令,可以方便ARM爱好者交流,有什么问题请指教
这篇文档所讲的是ARM汇编器所支持的伪指令,了解和掌握这些伪指令对嵌入式开发有很好的帮助
ARM 汇编学习笔记 很好。学好嵌入式,各行各业都用到。
ARM最底层的汇编语言相关,是了解计算机最底层知识的好资源
ARM 学习笔记
代码中含有一些伪指令 .
ARM汇编伪指令MACR,ARM汇编伪指令MACR,ARM汇编伪指令MACR,ARM汇编伪指令MACR