The compiler uses the scratch registers to return values to the caller.
- The eight-bit typpe char is returned in register R27.
- The 16-bit types int, short,
enumerations, and any pointer type are returned in R27:R26 with
R27 holding
the most significant byte of the result and R26 the
least significant byte.
- The 32-bit types long and float (and double
if compiled with double equivalent to float)
are returned in the register quadr R27-R24, with R27 holding
the most significant byte of the result and R24 the
least significant byte.
- The 64-bit types long long and double
are returned in the register set R27-R20 with R27 holding
the most significant byte of the result and R20 the
least significant byte.