0

アセンブリで nand ビット単位の操作を行う方法を見つけようとしましたが、失敗しました。入力 A と B のこの真理値表を本質的に生成する論理ゲート シミュレータを作成しようとしています。

   あ | ビ || ふ
  -----------------
   ろ | || ロ || こんにちは
   ろ | やあ || こんにちは こんにちは
   こんにちは | || ロ || こんにちは
   こんにちは | やあ || こんにちは ほら

私はすべてを試しました。

  そして $t3,$t1,$t  
  $t4、$t3 ではない

正しい出力が得られない

4

1 に答える 1

1

もちろんそうです、真理値表を見てください:

A    B    And   Nand
---------------------
lo   lo   lo    hi
lo   hi   lo    hi
hi   lo   lo    hi
hi   hi   hi    lo

ご覧のとおり、前に anded された値を否定することで nand 値を取得できます。しかし、それを忘れて、レジスタの各ビットを操作してandいる可能性があります。not(通常)ゼロ以外の値はすべて真であると想定されるブール値と混同していると思います。したがって、

   11101001 nand 01000111 = 
 = ~ (11101001 and 01000111) =
 = ~ 01000001 = 
 = 10111110

なぜなら

1 and 0 = 0
1 and 1 = 1
1 and 0 = 0
0 and 0 = 0
1 and 0 = 0
0 and 1 = 0
0 and 1 = 0
1 and 1 = 1

次回は、期待される結果と実際の結果の両方を投稿する必要があります。これにより、何がうまくいかなかったのかを理解しやすくなります。

于 2011-05-05T19:15:03.843 に答える