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

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

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

       乘法的本质是加法,乘法是加法的简便运算。但是如果纯粹用加法,加的次数太多,例如,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/

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

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

OKI编译器 Fatal ERR F025 解决

OKI编译器 Fatal ERR F025 解决

工程添加好C文件和H文件后,编译,提示如下错误: Fatal error F025:NO ROM window specification 原因: 编译器缺乏.ASM 启动文件,需要手动添加,文件在安装目录里: \Startup\Src\ 根据需求拷贝相应的ASM文件。例如,ML610Q475则拷...

XCode 模拟器完整分辨率截屏

XCode 模拟器完整分辨率截屏

选中模拟器 window-->去掉Show Device Bezels的勾选 -->Zoom 然后cmd + s 保存...

STM32串口发送数据首字符丢失解决办法

STM32串口发送数据首字符丢失解决办法

现象: 串口发送数据时,第一个字符丢失 例如,发送“system init\r\n”,最后收到的是“ystem init\r\n”,在此之后发送的数据均正常。 错误代码: 原因分析: TC 和 TXE 标志位在复位的时候被置1 ,这样第一次whil...

C#中实现VB中的CreateObject方法

经常看到有些VB的例子中直接用个CreateObject就可调用系统功能(大多是COM对象),像用户设定,网络设定等等。虽然C#中可以通过使用VB的命名空间的方法来调用CreateObject函数,但是这样比较没什么用,因为生成的对象的所带有的方法都不能使用。C#中还可以直接用添加引用的方式来调用一...

Proteus 7.6 SP4破解1.1+汉化包

下载地址:http://ishare.iask.sina.com.cn/f/6751561.html 说明: 使用方法 复制到安装文件夹 \Proteus 7 Professional\下运行。 中文系统可用, 不用改区域语言设置。 不要安装其他破解 更新历史 1.1(2010.02....

VMWare上安装macOS Ventura虚拟机后运行出现的闪退重启错误解决方法

右键单击 .vmx 文件,使用记事本编辑打开该文件 (1)在该文件最后键入smc.version ="0" (2)  搜索Ethernet0.VirtualDev =“e1000e”并将e1000e替换为vmxnet3并保存文件 第二条不处理的...

发表评论

访客

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