|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 汇编论坛 』
→ 关于 乘法运算的问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2031
人关注过本帖
标题:
关于 乘法运算的问题
只看楼主
加入收藏
脑壳疼
等 级:
新手上路
帖 子:11
专家分:0
注 册:2018-4-22
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:2
关于 乘法运算的问题
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
如何 不用 MULWF 和 MULLW 做乘法运算
是用 and 和 or 嘛?
谢谢各位大佬
搜索更多相关主题的帖子:
乘法
运算
and
2018-04-27 23:18
举报帖子
使用道具
赠送鲜花
Valenciax
等 级:
版主
威 望:
11
帖 子:340
专家分:2482
注 册:2016-5-15
第
2
楼
收藏
得分:10
加法吧,用意是将X加Y次,若X = 9 , Y = 4
X * Y = 9 * 4 = 9 + 9 + 9 + 9
假设A,B,C是暂存器,虚拟码大概是:
读 x 入 A
读 x to B
读 y to C
RE:
C 减 1
若结果 = 0 则跳 OK
加 A,B
跳 RE
OK:
2018-04-28 06:56
举报帖子
使用道具
赠送鲜花
wmf2014
等 级:
贵宾
威 望:
216
帖 子:2039
专家分:11273
注 册:2014-12-6
第
3
楼
收藏
得分:10
@Valenciax解答的是一种最容易理解和实现的方法,但通常使用左移相加效率高些,以8位乘法运算为例,被乘数叠加乘数次数最多会循环255次,如果使用左移相加则最多循环8次即可,实例代码如下:
xor ax,ax
//计算结果
mov bx,9
//被乘数
mov cx,4
//乘数
lp2:shr cx,1
//乘数右移一位,最低位进入cf标志位
jnc lp1
//最低位为0则跳转
add ax,bx
//最低位不为0则加上被乘数
lp1:shl bx,1
//被乘数左移一位
cmp cx,0
//乘数是否为0
jnz lp2
//不为0继续累加
int 3
//退出循环后ax即为计算结果,这种情况下循环2次即得到结果
能编个毛线衣吗?
2018-04-28 15:59
举报帖子
使用道具
赠送鲜花
3
1/1页
1
快速回复:
关于 乘法运算的问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.022283 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved