登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:[求助]plc 冒泡排序程序?

点击:5465 回复: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
表情表情表情表情表情
11-06-21 08:44

上一页 上一页

工控新闻

更多新闻资讯