首页 > 编程知识 正文

cpsr和spsr的中文名称,cpsr和spsr的为什么会有数量的差异

时间:2023-05-04 05:31:22 阅读:225464 作者:394

CPSR:current program status register,当前程序状态寄存器,在任何处理器模式下被访问。它包含了条件标志位、中断禁止位、当前处理器模式标志以及其他的一些控制和状态位。
 

313029282726~876543210NZCVQ...IFTM4M3M2M1M0


I:IRQ中断禁止位。1禁止IRQ中断,0允许IRQ中断。
F:FIQ中断禁止位。1禁止FIQ中断,0允许FIQ中断。
T:这一位只在ARMv4T指令集版本及以上才有效。因为ARMv4版本及以下都不支持Thumb指
     令集。在支持Thumb指令集的处理器中,T=0表示处于ARM状态,T=1表示处于Thumb状态。
M[4:0]:处理模式:

M[4:0]|处理器模式0b10000用户模式0b1001快速中断模式0b10010中断模式0b10011管理模式0b10111数据访问终止0b11011未定义指令0b11111系统模式


 SPSR:saved program status register,程序状态保存寄存器,每一种处理器模式下都有一个状态寄存器SPSR,用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。当特定的异常中断发生时,这个寄存器存放CPSR的内容。在异常中断退出时,可以用SPSR来恢复CPSR。由于用户模式和系统模式不是异常中断模式,所以他没有SPSR。当用户在用户模式或系统模式访问SPSR,将产生不可预知的后果。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。