本文主要是介绍ARM 嵌入式微处理器指令集(上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
教材:嵌入式系统及应用,罗蕾、李允、陈丽蓉等,电子工业出版社
目录:
- ARM 嵌入式微处理器指令集
- ARM 处理器实现的指令集
- ARM 指令集的特点
- Thumb 指令集的约束
- ARM v4T 架构指令体系
- 条件执行和标志位
- 数据处理指令
- 乘法和除法
- 分支指令
- 子程序调用
- 单寄存器的数据传输
- 批量加载存储
- 交换指令
- 软中断指令
- 程序状态寄存器访问指令
- 协处理器指令
- 协处理器数据操作指令
- 协处理器寄存器与 ARM 处理器寄存器数据传输指令
- 协处理器寄存器和内存的数据传输指令
- ARM 处理器实现的指令集
ARM 嵌入式微处理器指令集
ARM 处理器实现的指令集
- 32 位的 ARM 指令集和 16 位的 Thumb 指令集
- ARM 处理器允许在 ARM 状态和 Thumb 状态之间进行切换和互操作,保证用户在运算性能和代码密度之间的选择的灵活性
- 采用 16 位的 Thumb 指令集优势在于更高的代码密度和降低功耗
- Thumb 指令集的代码一般是由编译器生成的而不是手动编写出来的
ARM 指令集的特点
- 所有 ARM 指令都是 32 位定长的,内存中地址以 4 字节边界对齐,故 ARM 指令的有效地址最后两位总是 00
- 加载 - 存储架构。除了专门的加载 - 存储类型的指令可以访问内存外,其余指令使用处理器内部寄存器的数据和立即数作为操作数
- 提供一次加载和存储多个寄存器的指令:LDM 和 STM。这样,发生过程调用和中断处理时,只用一条指令即可把多个寄存器的内容保存到内存堆栈中
- CPU 内核硬件中提供了桶形移位器,移位操作可以内嵌在其他指令中,即一条指令可在一个指令周期完成一个移位操作和一个 ALU 操作
- 所有 ARM 指令都可以条件执行,其指令高四位是条件指示位,根据 CPSR 寄存器中的N、Z、C、V 决定该指令是否执行
Thumb
这篇关于ARM 嵌入式微处理器指令集(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!