8051单片机,汇编实现的冒泡排序

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  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值