yzc3699
级别: 正式会员
精华主题: 0
发帖数量: 7 个
工控威望: 96 点
下载积分: 503 分
在线时间: 19(小时)
注册时间: 2010-09-03
最后登录: 2017-04-21
查看yzc3699的 主题 / 回贴
楼主  发表于: 2011-09-19 21:37
描述:监视截图
图片:
三菱程序监视,这是一个通讯程序中的数据运算处理步,请看D20中的数据,为何从正数变成了负数,从该条指令后,绝对无关于D20的32位的运算,若把MUL D20 D14 D22改成DMUL D20 D14 D22则D22中的数据为正值并且按运算正常思路,结果都是对的,哪位工控朋友如果有过这样的经验,请赐教,QQ:76609809.谢谢!
550374389
!!!
级别: 论坛先锋

精华主题: 0
发帖数量: 696 个
工控威望: 1161 点
下载积分: 5237 分
在线时间: 2360(小时)
注册时间: 2010-11-28
最后登录: 2024-10-11
查看550374389的 主题 / 回贴
1楼  发表于: 2012-01-14 23:23
楼上,关键是MUL后面显示的结果是D20跟D21两个寄存器的共同结果,是32位的。后面的ADD中的D20显示的只是D20一个寄存器的结果,时16位的,看看ADD SUB,MUL和DIV这几条指令的用法你就明了!!!