このプログラムの 16 進定数を定義する方法を以前に投稿しましたが、誰かが助けてくれました。今、このプログラムが正しく実行されているかどうかを調べようとしています。
このプログラムは、論理式 X'Y + X'Z + YZ を計算し、結果を D0 に入れることを目的としています。プログラムが完了したら、D0 の内容をバイナリで表示する必要があります。これが私が持っているものです(ここではアライメントが少しごちゃごちゃしていますが、アセンブラ(EASy 68K)でアライメントされています):
START: MOVE X,D0
NOT D0
MOVE D0,D1
MOVE Y,D2
AND D2,D0
AND Z,D1
AND Z,D2
OR D1,D0
OR D2,D0
EXIT: BRA EXIT
X: DC $000F
Y: DC $0033
Z: DC $0055
これは、それぞれのデータレジスタで最終的に得られるものです。
D0: 00000071 D1: 00000050 D2: 00000011
結果がバイナリで表示されることになっているという事実を無視して...これは論理式であり、AND と OR のみを使用しているため、D0 の結果は 1 か 0 のどちらかではないでしょうか? X、Y、および Z はすべてゼロ以外の定数であるため、式は 1 (YZ=1) と評価されます...プログラムでエラーが発生しましたか? それとも私の理解がずれていますか?
ありがとう