一、ARM处理器模式:
- ARM微处理器支持7种运行模式,分别为:
用户模式(usr): ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道处理。外部中断模式(irq):用于通用的中断处理。管理模式(svc): 操作系统使用的保护模式。软中断和复位数据访问中止模式(abt): 当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。系统模式(sys): 运行具有特权的操作系统任务。未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真
- 除用户模式外的其余6种模式都称为特权模式,这些模式下,程序可以访问所有的系统资源,也可以任一进行处理器模式切换。其中,除系统模式外,其他5种模式又称为异常模式
二、ARM寄存器
(一)ARM工作状态下的寄存器组织
ARM处理器共有37个寄存器。其中包括:
- 31个通用寄存器,包括程序计数器(PC)在内。这些寄存器都是32位寄存器
- 6个32位状态寄存器。
表1 各种处理器模式下的寄存器
用户模式
|
系统模式
|
特权模式
|
中止模式
|
未定义指令模式
|
外部中断模式
|
快速中断模式
|
R0
|
R0
|
R0
|
R0
|
R0
|
R0
|
R0
|
R1
|
R1
|
R1
|
R1
|
R1
|
R1
|
R1
|
R2
|
R2
|
R2
|
R2
|
R2
|
R2
|
R2
|
R3
|
R3
|
R3
|
R3
|
R3
|
R3
|
R3
|
R4
|
R4
|
R4
|
R4
|
R4
|
R4
|
R4
|