2011-05-05 19 views
0

アセンブリでナンドビット単位の操作を実行しようとしましたが、失敗しました。私は本質的に入力AとBの真理値表を生成するロジックゲートシミュレータを作成しようとしています。nand MIPSアセンブリーのビット単位操作

 

    A | B || F 
    ----------------- 
    lo | lo || hi 
    lo | hi || hi 
    hi | lo || hi 
    hi | hi || lo 

すべてを試しました。

 
    and $t3,$t1,$t 
    not $t4,$t3 

はもちろん正しい出力

+4

はい、それは... – gusbro

答えて

1

を生成しません、それは、真理値表を見ない:

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

あなたが見ることができるように、あなたが以前にAND演算値を否定することにより、NAND型の値を取得することができます。しかし、andnotがレジスタの各ビットで動作することを忘れているかもしれません。私はブール値と混同していると思います。ここで、(通常は)ゼロ以外の値は真とみなされます。したがって、

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 

ので、次回は、あまりにも私たちは何が悪かったのかを理解することが容易になり、このように両方の期待と実際の結果を投稿する必要があります。

+0

私はMIPSを新しくしていますので、私を許してください。だから私はレジスタの値の最も重要なビットにのみ関心を持つべきだと思います。私はそのやり方を知らない –