Contents|Index|Previous|Next
Calling conventions for Hitachi H8/300
The Hitachi H8/300 passes the first three words of arguments in registers R0 through R2. All remaining arguments are pushed onto the stack, last to first, so that
the lowest numbered argument not passed in a register is at the lowest address in
the stack. The registers are always filled, so a double word argument starting
in R2 would have the most significant word in R2 and the least significant word on the stack. Function return values are
stored in R0 and R1. Registers R0 through R2 can be used for temporary values. When a function is compiled with the
default options, it must return with registers R3 through R6 unchanged.
Note:
Functions compiled with different calling conventions cannot be run together
without some care.