一个子程序,你看一下
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