单字节无符号数据块排序原理与设计
;标号:COMP_UP 功能:单字节无符号数据块排序(增序)
;入口条件:数据块的首址在R0中,字节数在R7中。
;出口信息:完成排序(增序)
;影响资源:PSW、A、R1、R6 堆栈需求: 2字节
COMP_UP: MOV A,R0 ;R1=R0,保护R0
MOV R1,A
MOV A,R7 ;R6=R7-1,保护R7
DEC A
MOV R6,A
COMP_UP1: MOV A,@R1 ;取相邻两单元比较
INC R1
CLR C
SUBB A,@R1
JZ COMP_UP2 ;相等(等同增序)转至COMP_UP2
JNC COMP_UP3 ;非增序转至COMP_DOWN2
COMP_UP2: DJNZ R6,COMP_UP1 ;相邻两单元未比较完,转至COMP_DOWN1
RET ;相邻两单元比较完,子程序返回
COMP_UP3: ADD A,@R1 ;相邻两单元交换
XCH A,@R1
DEC R1
MOV @R1,A
SJMP COMP_UP ;转至子程序起始处重新排序





