300能不能双字32位左移

我在DB块里建了100个双字,用来存储一组数据。当下一数据来了,上一个数据往左移动一个双字(即DB3.DBD0里的数移至DB3.DBD4,而DB3.DBD0存新数据)。我是新手,还请高手帮帮忙啊?有没有什么方法可以实现这种比较大的数据的连续存储?

最佳答案

用间接寻址的方法来实现。每次赋值完后调用此块即可。
OPN   DB3
      L     396     //根据取多少个数定义,(n-1)*2
      T     #a       //临时变量Temp中的,类型为INT
      L     #a
      L     4
      -I    
      T     #b       //临时变量Temp中的,类型为INT
_001: NOP   0
      L     #a
      SLD   3
      LAR1  
      L     #b
      SLD   3
      LAR2  
      L     DBW [AR2,P#0.0]
      T     DBW [AR1,P#0.0]
      L     #a
      L     4
      -I    
      T     #a
      L     #b
      L     4
      -I    
      T     #b
      A(    
      L     #b
      L     0
      ==I   
      )     
      JNB   _001   //#b没到0就从_001循环,
      JU    _002   //直到#b等于0跳出循环
_002: BEU   
程序没有测试,自己参考下或修改

提问者对于答案的评价:
谢谢

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc236589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午3:52
下一篇 2018年12月1日

相关推荐