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