
Chapter 2
CPU Basics
Instructions
II - 13
2.5.3
Instruction Set
The instruction set has a simple organization, and features the generation of compact and optimized code through
a C compiler. Basic instructions are one byte in length. Although these instructions are simple and provided with
limited data transfer functions (load/store functions), the instructions make it possible to reduce an expansion in
code size of assembler programs to the minimum.
Table:2.5.2 Instruction Types (All 46 types and extension instructions)
■ Transfer Instructions
Transfer instructions are used for register-to-register, memory-to-register, or memory-to registers (or register-to-
memory or registers-to-memory) data transfer. Transfer instructions are classified into MOV-, EXT-, and CLR-
type instructions. MOV-type instructions provide data transfer functions in a variety of addressing modes. Dis-
placement and immediate values will be sign expanded according to the operation. EXT-type instructions provide
a register-to-register transfer function involving sign expansion. CLR-type instructions provide a register clear
function (with 0 transferred). No flag change will be involved unless CLR-type instructions are used.
Transfer instructions
Transfer
Sign extention
Clear
MOV
MOVBU
MOVHU
MOVM
EXT
EXTB
EXTBU
EXTH
EXTHU
CLR
Arithmetic instructions
Addition
Substruction
Multiplication
Division
ADD
ADDC
INC
INC4
SUB
SUBC
MUL
MULU
DIV
DIVU
Compare instructions
Compare
CMP
Logical instructions
Logical add
Logical product
Inversion
Exclusive logical add
OR
AND
NOT
XOR
Bit instructions
Test
Test Test and set
Test and clear
BTST
BSET
BCLR
Shift instructions
Shift
Rotate
ASR
LSR
ASL
ASL2
ROR
ROL
Branch instructions
Branch
Loop set
Subroutine call
Return
Bcc
Lcc
JMP
SETLB
CALL
CALLS
TRAP
RET
RETF
RETS
RTI
NOP instructions
No operation
NOP
Extension instructions
Expansion
UDF
UDFU
Note: Interrupts are prohibited and the bus is locked (occupied by the CPU) when executing BSET or BCLR.