标题:
51单片机冒泡排序汇编语言子程序
[打印本页]
作者:
Kxuan163
时间:
2020-12-24 23:28
标题:
51单片机冒泡排序汇编语言子程序
;;入口:待排序的N个单字节无符号整数所在的RAM首址存于R3,N存于R4;
;;返回:由小至大排序完毕的N个数据存于原RAM块。
QUE: MOV A, R3
MOV R0, A ;;R0←RAM首址
MOV A, R4
MOV R7, A ;;R7←N
CLR PSW.5 ;;交换标志清零,表示未交换数
MOV A, @R0 ;;A←RAM中首个数
LP1: INC R0 ;;RAM指针加1
MOV R2, A ;;送前数于R2暂存
CLR C ;;借位清零
SUBB A, @R0 ;;A←(A)-(C)-((R0))
MOV A, R2 ;;恢复前数于A
JC LP2 ;;若有借位,表示后数较大,无须交换,转LP2
SETB PSW.5 ;;若无借位,表示前数≧后数,交换标志置1
XCH A, @R0 ;;(A),((R0))交换
DEC R0 ;;RAM指针-1
XCH A, @R0 ;;将较小的数冒泡上移
INC R0 ;;RAM指针加1
LP2: MOV A, @R0 ;;A←下一个数据
DJNZ R7, LP1 ;;若待比较的数据个数未递减至零,转LP1继续比较
RET
作者:
新乡家电维修
时间:
2020-12-25 10:24
给个赞,好东西必须赞
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1