
DR
AFT
DR
AFT
DRAFT
DR
D
RAFT
DRAFT
DRA
FT DRAF
D
RAFT DRAFT DRAFT DRAFT DRAFT D
DRAFT
D
RAFT DRA
FT DRAFT DRAFT DRAFT DRA
UM10360_0
© NXP B.V. 2009. All rights reserved.
User manual
Rev. 00.06 — 5 June 2009
690 of 808
NXP Semiconductors
UM10360
Chapter 34: Appendix: Cortex-M3 User Guide
2.10.7 MSR
Move the contents of a general-purpose register into the specified special register.
2.10.7.1
Syntax
MSR
{
cond
}
spec_reg
,
Rn
where:
cond
is an optional condition code, see
Section 34–2.3.7 “Conditional execution”
.
Rn
is the source register.
spec_reg
can be any of:
APSR
,
IPSR
,
EPSR
,
IEPSR
,
IAPSR
,
EAPSR
,
PSR
,
MSP
,
PSP
,
PRIMASK
,
BASEPRI
,
BASEPRI_MAX
,
FAULTMASK
, or
CONTROL
.
2.10.7.2
Operation
The register access operation in
MSR
depends on the privilege level. Unprivileged software
can only access the
APSR
, see
Table 35–587 “APSR bit assignments”
. Privileged software
can access all special registers.
In unprivileged software writes to unallocated or execution state bits in the
PSR
are
ignored.
Note
When you write to
BASEPRI_MAX
, the instruction writes to
BASEPRI
only if either:
•
Rn
is non-zero and the current
BASEPRI
value is 0
•
Rn
is non-zero and less than the current
BASEPRI
value.
See
.
2.10.7.3
Restrictions
Rn
must not be SP and must not be PC.
2.10.7.4
Condition flags
This instruction updates the flags explicitly based on the value in
Rn
.
2.10.7.5
Examples
MSR
CONTROL, R1 ; Read R1 value and write it to the CONTROL register