UM10360 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2013. All rights reserved.
User manual Rev. 3 — 20 December 2013  752 of 841
NXP Semiconductors
UM10360
Chapter 34: Appendix: Cortex-M3 user guide
The stack frame includes the return address. This is the address of the next instruction in 
the interrupted program. This value is restored to the PC at exception return so that the 
interrupted program resumes.
In parallel to the stacking operation, the processor performs a vector fetch that reads the 
exception handler start address from the vector table. When stacking is complete, the 
processor starts executing the exception handler. At the same time, the processor writes 
an EXC_RETURN value to the LR. This indicates which stack pointer corresponds to the 
stack frame and what operation mode the was processor was in before the entry 
occurred.
If no higher priority exception occurs during exception entry, the processor starts 
executing the exception handler and automatically changes the status of the 
corresponding pending interrupt to active. 
If another higher priority exception occurs during exception entry, the processor starts 
executing the exception handler for this exception and does not change the pending 
status of the earlier exception. This is the late arrival case.
34.3.3.7.2 Exception return
Exception return occurs when the processor is in Handler mode and executes one of the 
following instructions to load the EXC_RETURN value into the PC:
• a 
POP
 instruction that includes the PC
• a 
BX
 instruction with any register.
• an 
LDR
 or 
LDM
 instruction with the PC as the destination.
EXC_RETURN is the value loaded into the LR on exception entry. The exception 
mechanism relies on this value to detect when the processor has completed an exception 
handler. The lowest four bits of this value provide information on the return stack and 
processor mode. Table 640
 shows the EXC_RETURN[3:0] values with a description of the 
exception return behavior. 
The processor sets EXC_RETURN bits[31:4] to 
0xFFFFFFF
. When this value is loaded into 
the PC it indicates to the processor that the exception is complete, and the processor 
initiates the exception return sequence. 
 
Table 640. Exception return behavior
EXC_RETURN[3:0] Description
bXXX0 Reserved.
b0001 Return to Handler mode.
Exception return gets state from MSP.
Execution uses MSP after return.
b0011 Reserved.
b01X1 Reserved.