sinun
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看sinun的 主题 / 回贴
楼主  发表于: 2011-10-24 18:00
请教各位大虾:

我是新手,问题是:
下面用三菱FX2N(C)写的,输出的D0、D1、D3、D4都是48,而D2却是0,为什么?
(MUL乘法和DIV除法都有类似的问题)

请各位老师帮忙诊断一下是哪里出了问题,谢谢!


M8000
---| |-------|---------------------------------[MUL      K6      K8      D0]
               | 
               |---------------------------------[MUL      K6      K8      D1] 
               | 
               |---------------------------------[MUL      K6      K8      D4] 
               | 
               |---------------------------------[MUL      K6      K8      D2] 
               | 
               |---------------------------------[MUL      K6      K8      D3]




qinchuangyi
级别: 略有小成
精华主题: 0
发帖数量: 167 个
工控威望: 309 点
下载积分: 758 分
在线时间: 114(小时)
注册时间: 2011-08-07
最后登录: 2013-08-15
查看qinchuangyi的 主题 / 回贴
1楼  发表于: 2011-10-24 19:35
图片:
图片:
图片:
楼主木活干啊,研究这样的问题出来忽悠观众.

使用MUL乘法指令时其运算的结果:
源数据是16位的:结果是以32位存于D0中,D0是低位,D1是高位;就是存于D0时,D1已被占用,不可以再存其它数据了.
若源据是32位的结果存于D0,那么D1,D2,D3都已被占用,不可以再用来存储其它数据.
本帖最近评分记录:
  • 下载积分:+3(sinun) 热心助人