存在两种ARM编译开发环境
1.ADS/SDT、RealView MDK等ARM公司推出的开发工具
2.GNU ARM开发工具
大家所熟知的一般都是第一种,第二种一般只有在系统移植中大家才会去接触,ARM汇编语言的伪操作、宏指令在不同的编译环境下有不同的编写形式和规则
第一种环境的ARM汇编框架和常用语法
AREA Example,CODE,READONLY ; 声明代码段Example
ENTRY ; 标识程序入口
CODE32 ; 声明32位ARM指令
START MOV R0,#1
MOV R0,#0
END ;标明程序结束
AREA定义一个段,Example为段名,CODE说明是代码段,READONLY表面这个段是只读的
ENTRY相当于C语言中的入口函数main
START定义程序起始地方
后面必须加上一个END
1.符号定义伪操作
- 全局变量定义GBLA、GBLL及GBLS
- 局部变量定义LCLA、LCLL及LCLS
- 变量赋值伪操作SETA、SETL及SETS
- 给通用寄存器列表定义名称RLIST