MSR和MRS指令
来源:互联网 发布:html5仿微信红包源码 编辑:程序博客网 时间:2024/04/20 03:13
1 状态寄存器传送至通用寄存器类指令
功能:将状态寄存器的内容传送至通用寄存器。
格式:
MRS{<条件码>}Rd,CPSR}SPSR
其中:
Rd
R=0
R=1
注释:
MRS与MSR配合使用,作为更新PSR的读-修改-写序列的一部分。例如:改变处理器或清除标志Q。注意:当处理器在用户模式或系统模式下,一定不能试图访问SPSR
这条指令不影响条件码标志。
例:
MRS
MRS
2 通用寄存器传送至状态寄存器传送指令
功能:将通用寄存器的内容传送至状态寄存器。
格式:
MSR{<条件码>CPSR_f|SPSR_f,<#ommed_8r>
MSR{<条件码>CPSR_<field>|SPSR_<field>,Rm
其中:
<field>字段可以是以下之一或多种:(位从右到左)
C:控制域屏蔽字段(PSR中的第0位到第7位);
X:扩展域屏蔽字段(PSR中的第8位到第15位);
S:状态域屏蔽字段(PSR中的第16位到第32位);
F:标志域屏蔽字段(PSR中的第24位到第31位)。
immed_8r 值数字常量的表达式。常量必须对应8位位图。该位图在32位字中循环移位偶数数位。
Rm
注释:
同前一条指令(MRS)。
例1:设置N、Z、C、V标志。
MSR
例2:
仅置位C标志,保留N、Z、V标志。
MRS
ORR
MSR
例子:设置cpu工作在超级保护模式(SVC32)
@set the cpu to SVC32 mode
mrs r0,cpsr
@把CPSR内容存入r0.使用了mrs指令:专用寄存器到通过寄存器的存取.
@CPSR当前程序状态寄存器格式如下:
@ 31 30 29 28 27 26 25 24 ~ ~ ~ 8
@ ___ ___ ___ ___ ___ ___ ___ ___ _ _ _ _ ___ ___ ___ ____ ____ ____ ____ ____
@| N | Z | C | V | * | * | * | * | * * * | I | F | T | M4 | M3 | M2 | M1 | M0 |
@
bic r0,r0,#0x1f
@bic指令(bit clear): r0:= r0 and (not op2).上边的指令目的是把bit0~bit4清零.
orr r0,r0,#0xd3
@r0:= r0 or 0xd3 . 以上三条指令执行后r0值为:**** **** **** **** **** ***** 11*1 0011
msr cpsr,r0
@把r0存于cpsr.注意:msr指令是专用的通用寄存器到特殊功能寄存器的指令与mrs对应
说明:通过上边的指令可以看到,实现了两个功能.1,disable 外部中断(IRQ)与快速中断(FIR).2,把系统设为SVC32状态(超级保护)即M4~M1=10011
- MSR和MRS 指令
- MSR和MRS 指令
- MSR和MRS指令
- ARM中MRS和MSR汇编指令
- ARM汇编指令MRS和MSR
- MRS,MSR指令详解
- MRS,MSR指令详解
- MRS,MSR指令详解
- MSR和MRS
- 汇编指令状态寄存器访问指令(MRS,MSR)
- ARM处理器模式切换(含MRS,MSR指令)
- ARM处理器模式切换(含MRS,MSR指令)
- ARM处理器模式切换(含MRS,MSR指令)
- ARM处理器模式切换(含MRS,MSR指令)
- ARM处理器模式切换(含MRS,MSR指令)
- ARM处理器模式切换(含MRS,MSR指令)
- ARM处理器模式切换(含MRS,MSR指令)
- ARM处理器模式切换(含MRS,MSR指令)
- 程序员应该要读的书
- Oracle的物化视图 MATERIALIZED VIEW
- 天上掉馅饼? 1分钱保险保额5至20万
- 脚本
- 如何做好Code Review:思考、方法和实践
- MSR和MRS指令
- ndk编译生成gdb.setup和gdbserver的办法
- 网店外包托管
- HTML(5)
- OC排序
- POJ1611
- mysql新增字段、注释、指定位置新增字段、删除字段。
- 一个苹果证书怎么多次使用——导出p12文件
- UVa 10142 Australian Voting