From the FAQ
Arguments - allocated left to right, r25 to r8. All arguments are aligned to start in even-numbered registers (odd-sized arguments, including char, have one free register above them).
So if I have a function that only passed a char/uint8
void Blah(uint8_t X);
X will be passed in R24 with R25 being "free"
Does "Free" mean I can clobber it in ASM?
I know if I was calling a routine
I would be allowed to clobber R25
But from much google-ing I can't see if I am allowed to do it in the char/uint8_t case above.