剑舞天涯之梦
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看剑舞天涯之梦的 主题 / 回贴
楼主  发表于: 2012-02-03 22:50
DMUL K3000 D130 D130 这怎么意思啊
路在何方
路漫漫其修远兮,吾将上下而求索。
级别: 工控侠客
精华主题: 0
发帖数量: 1109 个
工控威望: 4895 点
下载积分: 1038 分
在线时间: 554(小时)
注册时间: 2010-10-10
最后登录: 2024-11-18
查看路在何方的 主题 / 回贴
1楼  发表于: 2012-02-03 22:56
把D130 D131里面的32进制数乘以3000存到D130 D131当中去   MUL是16进制乘法  DMUL是32进制乘法  D130里面的数超过16位8421BCD码所以要用DMUL    楼主明白?   
[ 此帖被长丰实业在2012-02-14 23:14重新编辑 ]
路在何方
路漫漫其修远兮,吾将上下而求索。
级别: 工控侠客
精华主题: 0
发帖数量: 1109 个
工控威望: 4895 点
下载积分: 1038 分
在线时间: 554(小时)
注册时间: 2010-10-10
最后登录: 2024-11-18
查看路在何方的 主题 / 回贴
2楼  发表于: 2012-02-14 21:34
不论是16位32位64位那都是数据的长度,只是看你转换的大小而决定的,一个16位数据寄存器处理数值的范围是-32767--+32767超过这个范围就要使用两个寄存器了所以有D*** 而32位四则运算里面包含的两个16位寄存器,这两个寄存器的数值处理范围是-2147483648--+2147483647,DMUL DSUB DADD DDIV==用的地方太多了我就不举了
  回楼上  你说楼主程序里面的DMUL是包括D130 D131 D132 D133是片面的  毕竟我们不知道他程序里面数值的大小。
  以上纯属个人观点,欲求证实还需加倍浏览官方资料。也希望大家和谐,批评指正。
[ 此帖被长丰实业在2012-02-14 23:10重新编辑 ]
路在何方
路漫漫其修远兮,吾将上下而求索。
级别: 工控侠客
精华主题: 0
发帖数量: 1109 个
工控威望: 4895 点
下载积分: 1038 分
在线时间: 554(小时)
注册时间: 2010-10-10
最后登录: 2024-11-18
查看路在何方的 主题 / 回贴
3楼  发表于: 2012-02-14 21:38
引用
引用第12楼550374389于2012-02-14 19:42发表的  :
长丰实业大哥,貌似你的解释有点问题,DMUL指令出来的结果是64位的,不管这个结果大小如何,都是按64位来存放的,所以应该是存放在D130 D131 D132 D133中去的吧??

DMUL K3000 D130 D130
  如果是MUL K3000 D130 D130 那不是也要占用两个寄存器D130 D131 ,可这是MUL楼主楼上解析下