MIPS 汇编指令

MIPS Assembly sll instruction

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

我对 $t1 的建议是 22,因为左移 11 又名 01011 会得到 10110,也就是十进制的 22。我哪里弄错了?

谢谢!

sll $t1,$a0,1 with $a0 holds the value 11 would give $t1 the value 16 (I tested it in MARS).

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