欢迎来到天天文库
浏览记录
ID:29764753
大小:17.37 KB
页数:6页
时间:2018-12-23
《上机报告三__用arm汇编编写冒泡法排序程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划上机报告三__用arm汇编编写冒泡法排序程序 《微机原理与接口技术实验报告》 学院:电气信息学院班级:电力老师:学号:姓名: 目录 1.实验目的??????????????????????1 2.实验内容??????????????????????1 3.程序流程图?????????????????????2 4.程序清单与注释???????????????????4 5.运行结果?????????????????
2、?????10 6.实验心得??????????????????????11 一、实验目的: 经过第一次试验,我们初次了解了DEBUG调试程序强大功能。1.学习汇编语言循环结构语句的特点,重点掌握冒泡排序的方法。2.理解并掌握各种指令的功能,编写完整的汇编源程序。3.进一步熟悉DEBUG的调试命令。二、实验内容: 用冒泡的方法对一组数据元素排序,它的基本方法是:将相邻的两个元素通过比较进行排序,通过多次,多遍的邻元素排序,实现整个一组数的排序。 对于5个元素,整个排序通过4遍邻元素排序完成。每一遍的排序由若干次邻元素的排序组成。目
3、的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 4遍排序中,邻元素的排序依次为4,3,2,1遍。完成第一遍排序后,最大数沉底,已经到达它应占据的位置,不需要参加下一遍的排序。 实验要求: 1.编制程序,从键盘输入300,250,280,240,260这五个数,并思考如何输入任意五个数,五个数可以有一位数,二位数,三位数,四位数,五位数,混合输入比较
4、大小; 2.对这组数用冒泡法进行排序,并输出原始数据及排序后数据,两两数据之间用空格分隔; 3.利用DEBUG调试工具,用D0命令,查看排序前后,内存数据的变化,以及会用调试命令查看程序运算中寄存器中的值; 4.去掉最大和最小的两个值,求出其余值的平均值,并输出最大值,最小值和平均值; 5.用压栈PUSH和出栈POP指令“先进后出”的特点,设计算法将平均值按位逐个输出(即输出263); 6.用移位指令将平均值以二进制串的形式输出。 7.设计程序要有模块化的思想,用子程序实现不同的功能;8.所有数据输出前要用字符串的输出指令,进行
5、输出提示,所有数据结果能清晰地显示在电脑屏幕上。 三、程序流程图:1.主程序MAIN: 2.冒泡排序子程序:SORT目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 1冒泡排序的ARM汇编程序 ORG09B0H QUE:MOVR3,#50H QUE1:MOVA,R3 MOVR0,A MOVR7,#0AH CLR00H MOVA,@R0
6、 Q12:INCR0 MOVR2,A CLRC MOV22H,@R0 CJNEA,22H,Q13 SETBC Q13:MOVA,R2 JCQ11 SETB00H XCHA,@R0 DECR0 XCHA,@R0 INCR0 Q11:MOVA,@R0目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 DJNZR7,Q12 JB0
7、0H,QUE1 SJMP$ END 2ARM汇编希尔排序法对10个带符号数进行排序 Code: voidshell(intsrc[],intl,intr){ intih; r++; for(ih=1;ih?? defineucharunsignedchar ??ucharm=0,i=0;?? voidmain()??{??TMOD
8、=0x01;//定时器0工作方式为1?? TH0=(65536-50000)/256;//装初值 ??TL0=(65536-50000)%256;??EA=1;//开总中断??ET0=1
9、;//开定时器中断??TR0=1;//开启定时器???? while(1);//等待中断?? ??} voidtimer0()interrupt1 {?? TH0=(6
此文档下载收益归作者所有