cpsr和spsr中各个位的含义

author author     2022-08-07     551

关键词:

技术分享
N:负数标志位。如果目标寄存器中的有符号数为负数,则N=1,否则N=0。
Z:零标志位。如果目标寄存器中的数为0,则N=1,否则N=1。
C:进位标志位。有以下3种情况
      1、无符号加法运算和CMN指令,如果产生进位,则C=1,否则C=0;
      2、无符号减法运算和CMP指令,如果产生借位,则C=0,否则C=1
      3、进行移位操作的时候,C中保存最后一位移出的值。
说明:当一条指令中同时含有算术运算指令和移位指令时,影响C的值是算术运算而不是移位操
          作。
V:溢出标志位。进行有符号运算时如果发生错误,则V=1,否则V=0。
    
    一些指令如CMN、TEQ等会无条件的刷新CPSR中的条件标志位,其他指令必须要在指令后面加上S后缀才会改变CPSR中的条件标志位。
 
I:IRQ中断禁止位。I=1代表禁止IRQ中断,I=0代表允许IRQ中断。
F:FIQ中断禁止位。F=1代表禁止FIQ中断,F=0代表允许FIQ中断。
    这里和51单片机中的中断使能位有点小差别,51中的是中断使能位,所以为1的时候应该是中断使能,即允许中断。而这里是中断禁止位,为1的时候应该是禁止中断。
 
T:这一位只在ARMv4T指令集版本及以上才有效。因为ARMv4版本及以下都不支持Thumb指
     令集。在支持Thumb指令集的处理器中,T=0表示处于ARM状态,T=1表示处于Thumb状态。
 
M[4:0]:用于控制7种模式位。
技术分享
技术分享

arm标志寄存器cpsrspsr图解

  一、CPSR概述ARM处理器共有37个寄存器。这37个寄存器按其在用户编程中的功能划分,可分为2类寄存器,即31个通用寄存器和6个状态寄存器。这6个状态寄存器在ARM公司文件中其名称分别为:CPSR、SPSR_svc、SPSR_abt、SPSR_und、S... 查看详情

与基于51系列与基于arm处理器的控制系统开发有何异同。

...器LR中。在执行跳转指令时,处理器并不保存状态寄存器CPSR。处理器相应异常中断时,正常的程序流被暂时中止,处理器就进入异常,ARM中所有的异常都会引起中断。异常中断时处理器硬件自动把当前CPSR的状态存储到当前异常... 查看详情

令状态寄存器访问指令(mrs,msr)(代码片段)

...2位的ARM处理器,状态寄存器就是一个32位长的寄存器。每个位的含义如下图: 分成了4部分:1,条件标志位N(Negative),Z(Zero),C(Carry),V(Verflow)统称为条件标志位。ARM指令可以根据CPSR中的这些条件标志位来选择性的执行。2,Q标志... 查看详情

执行计划中各字段各模块描述(代码片段)

...段、模块显示或不显示,下面的描述给出了执行计划中各字段的含义以及各模块的描述。      有关执行计划中各字段模块的描述请参考:执行计划中各字段各模块描述      有关由SQL语句来获取执行计划请参考ÿ... 查看详情

谁学过51和arm,这两个定时器计数器的中断处理函数的主要区别在哪里?特别是arm,中断处理函数怎没理解?求

...自我的空间:………………如果中断不能进入,查看一下CPSR中的I位,如果是1,说明CPSR中断标志禁止中断,所以要将I清0,解决办法是利用一个软件中断,进入管理模式,将SPSR的I清0,返回前将SPSR复制到CPSR中。具体做法有待以... 查看详情

arm的异常处理机制

当异常产生时,ARMcore: 1.拷贝CPSR到SPSR_<mode> 2.设置适当的CPSR位: 2.1.改变处理器状态进入ARM态 2.2.改变处理器模式进入相应的异常模式 2.3.设置中断禁止位禁止相应中断(如果需要) 3.保存返回地址到LR_<mode> 4.设置PC为... 查看详情

帆软报表(finereport)入门-2单元格中各颜色标识的含义

帆软报表(finereport)单元格中,可根据单元格角标的颜色判断单元格进行的操作过滤:单元格左下角黄色三角形条件属性:单元格左上角红色三角形。 控件:单元格右侧中间的各种矩形。 左父格:单元格左侧蓝色向下... 查看详情

)嵌入式linux之常用汇编指令(代码片段)

...立即数0X12传递给R0寄存器,即R0=0X122、MRS指令MRSR0,CPSR@将特殊寄存器CPSR里面的数据传递给R0,即R0=CPSR3、MSR指令MSRCPSR,R0@将R0中的数据复制到CPSR中,即CPSR=R0注:MRS指令用于将特殊寄存器(如CPSR和SPSR)中... 查看详情

arm中断深入分析几点

... 首先要执行完当前指令!然后自动完成以下事情:  CPSR---->SPSR_irq(IRQ模式)(逆过程不能自动完成)  PC-4 ---->R14_irq  PC<----0X00000018(irq中断向量表的入口地址)程序员需要补充做的事情有:  R0----R12,和LR的... 查看详情

嵌入式系统的中断处理的主要过程是啥?

...令,不管SWI是在ARM状态执行,还是在Thumb状态执行。2、将CPSR复制到相应的SPSR中。3、根据异常类型,强制设置CPSR的运行模式位。4、强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。还可以设... 查看详情

arm(arm内部寄存器及sfr异常处理中断向量表)

...令的位置在FIQ模式下是独立的与其他模式不同R16 PSR--CPSR(当前状态寄存器) SPSR:程序状态寄存器条件状态(NZCV)保留字I F T模式位(M4-M0)SFR(SpecialFunctionRegister)特殊功能寄存器IO端口/寄存器,它属于外设的组... 查看详情

编辑文案

1.1系统逻辑部署图命令中各选项的含义如表所示。使用cat命令可以显示文本文件的内容,也可以把几个文件内容附加到另一个文件中。如果没有指定文件,或者文件为“-”,那么就从标准输入读取。命令语法:cat[选项][文件]命... 查看详情

写出sql查询语句的基本结构,并说明结构中各子句表示的含义

参考技术A语法SELECT[predicate]*|table.*|[table.]field1[ASalias1][,[table.]field2[ASalias2][,...]]FROMtableexpression[,...][INexternaldatabase][WHERE...][GROUPBY...][HAVING...][ORDERBY...][WITHOWNERACCESSOPTION]SELECT语句包含以下部分:部分说明predicate这些谓词之一:ALL、DIS... 查看详情

操作系统学习代码段和数据段描述符

...格式段描述符通用格式如下所示:代码段和数据段描述符中各个位的含义如下所示:二、代码段和数据段描述符类型当段描述符中S标志位(描述符类型)被置位,则该描述符用于代码段或数据段。此时类型字段中最高比特位(第二个双... 查看详情

第五周学习--卷积网络识别含义多重性验证

...说这个验证的实验结论。结论:卷积网络识别的结果的各个位置具有多样性,即若一个神经网络识别出多个结果的时候,各个结果间即使数值相同,之间也不存在相互的影响。推论1:若要识别一个物体的n个不同特征,则必须至... 查看详情

(转)arm汇编学习笔记——cpsr寄存器cpsr_c

...RM每种工作模式除R0~R15共16个寄存器外,还有第17个寄存器CPSR,叫做“当前程序状态寄存器”,CPSR中一些位被用于标识各种状态,一些位被用于标识当前处于什么工作模式。2:这个状态寄存器的32位可以分为四个8位的域。 其... 查看详情

arm寄存器

...程序计数器(R15)(注意:又名pc指针)程序状态寄存器:1:CPSR2:SPSR 应用分类:(有一部分是相同寄存器在不同状态下的不同功能)31个通用寄存器:未分组寄存器(R0-R7)分组寄存器(R8-R14)R15(PC指针)注意:其中R13 查看详情

[zynq-7]ps处理pl外部中断的简单实例的剖析(参考米联miz702n)

...处理的大致过程:PC内容保存到LR_IRQ用于中断返回,拷贝CPSR到SPSR_IRQ以反应中断模式,屏蔽其他中断,紧接着将PC设置为中断向量表入口。CPU完成现场保护。确认中断源,并调用相关的中断处理函数。恢复CPSR,恢复CPU现场,中断... 查看详情