MIPS中作业的“或”和“添加”之间的区别?

时间:2017-11-18 16:58:28

标签: mips

这些说明可以帮助MIPS中的作业($s0 = $s1):

  • add $s0, $s1, $zero(与伪指令move $s0, $s1相同)
  • or $s0, $s1, $zero

我不确定这两条指令之间是否有任何区别。在一般情况下哪一个更好用? (我看到一些例子通常使用or运算符来实现这一点,但我不知道为什么。)

感谢。

1 个答案:

答案 0 :(得分:0)

ADD将执行算术运算,例如2 + 3 = 5

OR将执行按位OR,例如0b0011 | 0b0110提供0b0111

ADDing零看起来与OR相同。 e.g。

5 + 0 = 5 (ADDing 5 and 0)
0b0101 | 0b0000 = 0b0101 (ORing 5 with 0)

添加非零数字可能无法提供与OR相同的结果。 e.g。

5 + 1 = 6
0b0101 | 0b0001 = 0b0101 (5 OR 1 gives 5)