单片机中的冒泡排序(汇编语言)
总结起来就是:
1.N个数要分选N-1次
2.第i次分选的次数为N-i次
汇编程序:
ORG 1000H
MOV PSW,00H
MOV R7,#100-1;总共的分选次数
LOOP0:MOV R0,#40H ; Loop0是大循环,主要负责分选,一次又一次
MOV R1,#41H
MOV 02H,R7;这里确定了第i次分选的次数
CLR F0
LOOP1:MOV A,@R0 ; loop1是小循环,主要负责判断本次分选是否结束
CJNE A,@R1,LOOP2
LOOP2:JNC LOOP3
XCH A,@R1
MOV @R0,A
SETB F0
LOOP3:INC R0
INC R1
DJNZ R2,LOOP1
JNB F0,STOP
DJNZ R7,LOOP0;循环再次进行下一次分选
STOP: SJMP $
END