BMOV指令 点击:298 | 回复:3



yuehong0713

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:14帖 | 37回
  • 年度积分:0
  • 历史总积分:147
  • 注册:2008年12月05日
发表于:2022-04-10 10:31:54
楼主

FX3U主机,BMOV 指令在使用的时候,有这样的问题,u请看程序段:

LD  M0

BMOV  D0  D100  K40

然后程序在执行的时候,结果不是我们所预料的那样。如果后面的参数写K16,就没问题,运行结果正常。

请问这个BMOV指令使用有什么限制条件吗?

还有就是,这个指令连续使用两次,结果也不是我们所预测的。什么原因呢?

重点是想咨询BMOV指令的使用条件,难道有限制吗?理论上讲是不存在什么问题,但是结果就不是我们想象的那样...........




楼主最近还看过



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10219回
  • 年度积分:3353
  • 历史总积分:48938
  • 注册:2005年4月22日
发表于:2022-04-10 14:16:28
1楼

把你预料和现有的数据情况说明出来。


你觉得应该正确的值,现有值。


HAVE FUN!

请叫我王老湿

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:622帖 | 8548回
  • 年度积分:24
  • 历史总积分:335295
  • 注册:2011年4月25日
发表于:2022-04-11 08:50:29
2楼

BMOV块传送指令的注意事项

1)源操作数可取KnX、 KnY、KnM、KnS、T、C、D和文件寄存器,目标操作数可取. KnT、KnM、KnS、T、C和D;

2)只有16位操作,占7个程序步;

3)如果元件号超出允许范围,数据则仅传送到允许范围的元件。

注意看看只有16位操作!只有16位操作!只有16位操作!只有16位操作!只有16位操作!只有16位操作!只有16位操作!

还有就是运行2次结果不是你想要的,看看是不是上一次的在运行过程中被最后一次覆盖了

yuehong0713

  • 精华:0帖
  • 求助:2帖
  • 帖子:14帖 | 37回
  • 年度积分:0
  • 历史总积分:147
  • 注册:2008年12月05日
发表于:2022-04-14 11:36:28
3楼

谢谢各位的答复,问题已解决,主要原因是我在后续双重FOR循环程序中使用了两个指针,问题出在指针上面,覆盖了某些数据。感谢各位!


热门招聘
相关主题

官方公众号

智造工程师