2.5
Instruction Set
The H8/300 CPU has 57 types of instructions, which are classified by function in table 2.3.
Table 2.3 Instruction Classification
Function
Instructions
Types
Data transfer
MOV, MOVTPE*3, MOVFPE*3, PUSH*1, POP*1
3
Arithmetic operations
ADD, SUB, ADDX, SUBX, INC, DEC, ADDS, SUBS,
DAA, DAS, MULXU, DIVXU, CMP, NEG
14
Logic operations
Shift
AND, OR, XOR, NOT
4
8
SHAL, SHAR, SHLL, SHLR, ROTL, ROTR, ROTXL,
ROTXR
Bit manipulation
BSET, BCLR, BNOT, BTST, BAND, BIAND, BOR,
BIOR, BXOR, BIXOR, BLD, BILD, BST, BIST
Bcc*2, JMP, BSR, JSR, RTS
14
Branch
5
8
1
System control
Block data transfer
RTE, SLEEP, LDC, STC, ANDC, ORC, XORC, NOP
EEPMOV
Total 57
Notes: *1 PUSH Rn is equivalent to MOV.W Rn, @–SP.
POP Rn is equivalent to MOV.W @SP+, Rn.
*2 Bcc is a conditional branch instruction in which cc represents a condition code.
*3 Not supported by the H8/3337 Series and H8/3397 Series.
38