条件分支指令
比较两个值,根据比较的结果决定是否跳转到一个新的地址开始执行。
MIPS 通过
slt
、slti
、beq
、bne
与0
(或$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
将多个指令序列分支的地址编码为一张表,即转移地址表
,程序只需要索引该表,就能跳转到对应的指令序列。