ARM Registers (Windows CE 5.0)
The ARM microprocessor has 16 general-purpose registers.
THUMB has eight general-purpose registers, R0-R7, and access to the high registers, R8-R15.
The following table shows the assigned register roles.
Register | Description |
---|---|
R0 | Argument1, Return Value, Temporary Register |
R1 | Argument2, Second 32-bits if double/int Return Value, Temporary Register |
R2-R3 | Arguments, Temporary Registers |
R4-R10 | Permanent Registers. R7 is THUMB Frame Pointer |
R11 | ARM Frame Pointer - Permanent Register |
R12 | Temporary Register |
R13 | Stack Pointer, Permanent Register |
R14 | Link Register, Permanent Register |
R15 | Program Counter |
Note Registers R0 through R3 hold the first four words of incoming arguments. The microprocessor constructs remaining arguments in the calling function's argument build area, which does not provide space into which R0 through R3 can be spilled.
See Also
ARM Stack Frame Layout | ARM Assembler Macros
Send Feedback on this topic to the authors