The processor uses SP as a pointer to the active stack.
The processor uses SP as a pointer to the active stack.
The Stack Pointer is banked per processor mode. Accessing the active stack pointer actually returns/modifies the stack pointer of the current processor execution mode.
| Mode | Actual SP |
|---|---|
| User/System | SP_usr |
| Hypervisor | SP_hyp |
| Supervisor | SP_svc |
| Abort | SP_abt |
| Undefined | SP_und |
| Monitor | SP_mon |
| IRQ | SP_irq |
| FIQ | SP_fiq |
Consider __set_SP and __set_SP_usr to access this register.