ARM寄存器之cpsr/spsr

参考:https://blog.csdn.net/laviolette/article/details/51376751

1. cpsr

N Z C V 保留位 I F T 5位模式位M[4:0]
Negative zero carry overflow ... Irq中断禁止位 FIQ中断禁止位 工作状态位 见下表
M[4:0] 模式
0b10000 用户
0b10001 FIQ
0b10010 IRQ
0b10011 管理
0b10111 终止
0b11011 未定义
0b11111 系统

注:
(1)user:非特权模式,大部分任务运行在种模式
(2)fiq:当一个高优先级中断产生时会进入这种模式
(3)irq:低优先级中断产生时会进入这种模式
(4)supervisor:当复位或软中断指令产生时会进入这种模式
(5)abort:存取异常时会进入这种模式
(6)undef:执行未定义指令是会进入这种模式
(7)system:使用和user模式相同寄存器集的特权模式
特权模式下除system外都是异常模式。

2. spsr

每种异常模式下都有一个spsr寄存器,用于保存cpsr寄存器的状态,以便返回时恢复异常发生时的工作状态。用户模式和系统模式下不能访问spsr寄存器。

posted @ 2025-04-03 12:12  横渡大海的神仙鱼  阅读(118)  评论(0)    收藏  举报