STEP 7 语句表求助 点击:771 | 回复:3



yachuangreat

    
发表于:2012-06-27 10:38:56
楼主

      L     0
      T     #TempSum
      L     P##InData
      LAR1 

      L     0
      L     B 【AR1,P#0.0】
      ==I  
      JC    M1
      T     #TempBNum
      OPN   DB 【#TempBNum】
M1:   L     D 【AR1,P#2.0】
      LAR1 
      +AR1  P#1.0
      L     0
      L     #DataNums
      ==I  
      JC    END
      L     2
      -I   
NO:   T     #TempLen
      L     B 【AR1,P#0.0】
      L     #TempSum
      +I   
      T     #TempSum
      +AR1  P#1.0
      L     #TempLen
      LOOP  NO

      L     #TempSum
      INVI 
      L     1
      +I   
      T     #CRC

      L     B 【AR1,P#0.0】
      L     #CRC
      <>I  
      JC    END1
      R     #Error
      JU    END
END1: S     #Error
END:  NOP   0
求高手详细解释一下上面语句表每一句是什么意思,小弟不会语句表,不胜感激。。。。



楼主最近还看过



yexiaomeng

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 181回
  • 年度积分:0
  • 历史总积分:731
  • 注册:2005年12月19日
发表于:2012-06-27 13:48:18
1楼
      L     0                      // 累加器清0
      T     #TempSum       //累加器送到局部变量
      L     P##InData        //累加器赋值(指针)
      LAR1                       //间接寻址AR1从累加器获得初值

      L     0                      //累加器清零
      L     B 【AR1,P#0.0】//读取间接地址
      ==I                          //整数比较(这3句指令可能有误,建议在两次装载之间加PUSH)
      JC    M1                     //相等则跳转到M1
      T     #TempBNum     //累加器送到局部变量
      OPN   DB 【#TempBNum】//打开数据块
M1:   L     D 【AR1,P#2.0】 //装载间接地址值
      LAR1   // 间接地址寄存器赋值
      +AR1  P#1.0   //间接地址寄存器加1个字节
      L     0
      L     #DataNums //比较0和变量
      ==I   //是否相等(这3句指令可能有误,建议在两次装载之间加PUSH)
      JC    END //相等则跳转置END
      L     2
      -I   // 累加器2-累加器1(这2句指令可能有误,建议在两次装载之间加PUSH)
NO:   T     #TempLen
      L     B 【AR1,P#0.0】
      L     #TempSum
      +I    //两个累加器相加
      T     #TempSum //送到局部变量
      +AR1  P#1.0// 指针加1
      L     #TempLen// 读取变量值
      LOOP  NO //循环到NO

 

 

 不好意思,不知道你这段程序从何而来,是否能够运行,错误和漏洞太多,前面不才大致注释了一下,后面你可以参照

yachuangreat

  • 精华:0帖
  • 求助:4帖
  • 帖子:4帖 | 6回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2010年11月01日
发表于:2012-06-27 14:01:20
2楼
高手,你好!情况是这样的:PLC和我们定做的板子用485通讯,这段程序是校验传回来的数据是否正确,就是检验最后的校验码用的,我先看看 ,不懂得话再请教您。。。。可以留个联系方式么??。。。期待。。。

yexiaomeng

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 181回
  • 年度积分:0
  • 历史总积分:731
  • 注册:2005年12月19日
发表于:2012-06-27 14:04:33
3楼

我的qq,331556609

SSI ļʱ