
54
CHAPTER 3 CPU
3.9
Overview of Instructions
The FR series supports logical operation instructions, bit operation instructions, and
direct addressing instructions optimized for internal use, as well as the general RISC
instruction set. Each 16-bit instruction (some of these instructions have actually a
lenght of 32-bit or 48-bit) provides excellent memory utilization efficiency. See
Appendix E, "List of Instructions", for details.
The instruction set can be categorized into the following functional groups:
Arithmetic operation instructions
Load and store instructions
Branch instructions
Logical operation and bit operation instructions
Direct addressing instructions
Other instructions
s Overview of Instructions
r Arithmetic operation instructions
The instructions for arithmetic operations include the instructions for standard arithmetic
operations (addition, subtraction, and compare) as well as shift instructions (logical shift and
arithmetic shift).
Addition and subtraction support operations with carry-over (as used in
multiword operations) as well as operations without changing flag values, which is useful in
address calculations.
The instructions for arithmetic operations also include 32 × 32 bit and 16 × 16 bit multiplication
instructions and 32/32 bit step division instructions.
Immediate transfer instructions (in which register values are set directly) and instructions for
transfers between registers are also supported.
The instructions for arithmetic operations perform all operations using general-purpose
registers, multiplication registers, and division registers in the CPU.
r Load and store instructions
The load and store instructions are used for read and write access to external memory and to
the built-in circuits for peripherals (I/O).
The load and store instructions support three access lengths: byte, half-word, and word. In
addition to general register indirect memory addressing, some load and store instructions
support register indirect memory addressing with displacement and register increment/
decrement operations.
r Branch instructions
The branch instructions include the instructions for branch, call, interrupt, and return.
Depending on use, a branch instruction may have a delay slot to perform optimization.
See Section
3.9.1 "Branch instructions with delay slot" and Section
3.9.2 "Branch instructions
without delay slot" for details.