ARM的7种工作模式下37个通用寄存器作用情况
一、除了用户模式与系统模式外,其他5种模式属于异常模式:
1.1 user普通模式(normal),大部分任务执行都在这模式下;
1.2 FIQ当一个高优先级(fast)中断时将会进入这种模式;
1.3 IRQ当一个低优先级(normal)中断时将会进入这种模式;
1.4 SVC当复位或软中断指令执行时将会进入这种模式;
1.5 ABORT当存取异常时将会进入这种模式;
1.6 UNDEF当执行未定义的指令会进入这种模式;
二、通用寄存器中的特殊寄存器详解:
2.1 sp-堆栈指针寄存器,用来存放各种模式下指针地址,当不使用堆栈时, 也可以用作通用数据寄存器;;
2.2 lr-连接寄存器,用来存放返回之前模式的地址或者子程序的返回地址;
2.3 pc-程序计数器,用来读取指令;
2.4 cpsr-程序状态寄存器,用来保存当前模式下程序的一些状态;
2.5 spsr用保存cpsr。
三、关于cpsr寄存器各位的详解:
N结果为负 Z结果为零 C有进位 V溢出
特别声明:图片及文字源于学习整理,部分资料源于网络侵权联系删除。
,