改进的冒泡排序单片机汇编语言编程举例

发布者:月光男孩最新更新时间:2017-10-15 来源: eefocus关键字:冒泡排序  单片机  汇编语言 手机看文章 扫描二维码
随时随地手机看文章

例:改进的冒泡排序(单字节) 

N EQU 10 

FIR EQU 40H 

LJMP GO 

TABL:DB 12,3,45H,22,6,9,33 

DB 23H,43,11 ;数组元素表 

GO: MOV DPTR,#TABL 

MOV R0,#FIR 

MOV R7,#N 

EVALU:MOV A,0 ;给工作单元赋值 

MOVC A,@A+DPTR 

MOV @R0,A 

INC R0 

INC DPTR 

DJNZ R7,VALU 

SORT: ;排序 

MOV R7,#N -1 ;外循环数 

CLR F0 ;清交换标志为0 

NEXT0: 

MOV A,R7 

JZ EXIT ;只一个元素,退出 

MOV R6,A ;内循环数 

MOV R0,#FIR ;R0指向第一个元素 

NEXT1: 

MOV A,@R0 ;取一个字节 

INC R0 

MOV B,@R0 

CJNE A,B,L1 ;两个相邻字节比较 

SJMP L2 ;相等,不必交换 

L1:JC L2 ;前一个小于后一个,符合增序 

XCH A,@R0 ;前一个大于后一个,交换 

DEC R0 

MOV @R0,A 

INC R0 

SETB F0 ;设置交换标志为1 

L2:DJNZ R6,NEXT1 ;内循环是否结束? 

JNB F0,EXIT ;无交换,提前结束 

DJNZ R7,NEXT0 ;外循环是否结束? 

EXIT: RET

关键字:冒泡排序  单片机  汇编语言 引用地址:改进的冒泡排序单片机汇编语言编程举例

上一篇:选择法排序单片机汇编语言编程举例
下一篇:多字节无符号二进制数除法单片机汇编程序举例

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved