2.5.3.7.2 Exception Return
Exception return occurs when the processor is in Handler mode and execution of one of the following instructions attempts to set the PC to an EXC_RETURN value:
- An LDM or POP instruction that loads the PC
- An LDR instruction with PC as the destination
- A BX instruction using any register
The processor saves an EXC_RETURN value to the LR on exception entry. The exception mechanism relies on this value to detect when the processor has completed an exception handler. Bits[31:4] of an EXC_RETURN value are 0xFFFFFFF.
When the processor loads a value matching this pattern to the PC it detects that the operation is a not a normal branch operation and, instead, that the exception is complete. Therefore, it starts the exception return sequence. Bits[3:0] of the EXC_RETURN value indicate the required return stack and processor mode, as noted in the following table.
| EXC_RETURN | Description | 
|---|---|
| 0xFFFFFFF1 | 
 | 
| 0xFFFFFFF9 | 
 | 
| 0xFFFFFFFD | 
 | 
| All other values | Reserved | 
