初识 MIPS

汇编语言分类

  • CISC 复杂
    • x86
  • RISC 精简
    • ARM
    • MIPS
    • RISC-V

机器码格式

1
[op:rs:rt:rd:shmt:func]
  • op: 操作符
  • rs: 操作数1
  • rt: 操作数2
  • rd: 结果存放
  • shmt: 移位量
  • func: 函数

语法

1
<operator> <words...>

操作数

aka word

  • $32$ 个寄存器字
    • $s0 - $s7
    • $t0 - $t9
    • $a0 - $a3
    • $v0 - $v1
    • $zero
    • $gp
    • $fp
    • $sp
    • $ra
    • $at
  • $2^{30}$ 个存储器字
    • Memory[114514]

操作符

类别 指令 格式 含义
算术 加法 add $s0,$s1,$s2 $s0 = $s1 + $s2
算术 减法 sub $s0,$s1,$s2 $s0 = $s1 - $s2
算术 立即数加法 addi $s0,$s1,20 $s0 = $s1 + 20
数据传输 取字 load word lw $s0,20($s1) $s0 = Memory[$s2 + 20]
数据传输 存字 store word sw $s0,20($s1) Memory[$s2 + 20] = $s0
逻辑 and
逻辑 or
逻辑 或非 nor
逻辑 逻辑左移 sll
逻辑 逻辑右移 srl
条件分支 相等时跳转 beq
条件分支 不等时跳转 bne
条件分支 小于时条件 slt
无条件跳转 跳转 j 2500 goto 10000
无条件跳转 寄存器跳转 jr $ra goto $ra