MIPS32体系结构定义了三种主要的指令类型:R(寄存器),I(立即数)和J(跳转)指令。下面是对每种类型的简要说明:
-
R类型指令(Register Instructions):
- 这种类型的指令用于寄存器之间的操作,如算术运算和逻辑运算。
- R类型指令的格式:
op rd, rs, rt
,其中op是操作码,rd、rs和rt是目标寄存器、源寄存器1和源寄存器2的编号。 - 示例:
add $t0, $s1, $s2
表示将寄存器$t0设置为s1和$s2的和。
-
I类型指令(Immediate Instructions):
- 这种类型的指令包含立即数(常数)作为其操作数,并且用于数据传输、分支和逻辑运算等操作。
- I类型指令的格式:
op rt, rs, immediate
,其中op是操作码,rt是目标寄存器,rs是源寄存器,immediate是立即数。 - 示例:
lw $t0, 100($s1)
表示将内存地址$s1+100处的数据加载到寄存器s1+100处的数据加载到寄存器t0中。
-
J类型指令(Jump Instructions):
- 这种类型的指令用于无条件跳转到指定的地址。
- J类型指令的格式:
op target
,其中op是操作码,target是跳转目标的地址。 - 示例:
j label
表示跳转到标号为"label"的指令。
这些指令类型涵盖了MIPS32指令集的大部分指令。