当前位置:首页 > 技术心得 > 正文内容

多字节乘法--汇编实现原理

xjtudll13年前 (2013-09-30)技术心得13590

       乘法的本质是加法,乘法是加法的简便运算。但是如果纯粹用加法,加的次数太多,例如,358*24,即使用358作加法,也要24次。多字节乘法与珠算的“空盘前乘法”类似,是手工算法的变种。
      仍以358*24为例,如果是手工算法,其计算步骤如下:

358
          ×          24
                                     1432 
                 7160
                                     8592

手工计算时,这里面实际上还隐藏了一些加法,因为乘法的进位都是人工加的。将进位的计算考虑进去,计算过程如下:

358 
        ×           24
                                         32    --------> 8*4
                  200    --------> 5*4 
                 1200    --------> 3*4
                  160    --------> 8*2
                 1000    --------> 5*2
                 6000    --------> 3*2
                                   8592

有的单片机甚至都没有乘法指令,这时候可以利用“九九乘法表”,用查表的办法来实现乘法。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/285/

标签: 算法单片机
分享给朋友:

“多字节乘法--汇编实现原理” 的相关文章

如何给程序添加超大图标(EXE大尺寸图标)

如何给程序添加超大图标(EXE大尺寸图标)

要点:1、制作多分辨率ICON文件2、清空图标缓存,使图标文件生效 自己写的程序,如果更换了图标,编译出来,超大图标显示就会发现图标并没有跟着放大。那么问题来了,就换个图标效果就不同了,很明显时图标有问题。用eXeScope打开vs2013编译出来的MFC对话框程序可以看到如下图:这不止一...

OKI单片机——ML610Q4XX Melody Driver

OKI单片机——ML610Q4XX Melody Driver

配置流程: (1) Select a buzzer mode by setting the BZMD bit of the melody 0 control register (MD0CON) to “1”. (MD0CON寄存器的BZMD位置一)。 (2) Select...

QuartusII编译工程后显示资源消耗为零的原因

参考资料:http://www.eefocus.com/li_mengxiang/blog/11-04/208828_3da3b.html 近日,编译了一个CPLD工程,编译OK,无任何错误,但是显示资源消耗为0,这个显然是不正常的。 网上搜了一番,一般是两种原因: 1、qurtusII编译工程后显...

如何判断一个正整数是不是2的幂

估计用递归的方法大家都知道,就不赘述了 这里使用一个更简单的方法。 若一个正整数是2的幂,则这个数在计算中的表示肯定是以下形式:0x00...1000...B省略号表示若干个0.问题就转变为一个等价的命题:如何判断给定的一个正整数是如0x00...1000...B这种形式(二进制表示式中只有唯一...

基于状态机实现的按键处理算法

基于状态机实现的按键处理算法

这篇文章写了很久了,一直没发,现在发出来吧。 关于按键的基础知识,这里就不多写了,可以参考程序匠人的《按键漫谈》 一次完整的击键过程包括:等待阶段,闭合抖动阶段,有效闭合阶段,释放抖动阶段,有效释放阶段。释放抖动阶段对于按键处理用处不大,所以这个阶段被忽略了,即按键击键包括四个状态:等待阶段,闭合抖...

SSCOM无法保存窗口数据到文本文件

SSCOM无法保存窗口数据到文本文件

使用环境: Win7 64bit SSCOM 3.2 问题: “保存窗口”功能无效,每次都是提示error 如下图所示: 原因: 相应的目录根本不存在,请看错误窗口。 目录SAVE2017/3实际上并不存在,软件也没有自动新建该目录 解决办法: 在SSCOM同级目录下,新建...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。