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:
| Register | Alias | Name | Purpose |
|---|---|---|---|
R13 | SP | Stack Pointer | Contains the address of the top item on the stack. |
R14 | LR | Link Register | Contains the address of the instruction to return to once the current subroutine terminates. |
R15 | PC | Program Counter | Contains the address of the next instruction to be executed. |