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—76–43210
NZCVIFM4M3M2M1M0
000 00User26 形式
000 01FIQ26 形式
000 10IRQ26 形式
000 11SVC26 形式
10000User 形式
10001FIQ 形式
10010IRQ 形式
10011SVC 形式
10111ABT 形式
1101 1UND 形式
深入分析:
关于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尾缀
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/275073.html