ARM体系结构CPSR-当前程序状态寄存器

CPSR有4个8位区域:

标志域(F)、状态域(S)、扩展域(X)、控制域(C)

MSR - Load specified fields of the CPSR or SPSR with an immediate constant, or from the contents of a general-purpose register.

Syntax:

MSR{cond} _, #immed_8r MSR{cond} _, Rm where: cond is an optional condition code. is either CPSR or SPSR. specifies the field or fields to be moved. can be one or more of:

c control field mask byte (PSR[7:0])

x extension field mask byte (PSR[15:8])

s status field mask byte (PSR[23:16)

f flags field mask byte (PSR[31:24]).

immed_8r is an expression evaluating to a numeric constant.

The constant must correspond to an 8-bit pattern rotated by an even number of bits within a 32-bit word. Rm is the source register.

C 控制域屏蔽字节(psr[7:0])
X 扩展域屏蔽字节(psr[15:8])
S 状态域屏蔽字节(psr[23:16])
F 标志域屏蔽字节(psr[31:24])
常用于MRS或MSR指令,用于psr中的值转移到寄存器或把寄存器的内容加载到psr中.
如:

msr cpsr_c,#0xd3 @进入管理模式

msr cpsr_c,#0xd2 @ 进入中断模式

你可能感兴趣的:(嵌入式开发,ARM汇编)