欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

arm core中寄存器cpsr的每一位的具体意思

更新时间: 2014-01-05 02:34:17 责任编辑: Author_N1

 

arm core中寄存器CPSR的每一位的具体意义

有什么错误希望大家指出来,一起学习;


CPSR是32位寄存器,各位的状态:
        31 30 29 28 27 25            26  24 23           20  19    16 15             10 9 8 7 6 5 4    0
         N  Z  C    V  Q  RESERVED  J  RESERVED  GE[3:0]  RESERVED E A I F T M[4:0]
    N:计算结果 <0, N = 1
              >= 0, N = 0
    Z:当计算结果出现 0 时(一般用于比较指令相等时),Z = 1;否则 Z = 0
    C:默认为1,不会自动置位
        减法:需借位, C = 0; 无借位, C = 1
        加法:有进位, C = 1; 无进位, C = 0
    V:有溢出: V = 1; 无溢出: V = 0
    Q:饱和:Q = 1; 不饱和:Q = 0
        饱和:
            0x80000000,...,-2,-1,0,1,2,...,0x7fffffff
            0x80000000 的减法运算将变回 正数, <= 0x7fffffff
            0x7fffffff 的加法运算将变回 负数, >= 0x80000000
        饱和运算:
            qadd(语法规则与add相同)
            计算结果饱和到 0x7fffffff 或 0x80000000,即正数不会大于 0x7fffffff,负数不会小于 0x80000000
    RESERVED:保留位,不用
    J:当前执行的执行种类,java指令, J = 1
    RESERVED:保留位,不用
    GE[3:0]:保留指令(不用)
    RESERVED:保留位,不用
    E:数据存储用大端:E = 1;用小端:E = 0
        住:在arm的CP15中修改其值,arm支持大小端,X86只支持小端
    A:abort中止禁止位
        禁止段错误发生,A = 1; 否则,A = 0
    I:中断禁止位
        I = 1,禁止IRQ请求
    F:快速中断禁止位
        F = 1,禁止FRQ请求
    M[4:0]:存放工作模式编号

上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:34:17
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/11599/
本文WWW.DOC100.NET DOC100.NET版权所有。