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.