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

精华主题: 0
发帖数量: 1400 个
工控威望: 1504 点
下载积分: 13259 分
在线时间: 2203(小时)
注册时间: 2008-03-19
最后登录: 2024-11-05
查看小蜜蜂的 主题 / 回贴
楼主  发表于: 2008-11-08 16:25
三菱程序疑问
MUL   D10   K80   D20
DIV   D20   D30   D40
MOV  D40   D50

求助大家,第一行的乘法中D10乘以K80是生成D20还是D20  D21两个?第二行的要用DIV还是DDIV?第三行要用MOV还是DMOV呢?拜托大家了,谢谢!还有从书上看是MUL  D0   D2    D4,(D0)乘以(D2)等于(D5  D4),比如D0=8,D2=9,(D5  D4)=72,虽然72远远小于32767,但是也要存到(D5  D4)中,那上面我的程序是MUL   D10  K80  D20  也就是(D21  D20)中了?
向梦飞
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看向梦飞的 主题 / 回贴
1楼  发表于: 2008-11-08 22:45
如果第二行用DIV那么结果就不是你想要的结果了,因为源本来是32位你用16位的话只进行了低16位运算,用DIV只能运算16位数据结果是32位低16位存商高16位存余数.
用DDIV的话源1数据和源2数据都是32位.目标就64位其中商占低32位余数占高32位
至于第3行用DMOV还是用MOV就看你要商还是要余数了
请多指教