Assembly 左移/右移

Assembly 左移/右移,assembly,mips,mips32,spim,Assembly,Mips,Mips32,Spim,我在自学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$t01,最后是n值 另外,如果$t1包含5,即00000101,当我执行srl,然后执行sll时,我会得到如下结果: 00000101 那么t0美元现在是4美元 然后子部分是5-4,也就是1 提前感谢是的,通常有以下形式: sll $t0

我在自学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$t01
,最后是n值

另外,如果$t1包含5,即00000101,当我执行srl,然后执行sll时,我会得到如下结果: 00000101

那么t0美元现在是4美元

然后子部分是5-4,也就是1


提前感谢

是的,通常有以下形式:

sll $t0 $t1 n
(或srl)

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

最后:

sub $t0 $t0 $t1
相当于t0=t0-t1

sub $t0 $t0 $t1