rol伪指令MIPS代码
rol pseudo-instruction MIPS code
指令是:
rol $t0, $t1, n
rolv $t0, $t1, $t2
n: 1 位 - 31 位
以上说明的翻译是否正确?
srl $t1, $s1, 1
sll $t2, $s1, 31
or $s2, $t1, $t2 #combine_words
对于rol $t0, $t1, n
,我会使用$at
作为临时寄存器。
假设你想将4位二进制数字向左旋转:
srl $at, $t1, 28 # 32-4 = 28
sll $t0, $t1, 4
or $t0, $t0, $at
对于 rolv $t0, $t1, $t2
我会发出($t2
保存要旋转的位数):
sllv $t0, $t1, $t2
subu $at, $zero, $t2
addiu $at, $at, 32 # $at = 32-$t2
srlv $at, $t1, $at
or $t0, $t0, $at
指令是:
rol $t0, $t1, n
rolv $t0, $t1, $t2
n: 1 位 - 31 位
以上说明的翻译是否正确?
srl $t1, $s1, 1
sll $t2, $s1, 31
or $s2, $t1, $t2 #combine_words
对于rol $t0, $t1, n
,我会使用$at
作为临时寄存器。
假设你想将4位二进制数字向左旋转:
srl $at, $t1, 28 # 32-4 = 28
sll $t0, $t1, 4
or $t0, $t0, $at
对于 rolv $t0, $t1, $t2
我会发出($t2
保存要旋转的位数):
sllv $t0, $t1, $t2
subu $at, $zero, $t2
addiu $at, $at, 32 # $at = 32-$t2
srlv $at, $t1, $at
or $t0, $t0, $at