文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于CPSR_cxsf

关于CPSR_cxsf

时间:2009-06-04  来源:creatory

关于CPSR_cxsf
msr cpsr_cxsf,r1        ;这里的cxsf表示从低到高分别占用的4个8bit的数据域指令中有时还有出现cpsr_cf, cpsr_all, cpsr_c等,这里:
        c 指 CPSR中的control field ( PSR[7:0])
        f 指 flag field (PSR[31:24])
        x 指 extend field (PSR[15:8])
        s 指 status field ( PSR[23:16])其中cpsr的位表示为:
31 30 29 28 ---   7   6   -   4    3   2   1   0
N   Z   C   V         I   F       M4 M3 M2 M1 M0
                                       0     0   0    0   0     User26 模式
                                       0    0   0    0   1     FIQ26 模式
                                       0    0   0    1   0     IRQ26 模式
                                       0    0   0    1   1     SVC26 模式
                                       1    0   0 0   0     User 模式
                                       1    0   0   0   1     FIQ 模式
                                       1    0   0   1   0     IRQ 模式
                                       1    0   0   1   1     SVC 模式
                                       1    0   1   1 1     ABT 模式
                                       1    1 0    1    1     UND 模式
深入分析:
对于MSR(寄存器到状态寄存器)的指令,
        MSR CPSR,       r0
        MSR CPSR_all,   r0
        MSR CPSR_flg,   r0
都是已经过时的表示方法。
对于MRS(状态寄存器到寄存器)的指令,
        MRS R0,     CPSR        等同于MRS R0, CPSR_cxsf
        MRS R0,     CPSR_all    会有waring
        MRS R0,     CPSR_flg   会有错误
在ADS中使用c,f,x,s表示cpsr的各个部分是推荐的。从指令来说:
        MSR CPSR_f,         r0机器码为0xe128f000
        MSR CPSR_c,         r0机器码为0xe121f000
        MSR CPSR_x,         r0机器码为0xe122f000
        MSR CPSR_s,         r0机器码为0xe124f000
可见机器码中用bit[29:16]4bit表示是f,c,x,s的。所以能够在机器执行的时候,
给予不同的执行结果。为了代码向后兼容性,建议使用f,c,x,s尾缀 
相关阅读 更多 +
排行榜 更多 +
超级冒险王安卓版

超级冒险王安卓版

休闲益智 下载
玩具小镇手机版

玩具小镇手机版

休闲益智 下载
这一关特上头手机版

这一关特上头手机版

休闲益智 下载