Keil™, An ARM® Company

CARM User's Guide

Discontinued

Register Usage

Assembler functions may destroy the contents of R0-R3, R8-R12, and R14. When invoking a C function from assembly, you must assume that these registers are destroyed.

Registers R4-R7 may be used but their contents must be saved (on entry) and restored (before returning).

The following registers have special meaning and must be preserved by all assembler routines.

RegisterDescription
R13 = SPR13 is the stack pointer.
R14 = LRR14 is the link register that holds the function return value. It may be destroyed by the assembly function.
R15 = PCR15 may be used but its contents must be saved (on entry) and restored (before returning).