控制流 指令集

最后更新于:2022-04-02 04:23:20

[TOC] ## 控制流 ### if else系列 ``` b target # unconditional branch to program label target beq $t0,$t1,target # branch to target if $t0 = $t1 blt $t0,$t1,target # branch to target if $t0 < $t1 ble $t0,$t1,target # branch to target if $t0 <= $t1 bgt $t0,$t1,target # branch to target if $t0 > $t1 bge $t0,$t1,target # branch to target if $t0 >= $t1 bne $t0,$t1,target # branch to target if $t0 <> $t1 ``` ### 跳转(while, for, goto系列) ``` j target      # 看到就跳, 不用考虑任何条件 jr $t3 # 类似相对寻址,跳到该寄存器给出的地址处 ``` ### 子程序调用 ``` jal sub_label #将当前的程序计数器保存到 $ra 中 ``` - 如果说调用的子程序中有调用了其他子程序,如此往复, 则返回地址的标记就用 栈(stack) 来存储, 毕竟 $ra 只有一个
';