1. ARM、Thumb、Thumb-2和Thumb-2EE指令集。
2. ARM、Thumb和ThumbEE状态。
正执行ARM 指令的处理器在 ARM 状态 下工作。 正执行 Thumb 指令的处理器在
Thumb 状态 下工作。 正执行 ThumbEE 指令的处理器在 ThumbEE 状态 下工作。
处理器也可以在称为Jazelle 状态 的另一种状态下工作。
在其中一种状态下工作的处理器不能执行不同指令集内的指令。
3. 处理器模式:
用户模式和特权模式。特权模式具有对系统资源的完全访问权限,且可随意更改模式。
4. 寄存器:
- 30个32位通用寄存器
- 程序计数器pc
- 应用程序状态寄存器APSR
- 当前程序状态寄存器CPSR
- 保存的程序状态寄存器SPSR
5. 指令集概述:
所有ARM指令长度均为32位。
字对齐。即指令地址的两个最低有效位始终为零。
Thumb、Thumb-2和Thumb-2EE指令的长度是16位或32位。按半字对齐存储。
- 跳转和控制指令
- 数据处理指令:
- 寄存器加载和存储指令
- 多个寄存器加载和存储指令(可从内存加载通用寄存器的任何子集,或在内存中存储这样的子集)
- 状态寄存器访问指令
- 协处理器指令
6. 指令功能:
条件执行、寄存器访问、访问内联的滚筒式移位器
7. 汇编语言源文件的编排
源代码行的一般格式:
{label} {instruction|directive|pseudo-instruction} {;comment}
- 大小写规则
指令助记符、指令和符号寄存器名称可以用大写或小写,但不能混合使用大小
写。