将有符号数作为无符号数来处理,是一种检验 0 ≤ x ≤ y 的低开销方法,常用于检查数组的下标是否越界。 下面这条指令的含义是,将 $s1 和 $t2 作为无符号数来处理,如果 $s1 < $t2,则将 $t0 的值置为 1,否则保持初始值 0 不变。 sltu $t0, $s1, $t2 ($t0、$s1、$t2 分别代表 3 个不同的寄存器,在这里姑且把他们当做变量来看待) 因为 $t2 是数组的长度,所以一定是正整数,最高位是 0(因为是补码表示),如果 $s1 是负数,那么它的最高位一定是 1 (同样是因为补码),那么把 $s1 作为无符号数一定比 $t2 大,所以上述...