一個子程序,你看一下
LD0 表頭地址
L4.0 排序模式:true=升序,false=降序
其它為TEMP 變量
Network 1
// 表為空或只有一個數(shù)據(jù)時不用排序
LD SM0.0
+D 2, LD0
AW<= *LD0, 1
CRET
Network 2
// 初始化循環(huán)次數(shù)、表頭指針指向第一個元素
LD SM0.0
MOVW *LD0, LW7
MOVW LW7, LW5
DECW LW5
Network 3 // 外循環(huán)
LD SM0.0
FOR LW9, 1, LW5
MOVW LW9, LW21
INCW LW21
Network 4 // 內(nèi)循環(huán)
LD SM0.0
FOR LW11, LW21, LW7
Network 5
// 指針指向待比較的兩個數(shù)據(jù)項
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 // 交換數(shù)據(jù)
LD L23.0
MOVW *LD13, LW21
MOVW *LD17, *LD13
MOVW LW21, *LD17
Network 8
NEXT
Network 9
NEXT