ORG 0000H
MOV 50H,#02H
MOV 51H,#10H
MOV 52H,#24H
MOV 53H,#14H
MOV 54H,#11H
MOV 55H,#36H
MOV 56H,#30H
MOV 57H,#25H
MOV 58H,#22H
MOV 59H,#26H
/*将 02H、10H、24H、14H、11H、36H、30H、25H、22H、26H 分别寄存排序*/
LJMP MAIN
ORG 0030H
MAIN: MOV R1,#50H
MOV R2,#09H
MOV B,#09H
CLR 40H
LCALL LOOP1
LOOP4: MOV R1,#50H
MOV A,B
SUBB A,#01H
MOV B,A
MOV R2,B
CLR 40H /*将次数减一次后放在B寄存器保存。*/
LOOP1: MOV A,@R1
INC R1
MOV 30H,@R1
CJNE A,30H,LOOP2
LOOP2: JC LOOP3 /*比较前面一个数大于后面的数发生交换*/
MOV @R1,A
DEC R1
MOV @R1,30H
INC R1
SETB 40H /* 实现30H上的数与40H上的数进行交换*/
LOOP3: DJNZ R2,LOOP1
JB 40H,LOOP4
SJMP $
END
8051单片机,汇编实现的冒泡排序
最新推荐文章于 2025-04-30 22:37:32 发布