MC68000装配倍增

时间:2012-03-07 00:37:25

标签: assembly 68000

说我们有以下内容:

MOVE.L #$1234ABCD,D0
MOVE.L #$45670012,D1
MULS D0,D1

D1的价值是多少? 根据mc68000模拟器,它将是FFFA146A。 根据该书,每个寄存器的两个最低位字将相乘,结果将存储为长字。因此,它将是0xABCD * 0x0012 = 0xC146A。根据这条规则,D1应为000C146A。我注意到146A的值与模拟器中的值相同,但A来自何处,以及Fs?模拟器是错的吗?

谢谢

1 个答案:

答案 0 :(得分:2)

我知道0关于摩托罗拉的代码,但我认为这与你使用签名乘数的事实有关?尝试使用无符号乘数。