【发布时间】:2014-08-29 05:24:27
【问题描述】:
假设我已经在汇编机器中实现了所有的 ADD、AND、SHF、JUMP、BR、LDW、LDB(加载字加载字节...)........除了 MUL(多)指令。现在我想编写汇编代码来操作一条 MUL 指令,该指令接收存储在 0x4000(a) 和 0x4001(b)(每个 8 位)中的数据并计算它们的乘积,然后将结果存储在 0x4002(16 位)中。我们希望最小化指令步骤。
我能想到的:
a+a+a+a+.....a(b 次) 最简单但显然最糟糕的一次
Leftshift(a, 7) + leftshift(a, 6)+.....+a(按b移位加)
我想知道这个问题是否有更好的解决方案。 谢谢!
【问题讨论】:
-
如果您有足够的内存,您可以使用查找表。
-
总内存大小为0x8000。
标签: assembly