假设我们有以下内容:
MOVE.L #$1234ABCD,D0
MOVE.L #$45670012,D1
MULS D0,D1D1的价值是什么?根据mc68000模拟器,它将是FFFA146A。根据这本书,每个寄存器中最低的两个字将被相乘,结果将被存储为一个长字。因此,它将是0xABCD * 0x0012 = 0xC146A。根据此规则,D1应为000C146A。我注意到146A的值与模拟器中的值相同,但是A来自哪里,Fs来自哪里?是模拟器出错了吗?
谢谢
发布于 2012-03-07 08:41:27
我对摩托罗拉的代码一无所知,但我认为这与你使用带符号乘法器的事实有关。尝试使用无符号乘数。
https://stackoverflow.com/questions/9594148
复制相似问题