Cortex-M3 Processor (Reference Material)
UG0331 User Guide Revision 15.0
25
Interruptible-continuable Instructions
When an interrupt occurs during the execution of an LDM, STM, PUSH, or POP 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:
•
Continues loading 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
page 85 for more information.
Thumb State
The Cortex-M3 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
page 45 for
more information.
The T bit can be modified both by software, using the mechanisms described in this section, and directly
by the debugger.
3.5.1.3.9
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.
Priority Mask Register
The PRIMASK register prevents activation of all exceptions with configurable priority. See the register
summary in
page 21 for its attributes. The following figure for bit assignments for MSR or MRS
access.
Figure 7 •
Priority Mask Register
Table 13 •
PRIMASK Register Bit Assignments
Bits
Name
Function
[31:1]
Reserved
[0]
PRIMASK
0: no effect
1: prevents the activation of all exceptions with configurable priority.
31
1 0
Reserved
PRIMASK