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

Hardware Configuration
NVIC (Nested Vectored Interrupt Controller)
Main Core
Register Configuration
The Role of the Register
PC, LR
Stack Pointer
Special Register
Operation Mode and Stack Pointer (1)
Operation Mode and Stack Pointer (2)
Exceptions (Reset, Interrupt, Fault, System Call)
The Role of NVIC
Tail Chain Control by NVIC
Memory Map
Memory Map for Arm® Cortex®-M3 Specifications
Memory Map of TMPM330: Example of TX03 Series
Vector Table (1)
Vector Table (2)
Bit Band Area and Bit Band Alias Area (1)
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