ARMv4和ARMv5的指令集规定了ARM的7种工作模式,由寄存器CPSR[4:0]决定(见下表),分别是:
用户(User)模式:ARM处理器正常的程序执行状态
系统(System)模式:运行具有特权的操作系统任务
快速中断(FIQ)模式:用于处理紧急的中断,如高速数据传输或通道处理
普通中断(IRQ)模式:用于处理通用的中断,通常在硬件中断信号后进入该模式
管理(Supervisor)模式:操作系统使用的保护模式,是CPU上电后的默认模式,主要用于系统的初始化
数据访问终止(Abort)模式:用于虚拟存储及存储保护,当访问非法地址或读取无权限内存地址时进入该模式
未定义指令中止(Undifined)模式:当执行未定义的指令时进入该模式,用于支持硬件协处理器的软件仿真。