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

我的问题是,如果我将数字相乘,我不知道如何让程序获取答案的第二个补码,因为并非所有情况都需要这样做。

我正在使用 HC12/9S12 组件。

4

1 回答 1

0

如果您有 16x16 有符号乘法,那么您所要做的就是将输入符号扩展为 16 位并将输出截断为 8 位(可能检测溢出)。您在任何地方都不需要 2 的补码转换。如果您只有无符号乘法,您将需要它。尽管如此,也要回答这个问题:您只需翻转所有位并添加一个。

于 2012-11-09T23:14:46.113 回答