2017-11-18 21 views
0

これらの命令は、MIPSでの割り当て($s0 = $s1)に役立ちます。MIPSでの割り当ての "or"と "add"の違いは?

  • add $s0, $s1, $zero(擬似命令move $s0, $s1と同じである)
  • or $s0, $s1, $zero

を私があればそこにはわかりませんこれらの2つの命令の間の違いです。そして、どちらが一般的なケースで使用する方が良いですか? (私は通常、これを実装するためにor演算子を使用していくつかの例を見たが、私は理由を知らない。)

ありがとう。

答えて

0

ADDは、演算を実行します。 2 + 3 = 5

ORは、ビットごとのOR、たとえば、 0b0011 | 0b01100b0111

0を加算すると0となるORと同じに見えます。例えば

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

ゼロ以外の数値を加算すると、ORと同じ結果が得られない場合があります。例えば

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

ありがとうございます。しかし、私はこれらの2つの演算子の基本原則を知っています。したがって、あなたの答えによれば、 '$ zero'でそれらを使うときに違いはありません、そうですか? – Songkeys

関連する問題