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