欢迎来到天天文库
浏览记录
ID:59526031
大小:146.50 KB
页数:6页
时间:2020-11-08
《单片机循环程序实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、太原工业学院计算机工程系成绩: 单片机原理及接口技术课程实验报告课程:单片机原理及接口技术姓名:张成专业:计算机科学与技术学号:日期:2016年5月太工计算机工程系计算机原理实验室实验三:循环程序实验(排序)实验环境V系列仿真器集成调试软件实验日期2016.5.20一.实验内容1.掌握排序算法2.实现对五个字节数据从大到小排序3.实现两种不同的排序算法,并比较各自的排序效率二.理论分析或算法分析冒泡算法:1.将连续的5个数存入寄存器内2.双重循环,指针指向第一个数,指针后移与相邻的数进行比较,小于则交换并且指针后移与下一个数比较,如果大于则
2、不交换并且指针不变与后一个数比较3.数据从大到小排好序存入寄存器内冒泡算法主要思想代码:for(inti=0;i<5;i++)for(intj=0;j<5-i;j++)if(a[j]3、a[i]4、CMOVA,#04HSUBBA,R0;j<5-iJCL1MOVR1,#30HLOOP1:MOVA,@R1MOVR2,ACLRCINCR1SUBBA,@R1JNCL2;大于跳转MOVA,@R1DECR1MOV@R1,AINCR1MOVA,R2MOV@R1,ADJNZR3,LOOP1;内次循环DECR4MOVA,R4MOVR3,AINCR0;外层循环i++SJMPLOOPL2:DECR3MOVA,R3CLRCSUBBA,#01HJCL1SJMPLOOP1L0:NOPL1:NOPSJMP$END选择算法:ORG2000HMOV30H,#02HMOV5、31H,#04HMOV32H,#01HMOV33H,#05HMOV34H,#03HMOVR3,#04HMOVR0,#04HLOOP:DECR0MOVA,R0CLRCSUBBA,#01HJCL1MOVR4,#04HMOVA,R4MOVR3,AMOVR1,#30HLOOP1:MOVA,@R1MOVR2,ACLRCINCR1SUBBA,@R1JNCL0MOVA,@R1DECR1MOV@R1,AINCR1MOVA,R2MOV@R1,ADJNZR3,LOOP1SJMPLOOPL0:DECR3MOVA,R3CLRCSUBBA,#01HJCLOOPSJMP6、LOOP1L1:NOPSJMP$END四.实验结果分析冒泡算法:(输入数据:06H04H07H02H05H)选择算法:(输入数据04H02H01H05H03H)五.结论本次实验主要掌握对数据排序的两种算法,理解冒泡排序和选择排序算法的思想,通过C语言的理解设计汇编语言,运用好循环语句,要有好的逻辑思考能力,对每一个数据的操作要清楚,对数据进行交换的时候要掌握好指针的移动
3、a[i]4、CMOVA,#04HSUBBA,R0;j<5-iJCL1MOVR1,#30HLOOP1:MOVA,@R1MOVR2,ACLRCINCR1SUBBA,@R1JNCL2;大于跳转MOVA,@R1DECR1MOV@R1,AINCR1MOVA,R2MOV@R1,ADJNZR3,LOOP1;内次循环DECR4MOVA,R4MOVR3,AINCR0;外层循环i++SJMPLOOPL2:DECR3MOVA,R3CLRCSUBBA,#01HJCL1SJMPLOOP1L0:NOPL1:NOPSJMP$END选择算法:ORG2000HMOV30H,#02HMOV5、31H,#04HMOV32H,#01HMOV33H,#05HMOV34H,#03HMOVR3,#04HMOVR0,#04HLOOP:DECR0MOVA,R0CLRCSUBBA,#01HJCL1MOVR4,#04HMOVA,R4MOVR3,AMOVR1,#30HLOOP1:MOVA,@R1MOVR2,ACLRCINCR1SUBBA,@R1JNCL0MOVA,@R1DECR1MOV@R1,AINCR1MOVA,R2MOV@R1,ADJNZR3,LOOP1SJMPLOOPL0:DECR3MOVA,R3CLRCSUBBA,#01HJCLOOPSJMP6、LOOP1L1:NOPSJMP$END四.实验结果分析冒泡算法:(输入数据:06H04H07H02H05H)选择算法:(输入数据04H02H01H05H03H)五.结论本次实验主要掌握对数据排序的两种算法,理解冒泡排序和选择排序算法的思想,通过C语言的理解设计汇编语言,运用好循环语句,要有好的逻辑思考能力,对每一个数据的操作要清楚,对数据进行交换的时候要掌握好指针的移动
4、CMOVA,#04HSUBBA,R0;j<5-iJCL1MOVR1,#30HLOOP1:MOVA,@R1MOVR2,ACLRCINCR1SUBBA,@R1JNCL2;大于跳转MOVA,@R1DECR1MOV@R1,AINCR1MOVA,R2MOV@R1,ADJNZR3,LOOP1;内次循环DECR4MOVA,R4MOVR3,AINCR0;外层循环i++SJMPLOOPL2:DECR3MOVA,R3CLRCSUBBA,#01HJCL1SJMPLOOP1L0:NOPL1:NOPSJMP$END选择算法:ORG2000HMOV30H,#02HMOV
5、31H,#04HMOV32H,#01HMOV33H,#05HMOV34H,#03HMOVR3,#04HMOVR0,#04HLOOP:DECR0MOVA,R0CLRCSUBBA,#01HJCL1MOVR4,#04HMOVA,R4MOVR3,AMOVR1,#30HLOOP1:MOVA,@R1MOVR2,ACLRCINCR1SUBBA,@R1JNCL0MOVA,@R1DECR1MOV@R1,AINCR1MOVA,R2MOV@R1,ADJNZR3,LOOP1SJMPLOOPL0:DECR3MOVA,R3CLRCSUBBA,#01HJCLOOPSJMP
6、LOOP1L1:NOPSJMP$END四.实验结果分析冒泡算法:(输入数据:06H04H07H02H05H)选择算法:(输入数据04H02H01H05H03H)五.结论本次实验主要掌握对数据排序的两种算法,理解冒泡排序和选择排序算法的思想,通过C语言的理解设计汇编语言,运用好循环语句,要有好的逻辑思考能力,对每一个数据的操作要清楚,对数据进行交换的时候要掌握好指针的移动
此文档下载收益归作者所有