2-8. PUSH/POP to the Stack Pointer

PUSH/POP to the Stack Pointer

Register operation (PUSH and POP), when an exception occurs
Arm® Cortex®-M3 automatically performs PUSH and POP functions at the start and end of exception/interrupt handlers.
There are eight registers that automatically performs PUSH and POP; R00R3, R12, R14, R15, and xPSR.
Let's see PUSH and POP operations in a program flow example, when an exception/interrupt event occurs.

Chapter 2 Arm® Cortex®-M3

2-1. Hardware Configuration
2-2. NVIC (Nested Vectored Interrupt Controller)
2-3. Main Core
2-4. Register Configuration
2-5. The Role of the Register
2-6. PC, LR
2-7. Stack Pointer
2-9. Special Register
2-10-1. Operation Mode and Stack Pointer (1)
2-10-2. Operation Mode and Stack Pointer (2)
2-11. Exceptions (Reset, Interrupt, Fault, System Call)
2-12. The Role of NVIC
2-13. Tail Chain Control by NVIC
2-14. Memory Map
2-15. Memory Map for Arm® Cortex®-M3 Specifications
2-16. Memory Map of TMPM330: Example of TX03 Series
2-17-1. Vector Table (1)
2-17-2. Vector Table (2)
2-18-1. Bit Band Area and Bit Band Alias Area (1)
2-18-2. Bit Band Area and Bit Band Alias Area (2)

* Arm and Cortex are registered trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere.

A new window will open