9
Instruction Set
The H8/300H has an instruction set which suits the combined needs of HLL programming and
embedded applications. It comprises of 62 instructions, with an emphasis on arithmetic
instructions, address manipulation and bit processing. More than half of all instructions have an
instruction length of only 2Bytes making very compact code.
Function Instruction
Data transfer MOV, PUSH, POP, MOVTPE, MOVFPE
Arithmetic operations ADD, SUB, ADDX, SUBX, INC, DEC, ADDS, SUBS, DAA, DAS, MULXU,
DIVXU, MULXS, DIVXS, CMP, NEG, EXTS, EXTU
Loqic operations AND,OR,XOR,NOT
Shift operations SHAL, SHAR, SHLL, SHLR, ROTL, ROTR, ROTXL, ROTXR
Bit manipulation BSET, BCLR, BNOT, BTST, BAND, BIAND, BOR, BIOR,
BXOR, BIXOR, BLD, BILD, BST, BIST
Branch Bcc, JMP, BSR, JSR, RTS
System control TRAPA, RTE, SLEEP, LDC, STC, ANDC, ORC, XORC, NOP
Block data transfer EEPMOV
In comparison with the H8/300 CPU most of the data transfer, logical, shift and arithmetic
instructions are improved to handle 16 and 32-bit data. New instructions added to the H8/300H
include signed multiplication, sign extension, 16-bit branch instructions and a software trap
instruction. The following table illustrates the new and improved instructions provided by the
H8/300H.