STL程序数据排序

这段程序只看懂了大概,好像是数据大小排序。哪位大师能帮忙重点解释一下NEXT之后的部分?

图片说明:

STL程序数据排序    STL程序数据排序    STL程序数据排序   

最佳答案

中间的哪些跳转感觉是多余的。就是DBW[AR1,P#0.0]<DBW[AR2,P#0.0]时对应的数据互换,不成立时直接跳转到M003;无论是否执行数据的交换都要进行地址LD14的自加16,然后就是执行循环的语句条状NEXT2.应该是个双循环的语句。
    L   #Num
           L   1
           -I
      NEX1:T   #seq1          //外循环的次数
           L   #seq1
      NEX2:T   #seq2          //内循环的次数
           L   LD10           
           LAR1               //AR1地址初始化
           L   LD14
           LAR2               //AR2地址初始化
           L   DBW[AR1,P#0.0]
           L   DBW[AR2,P#0.0]
           <I                     
           JNB  M001          //以上两个地址的数据进行比较成立则执行两个数据的交换
           L   DBW[AR1,P#0.0]
           T   #TempValue
           L   DBW[AR2,P#0.0]
           T   DBW[AR1,P#0.0]
           L   #TempValue
           T   DBW[AR2,P#0.0]
     M003: L   LD14       //无论成立与否都要执行一次LD14的自加,为下一个循环准备
           +   L#16
           T   LD14
           L   #seq2  
           LOOP NEX2      //循环后进行下一次的比较
           L   LD10
           +   L#16
           T   LD10
           L   LD10
           +   L#16

提问者对于答案的评价:
非常感谢!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年5月31日
下一篇 2017年5月31日

相关推荐