__no_scratch
In this section:
Syntax
Description
The __no_scratch keyword specifies that the function does not destroy scratch registers, except those used as return or parameter registers. In the example below, assuming that it contains the return value of the function, R1 will be destroyed, but all other registers that are available as scratch registers will be preserved.
Example
__no_scratch int my_function(void);
See also
For information about scratch registers, see Calling convention.