The compiler uses the scratch registers to return values to the caller.
- The eight-bit typpe char is returned in register A[7].
- The 16-bit types int, short, enumerations,
and any pointer type are returned in A[7].
- The 32-bit types long and float (and double
if compiled with double equivalent to float)
are returned in the register pair A[7]:A[6], with A[7]
holding the most significant word of the result and A[6]
the least significant word.
- The 64-bit types long long and double
are returned in the register set A[7]-A[4] with A[7]
holding the most significant word of the result and A[4]
the least significant word.