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