1-5-决策指令

条件分支指令

比较两个值,根据比较的结果决定是否跳转到一个新的地址开始执行。

MIPS 通过sltsltibeqbne0(或$zero寄存器)来创建比较条件。

MIPS

beq register1, register2, L1

bne register1, register2, L1

无条件分支指令

MIPS

// go to EXIT
j EXIT

跳转和链接指令

MIPS

// 跳转到某个地址,并将下一条指令保存在$ra寄存器中
jal address

小于则置位指令

MIPS

第二个操作数为寄存器:

// $s1<$s2时,$t0=1,否则=0
slt $t0, $s1, $s2

第二个操作数为立即数:

// $s1<10时,$t0=1,否则=0
slti $t0, $s1, 10

循环

循环的实现通过组合决策指令来实现。

switch-case

将多个指令序列分支的地址编码为一张表,即转移地址表,程序只需要索引该表,就能跳转到对应的指令序列。