这段程序只看懂了大概,好像是数据大小排序。哪位大师能帮忙重点解释一下NEXT之后的部分?
图片说明:
最佳答案
中间的哪些跳转感觉是多余的。就是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