您的位置 首页 厂商

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

;此程序属于冒泡排序算法,不能用查找表(只能在调试时用内存表中设置处置进行仿真实验)(因为查找表是数据是存放在rom中的,所以说是无法…

;此程序归于冒泡排序算法,不能用查找表(只能在调试时用内存表中设置处置进行仿真试验)(由于查找表是数据是存放在rom中的,所以说是无法去修正的,力不从心,因而只能经过调试来完结)

NumEQU31H;界说暂时次数变量(也可理解为总数据变量)

ORG0000H

LCALLSTART;跳转到排序算法

SJMP$;假如排序完结,在此循环

START:MOVR0,#50H;把地址0050h交给R0中

MOVNum,#4;一切数据个数放在Num中

CLRF0;用户能够运用的标志位清零(交流数据标志)

DECNum;减1

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

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

INCR0;地址加一

CLRC;进位标志位清零

MOVA,@R0;把高字节地址中的数交给A

SUBBA,R2;带进位相减指令

JNCLOOP1;假如没有借位,则高字节中比低字节中数据大,不必排,跳转到loop1

;假如借位,下面是交流数据代码

SETBF0;用户能够运用的标志方位1

MOVA,R2

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

DECR0;地址减1,到低字节地址中

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

INCR0;在把地址从头加一

LOOP1:MOVA,@R0

DJNZNum,LOOP;从头进入下次循环(跳出时,完结一次冒泡)

JBF0,START;循环进行冒泡,假如交流标志一向为0,则排序完结,完毕

RET

END

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/266722.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部