我无法编写此代码。有人可以给我解决方案(我了解 BCD 数字等,我就是无法编写有效的代码)?
它应该添加两个打包的 BCD 数字(每个 4 位数字;它们位于地址 OP1 和 OP2)并将结果放在地址 RES 中。
提前致谢 :)
使用daa
(加法后的十进制调整),您可以直接将它们相加,而无需通过二进制整数进行往返。
像这样的东西(完全未经测试)
mov al, [OP1]
add al, [OP2]
daa
mov [RES], al
mov al, [OP1 + 1]
adc al, [OP2 + 1]
daa
mov [RES + 1], al
我不会给你一个解决方案,而是一些指导。您需要将您的工作分成 5 个简单的阶段:
我认为每个阶段都比较容易实现,希望这能帮助你自己解决。