使用MIPS汇编更新位字段

时间:2014-06-25 16:17:51

标签: assembly bit-manipulation mips

如何使用MIPS汇编更新寄存器中的特定位字段?

例如,如果我需要使用新值更新寄存器$ t1中的第10位到第15位。所有其他位应保​​持不变。

1 个答案:

答案 0 :(得分:3)

假设$t0包含要移动到$t1的第10-15位的6位字段。

您可以考虑这种方法:

li  $t2 0x3F     #bits 0-5 on
sll $t2 $t2 10   #bits 10-15 on
not $t2 $t2      #bits 10-15 off

and $t1 $t1 $t2  #turn off bits 10-15
or  $t1 $t1 $t0  #set bits 10-15