MIPS 是定长的,都是 32 位宽
三种指令格式:
- R 型
- 寄存器和寄存器之间的运算指令
- I 型
- 有立即数
- J 型
- 跳转
- 后面是 26 位的伪地址
所有的 op 都是 6 位的操作码,但是 R 型有后面的额外 6 位 func 来指定,op 全为 0
所以一共 127 条指令
5 位的寄存器码,所以有 32 个寄存器(后面能拓展)
变量名字: rs (source) , rt → rd (dest) smt (shift) func
32x32 浮点寄存器
31x32 通用寄存器
HI LO PC 专用寄存器
0 号寄存器永远是 0
fp 帧指针 (其实就是 bp)
ra 过程调用返回地址
jr (jump reg)
beq (branch eq)
slt (set less than)