There are 16 registers available (R0-R15), of which 15 are general purpose (R15 is the program counter).

Special Registers

Some of the registers have conventional purposes and are aliased as such:

RegisterAliasNamePurpose
R13SPStack PointerContains the address of the top item on the stack.
R14LRLink RegisterContains the address of the instruction to return to once the current subroutine terminates.
R15PCProgram CounterContains the address of the next instruction to be executed.