您现在所在的是:

PLC论坛

回帖:10个,阅读:5377 [上一页] [1] [2] [下一页]
765
2890069
文章数:5
年度积分:50
历史总积分:765
注册时间:2010/4/6
发站内信
发表于:2011/6/21 8:44:04
#10楼
一个子程序,你看一下
LD0   表头地址
L4.0    排序模式:true=升序,false=降序
其它为TEMP 变量

Network 1
//  表为空或只有一个数据时不用排序
LD     SM0.0
+D     2, LD0
AW<=   *LD0, 1
CRET
Network 2
//  初始化循环次数、表头指针指向第一个元素
LD     SM0.0
MOVW   *LD0, LW7
MOVW   LW7, LW5
DECW   LW5

Network 3 //  外循环
LD     SM0.0
FOR    LW9, 1, LW5
MOVW   LW9, LW21
INCW   LW21
Network 4 //  内循环
LD     SM0.0
FOR    LW11, LW21, LW7
Network 5
//  指针指向待比较的两个数据项
LD     SM0.0
MOVW   LW9, LW21
SLW    LW21, 1
ITD    LW21, LD13
+D     LD0, LD13
MOVW   LW11, LW21
SLW    LW21, 1
ITD    LW21, LD17
+D     LD0, LD17
Network 6 //  比较
//  生成交换标志
LDW>   *LD13, *LD17
A      L4.0
LDW<   *LD13, *LD17
AN     L4.0
OLD
=      L23.0
Network 7 //  交换数据
LD     L23.0
MOVW   *LD13, LW21
MOVW   *LD17, *LD13
MOVW   LW21, *LD17
Network 8
NEXT
Network 9
NEXT

表情表情表情表情表情

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003