ARM工作模式和寄存器
1. ARM工作模式
ARM有7种工作模式,分别是用户模式(User)、系统模式(System)、管理模式(Supervisor)、中止模式(Abort)、未定义模式(Undefined)、中断模式(Interrupt)和快速中断模式(Fastinterrupt),其中后面6中模式称为特权模式,后面5中模式称为异常模式。
2. ARM寄存器
ARM共有37个寄存器,其中有31个通用寄存器,但是在一种工作模式下只能使用16个通用寄存器,有6个程序状态寄存器,在一中工作模式下也只能使用1到2个程序状态寄存器。
r13通常作为栈指针(SP)寄存器
r14(LR)用于子函数调用时保存子函数的返回地址
r15(PC)为指令指针寄存器
程序状态寄存器(Current Program StatusRegister) CPSR,在异常模式下,还需要一个寄存器用于保存程序状态寄存器的值,叫做(SavedProgram Status Register )SPSR
N, Z, C, V称为条件码标志位,I, F为中断使能位,如果I被置1将禁止IRQ中断,如果F置1将禁止FRQ中断,T如果置1,表示使用Thumb指令集,M[4:0]称为模式控制位