回复:红字程序什么意思?

艾星落尘

  • 帖子

    996
  • 精华

    1
  • 被关注

    179

论坛等级:至圣

注册时间:2010-02-26

白金 白金 如何晋级?

发布于 2017-04-10 15:53:32

1楼

总算看明白了,情况是这样的,循环程序开始的第一个字是从最后一个字开始的,所以要有一段最后一个字的地址的计算:

NXT1: T     LW    18
      TAR1  
      L     P#2.0
      -D        //这里可以看出是减去,而不是加。

      LAR1  

解释如何实现最后一个字地址的计算

      L     LD     6
      L     DW#16#FFFFFF
      AD    
      T     LD    10  //这个是初始的地址
//计算最后一个存储单元指针保存至 LD10
      L     LW     2          //数据长度,以字为长度的,因为是INT
      L     2
      *I                      //乘以2得到的是以字节为单位的长度                          
      T     LD    14
      L     L#2              
      -D                      //减去2,因为DB块的数据是从0开始的,                                        
      SLD   3                 //左移动三位相当于乘以8,得到了增加的地址长度。
      L     LD    10
      +D    
      T     LD    10           //最后加上初始的地址值,得到的才是最后一个地址的长度:

例如从0开始的10字(原来是字节,笔误),在DBW0-DBW18

DBW18的指针地址:(10*2-2)*8=144

一个人在战斗
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54711条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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