我正在自学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?
提前致谢
答案 0 :(得分:1)
是的,通常它有以下形式:
sll $t0 $t1 n
(或srl)
并且是的,你是对的,因为逻辑转换会引入0'所以你的5将最终成为4
最后:
sub $t0 $t0 $t1
相当于t0 = t0-t1