我写了这段代码(这只是其中的一部分):
beq $t4 ,$0 ,__less3
add $s2,$t3,$0 # s2=t3
add $s3,$t2,$0 # s3=t2
j __next1
__less3:
add $s2,$t2,$0 # s2=t2
add $s3,$t3,$0 # s3=t3
__next1:
slt $t4, $t1, $t0 # t4=(t1<t0)
beq $t4 ,$0 ,__les1sk
问题是,当模拟到达第 4 行并需要跳转时,它会执行第 7 行(下一个命令),然后才跳转到第 10 行。我知道是因为寄存器 $s2 更改为 $t2 而不是剩余的价值来自 $t3。