这些指令用于执行算术和逻辑操作:
ADDU
(无符号加法):将寄存器 rs 和 rt 的内容相加,结果存储在 rd 寄存器中。SUBU
(无符号减法):从寄存器 rs 减去寄存器 rt 的内容,结果存储在 rd 寄存器中。SLT
(设置小于):如果寄存器 rs 的内容小于寄存器 rt 的内容,则 rd 寄存器设置为1,否则设置为0。SLTU
(无符号设置小于):类似 SLT,但比较是按无符号数进行的。AND
:对寄存器 rs 和 rt 的内容进行位与操作,结果存储在 rd 寄存器中。OR
:对寄存器 rs 和 rt 的内容进行位或操作,结果存储在 rd 寄存器中。XOR
:对寄存器 rs 和 rt 的内容进行位异或操作,结果存储在 rd 寄存器中。NOR
:对寄存器 rs 和 rt 的内容进行位或非操作,结果存储在 rd 寄存器中。SLLV
、SRLV
、SRAV
:分别表示逻辑左移、逻辑右移和算术右移,移动的位数由寄存器 rt 指定,源数据来自寄存器 rs,结果存储在 rd 寄存器中。LW
(Load Word):从内存加载一个字到寄存器 rt 中,地址由基址寄存器 base 和偏移量 offset 确定。SW
(Store Word):将寄存器 rt 的内容存储到内存中,地址由基址寄存器 base 和偏移量 offset 确定。BEQ
(Branch if Equal):如果寄存器 rs 和 rt 的内容相等,则跳转到指定的偏移量 offset 处。BNE
(Branch if Not Equal):如果寄存器 rs 和 rt 的内容不相等,则跳转到指定的偏移量 offset 处。BLEZ
(Branch if Less than or Equal to Zero):如果寄存器 rs 的内容小于或等于零,则跳转到指定的偏移量 offset 处。BGTZ
(Branch if Greater than Zero):如果寄存器 rs 的内容大于零,则跳转到指定的偏移量 offset 处。这些指令的编码包括操作码(op)、寄存器指示(rs、rt、rd)、立即数(immediate)、基址(base)和偏移量(offset)。每个字段都有特定的位数和位置,这些位组合起来定义了指令的操作和操作数。