微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM状态寄存器 CPSR SPSR

ARM状态寄存器 CPSR SPSR

时间:11-09 来源:互联网 点击:

1状态寄存器传送至通用寄存器类指令
功能:将状态寄存器的内容传送至通用寄存器。

格式:
MRS{<条件码>}Rd,CPSR}SPSR
其中:
Rd目标寄存器,Rd不允许R15。
R=0将CPSR中的内容传送目的寄存器。
R=1将SPSR中的内容传送至目的寄存器。

注释:
MRS与MSR配合使用,作为更新PSR的读-修改-写序列的一部分。例如:改变处理器或清除标志Q。注意:当处理器在用户模式或系统模式下,一定不能试图访问SPSR这条指令,不影响条件码标志。
例:
MRSR0,CRSR;将CPSR中的内容传送至R0
MRSR3,SPSR;将SPSR中的内容传送至R3

2 .通用寄存器传送至状态寄存器传送指令
功能:将通用寄存器的内容传送至状态寄存器.

格式:
MSR{<条件码>CPSR_f|SPSR_f,<#ommed_8r>
MSR{<条件码>CPSR_|SPSR_,Rm
其中:
字段可以是以下之一或多种:
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标志。
MSRCPSR_f,#&f0000000;仅高位有效,其他必须为0
例2:
仅置位C标志,保留N、Z、V标志。
MRSR0,CPSR;将CPSR中的内容传送至R0
ORRR0,R0,#&1f;置位R0的第29位
MSRCPSR_c,R0;再将R0中的内容传送至CPSR

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top