Math 有人能解释一下组装中的多精度乘法过程吗?

Math 有人能解释一下组装中的多精度乘法过程吗?,math,assembly,multiplication,Math,Assembly,Multiplication,请参阅下图和 关于图2.3,我理解为什么M(乘数)和N(被乘数)在最右边一栏的“部分积..M..L”中列出的顺序中。它来自于我们通常被教导乘法的方式: 我理解为什么这个数字是64位长,因为它是32位乘以32位 我知道地址是从p~p+7开始的,因为最终产品的H.O.位从p开始,L.O.位从p+7结束 我理解为什么每个大矩形被分成上半部分和下半部分,因为HCS12一次最多只能处理16位乘以16位 我的问题是:每个小矩形(下半部分和上半部分)的排列方式让我感到困惑。显然,它应该模拟简化的乘法过程,

请参阅下图和

关于图2.3,我理解为什么M(乘数)和N(被乘数)在最右边一栏的“部分积..M..L”中列出的顺序中。它来自于我们通常被教导乘法的方式:

我理解为什么这个数字是64位长,因为它是32位乘以32位

我知道地址是从p~p+7开始的,因为最终产品的H.O.位从p开始,L.O.位从p+7结束

我理解为什么每个大矩形被分成上半部分和下半部分,因为HCS12一次最多只能处理16位乘以16位


我的问题是:每个小矩形(下半部分和上半部分)的排列方式让我感到困惑。显然,它应该模拟简化的乘法过程,我可以理解它是如何实现的。我只是不完全理解它是如何翻译成这个数字的。我第一行的链接也显示了类似的过程。我不想猜测或假设我认为正在发生的事情。有人能详细解释一下(最好是步骤)你是如何计算出哪个小矩形进入哪个列和行的;或者换句话说,你能告诉我乘法过程是如何转化为数字的吗

你的方程式是


(嗯,和你在高中时做的一样,但是是二进制的。原始数字的对半部分是你在乘法的二元数。是的,规则乘法。我刚刚发现缺少什么:即使是规则乘法,也有几种执行乘法的方法。我学的是长手乘法我在这个问题上应该使用的方法叫做部分乘积乘法。在PPM中,移位是自然发生的。你可以看到@正如你所看到的,PPM方法直接转化为图2.3。我喜欢把它看作(H1+L1)(H2+L2)=H1H2+H1L2+H2L1+L2L1。这是有意义的。这是我的另一个观点,除了我刚刚发现的:部分乘积乘法,它基本上将长手乘法转换为图2.3。这是一个小的挑剔,但我认为这将有助于读者理解,你能够拉出左移位,因为它们是可交换的(如您所述,左移位与乘法相同)。