http://www.csdn.net/ http://www.arm.com/zh/ https://www.kernel.org/ http://www.linuxpk.com/ http://www.51develop.net/ http://linux.chinaitlab.com/ http://www.embeddedlinux.org.cn http://bbs.pediy.com/
分类: 嵌入式
2013-07-04 17:56:09
众所周知,ARM每种工作模式除R0~R15共16个寄存器外,还有第17个寄存器CPSR,叫做 当前程序状态寄存器,CPSR中一些位被用于标识各种状态,一些位被用于标识当前出于什么工作模式
其中cpsr_c代表的是这32位中的低8位,也就是控制位
当你看到有些程序里这样写
msr cpsr_c 0xd2 //msr是arm汇编中专门用来修改cpsr这样有特定功能的寄存器的指令
//具体请参考Arm汇编手册和Arm体系架构手册
这样的语句时,就是在更改这8位的状态
如果对 cpsr 有疑惑的请看:* CPSR 和 SPSR