小蜜蜂
你让我滚,我滚了。你让我回来,对不起,滚远了...
级别: 论坛先锋

精华主题: 0
发帖数量: 1390 个
工控威望: 1493 点
下载积分: 13236 分
在线时间: 2192(小时)
注册时间: 2008-03-19
最后登录: 2024-06-11
查看小蜜蜂的 主题 / 回贴
楼主  发表于: 2008-11-08 15:17
MUL   D10   K80   D20
DIV   D20   D30   D40
MOV  D40   D50

求助大家,第一行的乘法中D10乘以K80是生成D20还是D20  D21两个?第二行的要用DIV还是DDIV?第三行要用MOV还是DMOV呢?拜托大家了,谢谢!
小蜜蜂
你让我滚,我滚了。你让我回来,对不起,滚远了...
级别: 论坛先锋

精华主题: 0
发帖数量: 1390 个
工控威望: 1493 点
下载积分: 13236 分
在线时间: 2192(小时)
注册时间: 2008-03-19
最后登录: 2024-06-11
查看小蜜蜂的 主题 / 回贴
1楼  发表于: 2008-11-08 15:39
但是我从手册上看到 MUL   D0    D2    D4,它是这样解释的 D0 16位的,D2 16位的,D4就是32位的(D5,D4),按手册上说的凡是两个16位的,不管大小,哪怕1乘以1等于1也要放到(D5  D4)中去,如果楼上的意思D0=1000  D2=1000,得100000,D0乘以D2就要用DMUL,这显然和书上的不同吗,因为D0和D2都是16位的!!
小蜜蜂
你让我滚,我滚了。你让我回来,对不起,滚远了...
级别: 论坛先锋

精华主题: 0
发帖数量: 1390 个
工控威望: 1493 点
下载积分: 13236 分
在线时间: 2192(小时)
注册时间: 2008-03-19
最后登录: 2024-06-11
查看小蜜蜂的 主题 / 回贴
2楼  发表于: 2008-11-08 18:51
哦,谢谢了,那第二行的除法运算D20就是(D20  D21)32位的,但是D30的是16位的,那么这个DIV前面要加D吗?还有就是除的结果D40是指(D40  D41  D42  D43)吗?还是只有(D40  D41)两个?还有第三行的MOV又是否要加D吗?
小蜜蜂
你让我滚,我滚了。你让我回来,对不起,滚远了...
级别: 论坛先锋

精华主题: 0
发帖数量: 1390 个
工控威望: 1493 点
下载积分: 13236 分
在线时间: 2192(小时)
注册时间: 2008-03-19
最后登录: 2024-06-11
查看小蜜蜂的 主题 / 回贴
3楼  发表于: 2008-11-09 12:34
6楼的朋友,首先谢谢你,但是你讲的和指令手册上的不一样,MUL   D0    D2    D4,D0=16位的,D2=16位的,D4=32位的,照你这么说,这个乘法不是要用DMUL了,可是书上偏偏只用MUL,我是这样理解的:只要乘数和被乘数是16位的,只要用MUL,不管你的结果是多大,只要乘数和被乘数是32位的,就要用DMUL,不管你的结果是多大,现在在这论坛里有好多说法,不知道要相信哪个人。
小蜜蜂
你让我滚,我滚了。你让我回来,对不起,滚远了...
级别: 论坛先锋

精华主题: 0
发帖数量: 1390 个
工控威望: 1493 点
下载积分: 13236 分
在线时间: 2192(小时)
注册时间: 2008-03-19
最后登录: 2024-06-11
查看小蜜蜂的 主题 / 回贴
4楼  发表于: 2008-11-09 13:50
那如果用传送指令MOV,D40如果是32位的,那么我们应该这样写程序,DMOV   D40   D50,那么如果D40是64位的(D43  D42  D41  D40),那么我们的DMOV是不能用了?而要用成批传送指令BMOV   D40  D50  K4,把(D43  D42  D41  D40)传送到(D50  D51  D52  D53)?不知这样对不对啊?
小蜜蜂
你让我滚,我滚了。你让我回来,对不起,滚远了...
级别: 论坛先锋

精华主题: 0
发帖数量: 1390 个
工控威望: 1493 点
下载积分: 13236 分
在线时间: 2192(小时)
注册时间: 2008-03-19
最后登录: 2024-06-11
查看小蜜蜂的 主题 / 回贴
5楼  发表于: 2008-11-09 15:50
没人帮我看看吗?
小蜜蜂
你让我滚,我滚了。你让我回来,对不起,滚远了...
级别: 论坛先锋

精华主题: 0
发帖数量: 1390 个
工控威望: 1493 点
下载积分: 13236 分
在线时间: 2192(小时)
注册时间: 2008-03-19
最后登录: 2024-06-11
查看小蜜蜂的 主题 / 回贴
6楼  发表于: 2008-11-10 17:17
明白,明白,   
小蜜蜂
你让我滚,我滚了。你让我回来,对不起,滚远了...
级别: 论坛先锋

精华主题: 0
发帖数量: 1390 个
工控威望: 1493 点
下载积分: 13236 分
在线时间: 2192(小时)
注册时间: 2008-03-19
最后登录: 2024-06-11
查看小蜜蜂的 主题 / 回贴
7楼  发表于: 2008-11-11 15:02
有意义的,我只是想知道两个数相乘结果不超过16位,那下一行是否可以用16位的指令比如MUL,DIV等,因为按照书上的讲的话,两个16位的相乘结果的32位,那下一行的乘法或除法肯定要用32位的,加D,那么到第三行了我还要用乘或除法,就不能执行下去了,因为64位的无法处理了。