CPSR寄存器

 

众所周知,ARM每种工作模式除R0~R15共16个寄存器外,还有第17个寄存器CPSR,叫做 当前程序状态寄存器,CPSR中一些位被用于标识各种状态,一些位被用于标识当前出于什么工作模式

其中cpsr_c代表的是这32位中的低8位,也就是控制位
当你看到有些程序里这样写
msr cpsr_c 0xd2                                       //msr是arm汇编中专门用来修改cpsr这样有特定功能的寄存器的指令

                                                                  //具体请参考Arm汇编手册和Arm体系架构手册

这样的语句时,就是在更改这8位的状态

M控制位控制处理器模式,具体含义如下:

M[4:0] 处理器模式 可访问的寄存器

ob10000 user pc,r14~r0,CPSR

0b10001 FIQ PC,R14_FIQ-R8_FIQ,R7~R0,CPSR,SPSR_FIQ

0b10010 IRQ PC,R14_IRQ-R13_IRQ,R12~R0,CPSR,SPSR_IRQ

0B10011 SUPERVISOR PC,R14_SVC-R13_SVC,R12~R0,CPSR,SPSR_SVC

0b10111 ABORT PC,R14_ABT-R13_ABT,R12~R0,CPSR,SPSR_ABT

0b11011 UNDEFINEED PC,R14_UND-R8_UND,R12~R0,CPSR,SPSR_UND

0b11111 SYSTEM PC,R14-R0,CPSR(ARM V4以及更高版本)

转载于:https://www.cnblogs.com/liutingbl/p/4150925.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值