17.5. Opcodes

For detailed information on the H8/300 machine instruction set, see [H8/300 Series Programming Manual]. For information specific to the H8/300H, see [H8/300H Series Programming Manual] (Renesas).

as implements all the standard H8/300 opcodes. No additional pseudo-instructions are needed on this family.

Four H8/300 instructions (add, cmp, mov, sub) are defined with variants using the suffixes .b, .w, and .l to specify the size of a memory operand. as supports these suffixes, but does not require them; since one of the operands is always a register, as can deduce the correct size.

For example, since r0 refers to a 16-bit register,

mov    r0,@foo
is equivalent to           mov.w  r0,@foo

If you use the size suffixes, as issues a warning when the suffix and the register size do not match.