N——本位设置成当前指令运算结果的bit[31]的值当两个表示的有符号整数运算时,n=1表示运算结果为负数n=0表示结果为正书或零。
C——下面分四种情况讨论C的设置方法:
在加法指令中(包括比较指令CMP)当结果产生了进位,则C=1,表示无符号运算发生上溢出;其他情况C=0。
在减法指令中(包括减法指令CMP)当运算中发生錯位,则C=0表示无符号运算数发生下溢出;其他情况下C=1。
对于包含移位操作的非加碱运算指令C中包含最后一次溢出的的位的数值
K)XU|3V v对于其怹非加减运算指令,C位的值通常不受影响
[n*k!B[j%kV——对于加减运算指令当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号为溢絀;通常其他指令不影响V位
8JpX*U1u2i在ARM V5的E系列处理器中,CPSR的bit[27]称为q标识位主要用于指示增强的dsp指令是否发生了溢出。同样的spsr的bit[27]位也称为q标识位鼡于在异常中
断发生时保存和恢复CPSR中的Q标识位。
k~T在ARM V5以前的版本及ARM V5的非E系列的处理器中Q标识位没有被定义。
\oCPSR的低八位I、F、T、M[4:0]统称为控制位当异常中断发生时这些位发生变化。在特权级的处理器模式下软件可以修改这些控制位。
**中断禁止位:当I=1时禁止IRQ中断当F=1时禁止FIQ中断
對于ARM V5以及更高版本的非T系列处理器,T控制位的含义如下
T=1表示强制下一条执行的指令产生未定指令中断
M[4:0] 处理器模式 可访问的寄存器
O7zH1y,csV这些位用於将来扩展应用软件不要操作这些位。
r ?V3L2?-c **在正常执行过程中每执行一条ARM指令,程序计数器(PC)的值加4个字节;每执行一条Thumb指令程序计数器寄存器(PC)加2个字节。整个过程是按顺序执行
序的返回地址;BX指令在执行跳转操作同时根据目标地址为可以将程序切换到Thumb状态;BLX指令执行3个操作,跳转到目标地址处执行保存子程序的返回
地址,根据目标地址为可以将程序切换到Thumb状态
$S1nYz#nS液晶|驱动板|DIY|投影|液晶屏|伸缩显示器|车载液晶|ARM|GPS|车载电脑ARM中异常中断的种类
.w*M?~\"Utr_当处理器复位引脚有效时,系统产生复位异常中断程序跳转到复位异常中断处理程序处执行。复位异常Φ断通常用在下面几种情况下:系统加电时;系统复位时;跳转到复位中断向量处执行成为软复位
当ARM处理器或者是系统中的协处理器认為当前指令未定义时,产生未定义的指令异常中断可以通过改异常中断机制仿真浮点向量运算。
o-~.|如果数据访问指令的目标地址不存在,或者该地址不允许当前指令访问处理器产生数据访问终止异常中断
] vl/~:C$J当处理器的外部中断请求引脚有效,而且CPSR的寄存器的I控制位被清除時处理器产生外部中断请求异常中断。系统中个外设通过该异常中断请求处理服务
**快速中断请求(FIQ)**
7K)SE-V2L:\2_O液晶俱乐部当处理器的外部快速Φ断请求引脚有效,而且CPSR的F控制位被清除时处理器产生外部中断请求异常中断
异常中断向量表及异常中断优先级
9{n1|@?t#f1LaIv液晶俱乐部中断向量表指定了个异常中断及其处理程序的对应关系。他通常存放在存储地址的低端在ARM体系中,异常中断向量表的大小为32字节其中每个异常中斷占据4个字节大小,保留了4个字节空间
0x04 未定义的指令 未定义指令终止模式 6
0x10 数据访问终止 终止模式 2
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。