【发布时间】:2014-07-02 23:26:25
【问题描述】:
我正在尝试翻译 mips 伪指令 rol(向左旋转)。我需要先翻译它,然后才能提交作业,这很不幸,因为伪指令对我来说效果很好。
指令是,
rol $s4,$s4, 1 #goes to the left most bit (which as it says, gets the left most bit)
我是这样翻译的,
lui $s4, 0x8001
ori $t0, $s4, 0x0004
srl $s4, $t0, 31
sll $s5, $t0, 1
or $s5, $s5, $s3
但它完全弄乱了我的代码,有人可以帮我正确翻译吗?或者告诉我我做错了什么?
提前谢谢你,
【问题讨论】:
-
您在最后一行使用了
$s3而不是$s4。我假设前两条指令不是旋转的一部分。 -
当我输入这个伪代码时,这是我的错字,代码中的寄存器是正确的,这是不正确的翻译:\
-
另外,您正在旋转
$t0而不是$s4,结果在$s5中。因此,不是原始指令的直接替代品。请编辑代码以显示您实际拥有的内容。
标签: assembly translation mips pseudocode