选择法排序单片机汇编语言编程举例
扫描二维码
随时随地手机看文章
例:选择法排序(降序)
N EQU 10
FIR EQU 40H
SORT:
MOV A,#N ;
DEC A
MOV R7,A ;外循环数
MOV A,#FIR
MOV R0,A ;数组首址
NEXT0:
PUSH ACC ;保存本轮第一个字节地址
MOV A,R7
MOV R6,A ;内循环数
MOV A,@R0 ;取第一个字节
NEXT1:
INC R0
MOV B,@R0
CJNE A,B,L1 ;第一个字节与另一字节比较
SJMP L2
L1:JC L2 ;大于或等于,不交换
XCH A,@R0 ;小于,交换
DJNZ R6,NEXT1 ;较小的字节在A中,取下一字节与它比较。
POP B ;一轮比较结束
MOV R0,B ;恢复该轮第一个字节的地址
MOV @R0,A ;把该轮最小的数存放到第一个字节
INC R0 ;下一轮的字节地址
MOV A,R0
DJNZ R7,NEXT0 ;下一轮
RET