1

我对 sll 指令有疑问。sll $t1,$a0,1$a0 持有价值 11 会给 $t1 价值 16(我在 MARS 中测试过)。

我对 $t1 的建议是 22,因为左移 11 又名 01011 会给我 10110,即十进制的 22。我在哪里做错了?

谢谢!

4

1 回答 1

2

sll $t1,$a0,1持有$a0值 11 将给出$t1值 16(我在 MARS 中对其进行了测试)。

你可能只是混淆了十进制和十六进制。如果您$a0像这样加载值 11li $a0,11并将其向左移动一位,您确实会得到 22 作为结果。Mars 中的寄存器查看器以十六进制显示值,0x16 等于 22。

于 2015-07-23T08:47:48.100 回答