8位汇编有符号乘法

时间:2012-11-09 10:08:17

标签: assembly inline-assembly

我不知道如何完成这个问题:

编写汇编程序以执行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组装。

1 个答案:

答案 0 :(得分:0)

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