14.2 Register Conventions
The 16 general-purpose registers in the Arm® Cortex®-Mx core of PIC32C devices are shown in the table below. Certain registers are assigned to a dedicated purpose by the compiler, or have synonyms indicating their usage in the procedure call standard. The special names for use in assembly code and for dedicated usage, when applicable, are indicated.
Register Number | Special Name | Use |
---|---|---|
R0-R3 | General purpose registers/function arguments and return value registers. | |
R4-R8 | General purpose registers/variable registers. | |
R9 | General purpose registers/platform register. | |
R10 | General purpose registers/variable registers. | |
R11 | FP | Frame pointer. |
R12 | IP | Intra-procedure-call scratch register. |
R13 | SP | Stack pointer. |
R14 | LR | Link register. |
R15 | PC | Program counter. |
Note: The special registers R7 and R11 may be available for
general-purpose use, if not required for their dedicated use. Note also that all
register names, including synonyms and special names, are case-insensitive in assembly
language.