回复:指针不循环问题

yoda

  • 帖子

    21
  • 精华

    0
  • 被关注

    19

论坛等级:侠圣

注册时间:2013-09-16

普通 普通 如何晋级?

发布于 2016-05-27 11:38:52

17楼

应该主要错在这里

 L     MD   10          // 循环结束前  MD10 偏移30.0

      L     P#30.0

      +D    

      T     MD   10

      L     MD   20

      L     P#0.1

      +D    

      T     MD   20          //循环结束前  MD20 偏移0.1

楼主每次循环加偏移量时,没考虑32位地址寄存器最低3位是表示位地址的,偏移量加错了,导致程序只有第一个循环判断条件是正确的,后几个循环条件的地址并不是偏移到楼主所想的地方。


附测试完成的参考程序

L     0
      T     MW    30
      OPN   DB     1
M1:   L     MW    30
      L     3
      <I   
      JCN   RET
      L     MW    30
      L     240
      *I   
      LAR1 
      L     MW    30
      SLD   0
      LAR2 
      A(   
      L     DBD [AR1,P#1.0]
      L     0.000000e+000
      <>R  
      )    
      JCN   NEXT
      L     DBD [AR1,P#5.0]
      L     DBD [AR1,P#1.0]
      -R   
      L     DBD [AR1,P#1.0]
      /R   
      ABS  
      T     MD   100
      A(   
      L     MD   100
      L     MD   200
      <R   
      )    
      =     M [AR2,P#2.0]
NEXT: L     MW    30
      L     1
      +I   
      T     MW    30
      JU    M1
RET:  NOP   0

May the force be with you.
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54778条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。