The Cortex-M4 Processor
ARM DUI 0553A
Copyright © 2010 ARM. All rights reserved.
2-7
ID121610
Non-Confidential
Attempts to read the EPSR directly through application software using the
MSR
instruction
always return zero. Attempts to write the EPSR using the
MSR
instruction in application software
are ignored.
Interruptible-continuable instructions
When an interrupt occurs during the execution of an
LDM
,
STM
,
PUSH
, or
POP
instruction, and when
an FPU is implemented an
VLDM
,
VSTM
,
VPUSH
, or
VPOP
instruction, the processor:
•
stops the load multiple or store multiple instruction operation temporarily
•
stores the next register operand in the multiple operation to EPSR bits[15:12].
After servicing the interrupt, the processor:
•
returns to the register pointed to by bits[15:12]
•
resumes execution of the multiple load or store instruction.
When the EPSR holds ICI execution state, bits[26:25,11:10] are zero.
If-Then block
The If-Then block contains up to four instructions following an
IT
instruction. Each instruction
in the block is conditional. The conditions for the instructions are either all the same, or some
can be the inverse of others. See
Thumb state
The Cortex-M4 processor only supports execution of instructions in Thumb state. The following
can clear the T bit to 0:
•
instructions
BLX
,
BX
and
POP{PC
}
•
restoration from the stacked xPSR value on an exception return
•
bit[0] of the vector value on an exception entry or reset.
Attempting to execute instructions when the T bit is 0 results in a fault or lockup. See
for more information.
Exception mask registers
The exception mask registers disable the handling of exceptions by the processor. Disable
exceptions where they might impact on timing critical tasks.
To access the exception mask registers use the
MSR
and
MRS
instructions, or the
CPS
instruction to
change the value of PRIMASK or FAULTMASK. See
for more information.
[24]
T
Thumb state bit, see
.
[23:16]
-
Reserved.
[9:0]
-
Reserved.
Table 2-6 EPSR bit assignments (continued)
Bits
Name
Function