STL代码段 不懂

L     #DELTA

      ABS   

      L     1.000000e-006

      <R    

      L     #CNT

      L     #CNT_MAX

      =     L     46.2

      >I    

      O     L     46.2

      JCN   A7d6

最佳答案

// 程序段实现的功能为:#DELTA的绝对值小于0.000006 或者  #CNT > #CNT_MAX 
// 就继续执行代码行:JCN   A7d6   以下的程序段。否则,就跳转到标签A7d6部位的程序段。


       L     #DELTA                 //装载至ACCU1,用于进行比较
      ABS                               //取#DELTA的绝对值
      L     1.000000e-006      //对应值为:0.000006,装载在ACCU1,ACCU2的值更新为#DELTA的绝对值
      <R                              //判断#DELTA的绝对值是否小于0.000006
      L     #CNT                   //装载#CNT 的数值到ACCU1
      L     #CNT_MAX   //装载#CNT_MAX 的数值到ACCU1,ACCU2的值更新为#CNT
      =     L     46.2              //暂存前面的比较结果,即#DELTA的绝对值如果小于0.000006,
                                         // 那么本地数据地址为1(TRUE),否则为0(FALSE).
      >I                               //判断之前装载到ACCU2的值,是否大于ACCU1中的值。
                                        //即判断#CNT是否大于#CNT_MAX
      O     L     46.2             
      JCN   A7d6                //如果#CNT大于#CNT_MAX或者L46.2为真,
                                         //那么程序不进行跳转,继续执行改行代码以下的代码,
                                        //否则,程序跳转至A7d6标签部位的程序段

提问者对于答案的评价:
谢谢啊,我理解了

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午1:06
下一篇 2021年7月5日 下午1:06

相关推荐

发表回复

登录后才能评论