2

我正在自学 MIPS 并遇到了这段代码:

or $t0 $z0 $t1
srl $t0 1 $t0
sll $t0 1 $t0
sub $t0 $t0 $t1

我感兴趣的部分是srl $t0 1 $t0&sll $t0 1 $t0这是正确的吗?正如我认为的那样srl $t0 $t0 1,最后的 n 值。

此外,如果 $t1 包含 5,即 00000101 当我执行 srl 后跟 sll 时,我最终会得到这样的结果:00000101

srl : 00000010
sll : 00000100

所以 $t0 现在是 4?

然后子部分将是 5-4,即 1?

提前致谢

4

1 回答 1

1

是的,通常它具有以下形式:

sll $t0 $t1 n

(或 srl)

是的,你是对的,因为逻辑移位引入了 0,所以你的 5 最终会变成 4

最后:

sub $t0 $t0 $t1

相当于 t0 = t0 - t1

于 2014-05-07T15:17:49.533 回答