0

私はこの質問を完了する方法を知りませんでした:

8X8ビットのすべての符号付きの組み合わせを実行するアセンブリプログラムを作成します。16X16ビット演算に署名しましたが、8X8ビットには署名していません。また、プログラムでMULを使用する必要があります。

これは私がしたことです:

ORG $2000
MULTIA LDDA #$60
   BMI CMPA
MULTIB LDDB #$A5
   BMI CMPB

MORE ........


CMP NEGA
    BRA MULTIB
CMPB NEGB
    BRA MORE

私の問題は、数値を掛けた場合、すべての場合に必要なわけではないため、プログラムに回答の2番目の補数を取得させる方法がわからなかったことです。

HC12/9S12アセンブリを使用しています。

4

1 に答える 1

0

16x16の符号付き乗算を使用している場合は、入力を16ビットに符号拡張し、出力を8ビットに切り捨てるだけです(オーバーフローを検出する可能性があります)。2の補数変換はどこにも必要ありません。符号なしの乗算しかない場合は、それが必要になります。それでも、その質問に答える必要があります。すべてのビットを反転して1つ追加するだけです。

于 2012-11-09T23:14:46.113 に答える