ARM Cortex-M33 Regs
ARM Architecture & Registers
Key Registers
r0
Arg 1 / Return
r1
Arg 2
r2
Arg 3
r3
Arg 4
r0-r3 Caller-saved
r4-r11 Callee-saved
SP (r13)
Stack Ptr
LR (r14)
Return Addr
PC (r15)
Next Instr
xPSR
Status Flags
Function Call Flow
main()
BL
func()
BX LR
How It Works
r0 = first argument
puts(r0) passes the
string address in r0
LR saves return addr
BL: PC+4 stored in LR
BX LR: jump back
All registers: 32 bits wide