For an assembly coded function intended for C, is it necessary to include parameter registers in the $REGUSE statement? If you don't include these in the ASM function's $REGUSE statement, will the compiler assume that parameter registers are intact upon return and, thus, may reuse them? Ex:
int int_parm; MyASMFunction1( int_parm ) // Passed in R6R7 MyASMFunction2( int_parm ) // Also passed in R6R7
I have always taken the documentation to mean that $REGUSE should list all the registers that are used by the function - i.e. those registers that are not garanteed to have an unchanged value on return to the calling function. In the case of parameters passed in registers: if the register contents do not change, there is no need to list them.