ARM Cheat Sheet

Instruction Reference

mov r2, #0xff Move 0xFF into R2
bl address Jump to 'address' and store address of the next instruction in LR (r14)
sub result, rA, rB subtract rB from rA. Postfix an S to set the condition codes.

Instruction Postfixes

Conditional Execution GT, LT, NE, EQ
Other
S Set condition code

Registers

Name Alt Notes
lr r14 link register

Questions

LDRLS pc, [pc, r0, LSL #2]
b outOfRange
swi_table
DTD swi_one
Stack convention? sp=last or next? push/pop ?
What is FD? And what is !?
STMFD sp!, {...}
What's the small jump convention? i.e skip one instruction; jump to the same/n-4 instruction?
ADDLO pc, pc, r0, LSL #routineSizeLog2 (pg A9-16)