xpt2 发表于 2008-8-30 22:47:30

请马老师抽空讲解一下硬乘法器如何作双字节的乘法

先谢谢了!

rainyss 发表于 2008-8-31 15:28:37

在KEIL里写上
unsigned int i,j;

...

x = i*j;

然后自已去看编译后的汇编码

xpt2 发表于 2008-9-2 10:21:52

我只用汇编,就是希望马老师讲一下硬乘法器的双字节汇编编程。

kuang 发表于 2008-9-2 11:56:17

哈哈,汇编分析起来头痛

rainyss 发表于 2008-9-2 14:35:15

跟软件是一样的.只不过是用硬件实现的.

软件是这样的

移位+加法.
至于多字节的加法和移位,由于比较简单,就不在这里啰嗦了.

计算:C = A * B:

要求:
C:宽度32位,值域32位
B:宽度32位,值域16位
A:宽度16位,值域16位

为了表达清楚点,我用伪代码写了.

loop:

B最低位为1?
C = C + A

A左移
B右移一位

goto loop;循环16次

xpt2 发表于 2008-9-3 10:58:19

谢楼上指点,参考51乘法器的应用资料已经明白了。
页: [1]
查看完整版本: 请马老师抽空讲解一下硬乘法器如何作双字节的乘法