Node:H8/300 Opcodes, Previous:H8/300 Directives, Up:H8/300-Dependent

#### Opcodes

For detailed information on the H8/300 machine instruction set, see H8/300 Series Programming Manual (Hitachi ADE-602-025). For information specific to the H8/300H, see H8/300H Series Programming Manual (Hitachi).

`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.