![](http://datasheet.mmic.net.cn/370000/-PD30101_datasheet_16680756/-PD30101_44.png)
CHAPTER 1 INTRODUCTION
13
Figure 1-4. CPU Instruction Formats
I-type (immediate)
op
0
15
16
20
21
25
26
31
J-type (jump)
op
target
0
25
26
31
R-type (register)
op
0
15
16
20
21
25
26
31
5
6
10
11
rs
rt
immediate
rs
rt
rd
sa
funct
Instruction decoding is greatly simplified by limiting the number of formats to these three. This limitation
means that the more complicated (and less frequently used) operations and addressing modes can be
synthesized by the compiler, using sequences of these same simple instructions.
The instruction set can be further divided into the following groupings:
"
Load and store instructions move data between memory and general-purpose registers. They are
all immediate (I-type) instructions, since the only addressing mode supported is base register plus
16-bit, signed immediate offset.
"
Computational instructions perform arithmetic, logical, shift, multiply, and divide operations on values
in registers. They include R-type (in which both the operands and the result are stored in registers)
and I-type (in which one operand is a 16-bit signed immediate value) formats.
"
Jump and branch instructions change the control flow of a program. Jumps are always made to an
absolute address formed by combining a 26-bit target address with the high-order bits of the
Program Counter (J-type format) or register address (R-type format). The format of the branch
instructions is I type. Branches have 16-bit offsets relative to the Program Counter. JAL
instructions save their return address in register 31.
"
Coprocessor 0 (System Control Coprocessor, CP0) instructions perform operations on CP0 registers
to control the memory-management and exception-handling facilities of the processor.
"
Special instructions perform system calls and breakpoint operations, or cause a branch to the
general exception-handling vector based upon the result of a comparison. These instructions occur
in both R-type (both the operands and the result are stored in registers) and I-type (one operand is
a 16-bit signed immediate value) formats.
Chapter 2 provides a more detailed summary (Refer to the Chapter 24 for detailed descriptions of the
operation of each instruction) .
1.5.4 Data Formats and Addressing
The V
R
4101 uses following four data formats:
"
Doubleword (64 bits)
"
Word (32 bits)