4.7.7 Function Return Values
A function’s return value is usually returned in a register.
A byte-sized return value is returned in r24. Multi-byte return values are return in as many registers as required, with the highest register being r25. Thus, a 16-bit value is returned in r24-r25, a 32-bit value in r22-r25, etc.