Stack Growth Direction
ARM Stack Mechanics
Before PUSH
0x20082000
SP here
(empty)
(empty)
(empty)
(empty)
0x20080000
Grows DOWN
After PUSH
0x20082000
LR value
r3 value
(empty)
(empty)
SP here now = 0x20081FF8
SP moved down
by 8 bytes
0x20080000
Key Concepts
Full Descending
SP points to the
last pushed item
PUSH: SP -= 4
Each 32-bit val
drops SP by 4
Two vals = -8
POP: SP += 4
Restores values
SP moves back up
Initial SP
Set by vector
table at 0x00
StackTop=0x20082000