汇编冒泡排序(51)(需调试器付初值)

发布者:bdwhsc最新更新时间:2016-09-13 来源: eefocus关键字:汇编冒泡排序  初值 手机看文章 扫描二维码
随时随地手机看文章
;此程序属于冒泡排序算法,不能用查找表(只能在调试时用内存表中设置处置进行仿真实验)(因为查找表是数据是存放在rom中的,所以说是无法去修改的,无能为力,因此只能通过调试来实现)

              Num       EQU  31H                   ;定义临时次数变量(也可理解为总数据变量)

             

              ORG       0000H

              LCALL    START    ;跳转到排序算法

              SJMP      $            ;如果排序完成,在此循环

 

START:MOV        R0,#50H;把地址0050h付给R0中

              MOV      Num,#4   ;所有数据个数放在Num中

              CLR       F0            ;用户可以使用的标志位清零(交换数据标志)

              DEC       Num        ;减1

              MOV      A,@R0           ;把其中的数送到A中

 

LOOP:    MOV      R2,A              ;把低字节地址中的数付给R2

              INC R0               ;地址加一

              CLR C                   ;进位标志位清零

              MOV      A,@R0       ;把高字节地址中的数付给A

              SUBB      A,R2              ;带进位相减指令

              JNC LOOP1          ;如果没有借位,则高字节中比低字节中数据大,不用排,跳转到loop1

 

              ;如果借位,下面是交换数据代码

              SETB      F0                 ;用户可以使用的标志位置1

              MOV      A,R2             

              XCH       A,@R0             ;把低字节数送到高字节地址中

              DEC       R0                        ;地址减1,到低字节地址中

              XCH       A,@R0                  ;把高字节中的数送到低字节地址中

              INC R0                        ;在把地址重新加一

      

LOOP1:MOV  A,@R0

              DJNZ      Num,LOOP   ;重新进入下次循环(跳出时,实现一次冒泡)

 

              JB           F0,START        ;循环进行冒泡,如果交换标志一直为0,则排序完成,结束

              RET

 

       END                                      

关键字:汇编冒泡排序  初值 引用地址:汇编冒泡排序(51)(需调试器付初值)

上一篇:单片机 电子时钟(汇编)
下一篇:c51中嵌套汇编的方法

推荐阅读最新更新时间:2024-03-16 15:09

单片机中的冒泡排序汇编语言)
总结起来就是: 1.N个数要分选N-1次 2.第i次分选的次数为N-i次 汇编程序: ORG 1000H MOV PSW,00H MOV R7,#100-1;总共的分选次数 LOOP0:MOV R0,#40H ; Loop0是大循环,主要负责分选,一次又一次 MOV R1,#41H MOV 02H,R7;这里确定了第i次分选的次数 CLR F0 LOOP1:MOV A,@R0 ; loop1是小循环,主要负责判断本次分选是否结束 CJNE A,@R1,LOOP2 LOOP2:JNC LOOP3 XCH A,@R1 MOV @R0,A SETB F
[单片机]
单片机中的<font color='red'>冒泡</font><font color='red'>排序</font>(<font color='red'>汇编</font>语言)
单片机定时器计数器初值的计算
1.计数器初值的计算 把计数器计满为零所需要的计数值设定为C,计数初值设定为TC,由此可得到公式: TC=M-C式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213;在方式1时M为216;在方式2和方式3时M为28。 2.定时器初值的计算 在定时器模式下,计数器由单片机主脉冲经12分频后计数。因此,定时器定时时间T的公式:T=(M-TC)T计数,上式也可写成:TC=M-T/ T计数。式中,M为模值,和定时器的工作方式有关;T计数是单片机振荡周期TCLK的12倍;TC为定时器的定时初值。
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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