给定两个寄存器$s0
,$s1
如何仅使用slt
(在小于时设置)beq
和bne
(如果相等则为分支,如果不相等的分支)指令将以下伪代码转换为MIPS汇编语言.
if ($s0 > $s1) { goto label1 }
if ($s0 >= $s1) { goto label2 }
if ($s0 <= $s1) { go to label3 }
Run Code Online (Sandbox Code Playgroud)
小智 25
slt $t1,$s1,$s0 # checks if $s0 > $s1
beq $t1,1,label1 # if $s0 > $s1, goes to label1
beq $s1,$s2,label2 # if $s0 = $s2, goes to label2
beq $t1,$zero,label3 # if $s0 < $s1, goes to label3
Run Code Online (Sandbox Code Playgroud)
我假设伪代码顺序执行,你不能去两个不同的标签.