您现在的位置: 主页 > MCU > 单片机技术应用 > 采用冒泡法编写51单片机排序程序 -
本文所属标签:
为本文创立个标签吧:

采用冒泡法编写51单片机排序程序 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]
试设计一个子程序,其功能为将(R0)指出的内部RAM中6个单字节正整数按从小到大的次序重新排列。;========================================最佳答案:下列程序使用冒泡法排序,经过KEIL仿真测试通过。

试设计一个子程序,其功能为将(R0)指出的内部RAM中6个单字节正整数按从小到大的次序重新排列。
;========================================
最佳答案:
下列程序使用冒泡法排序,经过KEIL仿真测试通过。
ORG 0000H
;------------------------下面先准备6个数字
MOV 40H, #8AH
MOV 41H, #3BH
MOV 42H, #0B9H
MOV 43H, #47H
MOV 44H, #29H
MOV 45H, #0AFH

本文引用地址: http://www.21ic.com/app/mcu/201806/764341.htm

CALL SORT6 ;调用排序子程序

SJMP $ ;停止,此时可以观察排序结果
;-------------------------------------
SORT6: ;排序子程序
MOV R6, #5 ;6个数字,比较5次
S1:
MOV R0, #40H ;起始地址
MOV B, R6
MOV R7, B
CLR PSW.5 ;交换标志清零
S2:
MOV B, @R0 ;取出前一个数
INC R0
MOV A, @R0 ;取出后一个数
CJNE A, B, S3 ;后-前
S3:
JNC N_JH ;够减就不用交换
MOV @R0, B ;交换存放
DEC R0
MOV @R0, A
INC R0
SETB PSW.5 ;设立交换标志位
N_JH:
DJNZ R7, S2
JNB PSW.5, S_END ;没有交换过,就结束
DJNZ R6, S1
S_END:
RET
;-------------------------------------
END
;========================================




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 采用冒泡法编写51单片机排序程序 -
 

"采用冒泡法编写51单片机排序程序 -"的相关文章

网站地图

围观()