3.10.6. MRS

Move the contents of a special register to a general-purpose register.

Syntax

MRS{cond} Rd, spec_reg

where:

cond

Is an optional condition code, see Conditional execution.

Rd

Specifies the destination register.

spec_reg

can be any of: APSR, IPSR, EPSR, IEPSR, IAPSR, EAPSR, PSR, MSP, PSP, PRIMASK, BASEPRI, BASEPRI_MAX, FAULTMASK, or CONTROL.

Note

All the EPSR and IPSR fields are zero when read by the MRS instruction.

Operation

Use MRS in combination with MSR as part of a read-modify-write sequence for updating a PSR, for example to clear the Q flag.

Note

BASEPRI_MAX is an alias of BASEPRI when used with the MRS instruction.

See MSR.

Restrictions

Rd must not be SP and must not be PC.

Condition flags

This instruction does not change the flags.

Examples

    MRS  R0, PRIMASK ; Read PRIMASK value and write it to R0. 

Copyright © 2010 ARM. All rights reserved.ARM DUI 0552A
Non-ConfidentialID121610