MIPS CPU基本20条整数指令格式和功能,用文字描述
时间: 2024-04-01 10:34:06 浏览: 181
MIPS CPU的基本20条整数指令格式和功能如下:
1. add $rd, $rs, $rt: 将寄存器 $rs 和 $rt 中的值相加,结果存储到目标寄存器 $rd 中。
2. addi $rt, $rs, imm: 将寄存器 $rs 中的值加上立即数 imm,结果存储到目标寄存器 $rt 中。
3. sub $rd, $rs, $rt: 将寄存器 $rs 中的值减去寄存器 $rt 中的值,结果存储到目标寄存器 $rd 中。
4. and $rd, $rs, $rt: 对寄存器 $rs 和 $rt 中的值进行按位与运算,结果存储到目标寄存器 $rd 中。
5. or $rd, $rs, $rt: 对寄存器 $rs 和 $rt 中的值进行按位或运算,结果存储到目标寄存器 $rd 中。
6. slt $rd, $rs, $rt: 如果寄存器 $rs 中的值小于寄存器 $rt 中的值,则将目标寄存器 $rd 中的值设为1,否则设为0。
7. lw $rt, offset($rs): 从存储器中以地址 $rs + offset 为起始地址,读取一个字(4个字节),并将结果存储到目标寄存器 $rt 中。
8. sw $rt, offset($rs): 将寄存器 $rt 中的值存储到存储器中以地址 $rs + offset 为起始地址的位置。
9. beq $rs, $rt, offset: 如果寄存器 $rs 和 $rt 中的值相等,则将 PC 寄存器中的值加上偏移量 offset,跳转到指定地址。
10. bne $rs, $rt, offset: 如果寄存器 $rs 和 $rt 中的值不相等,则将 PC 寄存器中的值加上偏移量 offset,跳转到指定地址。
11. j target: 直接跳转到指定地址 target。
12. jal target: 将当前指令的地址存储到寄存器 $ra 中,然后跳转到指定地址 target。
13. jr $rs: 从寄存器 $rs 中读取地址,并跳转到该地址。
14. lui $rt, imm: 将立即数 imm 左移16位,然后将结果存储到目标寄存器 $rt 的高16位中。
15. sll $rd, $rt, shamt: 将寄存器 $rt 中的值左移 shamt 位,然后将结果存储到目标寄存器 $rd 中。
16. srl $rd, $rt, shamt: 将寄存器 $rt 中的值右移 shamt 位,然后将结果存储到目标寄存器 $rd 中。
17. addu $rd, $rs, $rt: 无符号加法,和 add 指令功能相同。
18. andi $rt, $rs, imm: 对寄存器 $rs 和立即数 imm 进行按位与运算,结果存储到目标寄存器 $rt 中。
19. ori $rt, $rs, imm: 对寄存器 $rs 和立即数 imm 进行按位或运算,结果存储到目标寄存器 $rt 中。
20. sltu $rd, $rs, $rt: 无符号比较大小,和 slt 指令功能相同,但是采用无符号比较。
阅读全文