ARM处理器的工作模式:
- usr(用户模式):非特权模式,ARM处理器正常程序执行模式,大部分任务执行在这种模式
- fiq(快速中断模式):用于高速数据传输或通道处理
- irq(外部中断模式):用于通用的中断处理
- svc(管理模式):操作系统使用的保护模式
- abt (数据访问终止模式): 当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
- sys(系统模式): 运行具有特权的操作系统任务。
- und(未定义指令中止模式):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
ARM寄存器: Cortex系列处理器有40个32位寄存器,其中包括33个通用寄存器和7个状态寄存器,40个中有18个可编程访问的寄存器
通用寄存器(R0-R15)可以分为三类:未分组寄存器R0-R7,分组寄存器R8-R14,程序计数器PC(R15)
R0~R7
所有工作模式下,R0-R7都分别指向同一个物理寄存器(共8个物理寄存器),它们未被系统用作特殊的用途。
R8~R14
分组寄存器是指同一个寄存器名。在ARM微处理器内部存在多个独立的物理寄存器,每一个物理寄存器分别与不同的处理器模式相对应。
R15(pc)
在程序开始执行前,将程序指令序列的起始地址,即程序的第一条指令所在的内存单元地址送入PC,cpu 按照 PC的指示从内存读取第一条指令。当执行指令时,cpu自动地修改PC 的内容,即每执行一条指令PC增加一个量,使 PC总是指向正在取指的指令地址
CSPR 存储当前内核的状态和模式标示。
特权模式下,私有的 SPSR (Saved Program Status Register) –当一个异常发生时保存当前的cpsR 值。结合连接寄存器可使处理器返回先前的状态。
基本指令格式:
ARM是三地址指令格式,指令的基本格式为:
<opcode>{<cond>}{S} <Rd>,<Rn>{,<operand2>}
1、<>内的项是必须的,{}内的项是可选的,cond若不附指令后使用默认条件AL(无条件执行)。
2、opcode:指令助记符,如LDR,STR等;
3、cond:执行条件,如EQ,NE等;
4、S:是否影响cpsR寄存器的值;
5、Rd:目标寄存器;
6、Rn:第一个操作数的寄存器;
7、operand2:第二个操作数;
原文地址:https://www.jb51.cc/wenti/3281980.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。