14.1 Register Usage

When generating assembly from C/C++ source code, the compiler assumes that register contents will not be modified by external functions according to the calling conventions, or by inline assembly statements. The extended inline assembly syntax may be used to indicate the hardware registers used and/or modified by inline assembly so that the compiler may generate correct code in the presence of these statements.