The Standard ABI, Coprocessors r0 a1 r1 a2 r2 a3 r3 a4 r4 v1 r5 v2 r6 v3 r7 v4 r8 v5 r9 v6 r10 v7 r11 v8 r12 ip r13 sp r14 lr r15 pc Role of registers A registers are function arguments (caller-saved) V registers are callee-saved R12 is the "intra-procedure scratch" R13 is the stack pointer (software defined) R14 is the link register (hardware defined) R15 is the program counter (hardware defined) Coprocessors The architecture defines 16 coprocessors CP15, if present, is used for cache and MMU CP0 and CP1, if present, are used for FPU The following instructions are defined by the architecture: Register move CPU/coprocessor: MRC, MCR Coprocessor load and store: LDC, STC Coprocessor data processing: CDP