- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四川大学微机原理泡法排序实验报告
《微机原理与接口技术实验报告》
学 院: 电气信息学院
班 级: 电力
老 师:
学 号:
姓 名:
目 录
实验目的…………………………………………………………1
实验内容…………………………………………………………1
程序流程图………………………………………………………2
程序清单与注释…………………………………………………4
运行结果…………………………………………………………10
实验心得…………………………………………………………11
实验目的:
经过第一次试验,我们初次了解了DEBUG调试程序强大功能。
学习汇编语言循环结构语句的特点,重点掌握冒泡排序的方法。
理解并掌握各种指令的功能,编写完整的汇编源程序。
进一步熟悉DEBUG的调试命令。
二、实验内容:
用冒泡的方法对一组数据元素排序,它的基本方法是:将相邻的两个元素通过比较进行排序,通过多次,多遍的邻元素排序,实现整个一组数的排序。
对于5(N)个元素,整个排序通过4遍(=N-1)邻元素排序完成。每一遍的排序由若干次邻元素的排序组成。
4遍排序中,邻元素的排序依次为4,3,2,1遍。完成第一遍排序后,最大数沉底,已经到达它应占据的位置,不需要参加下一遍的排序。
外循环的次数为CX=4次(N-1),内循环的次数为4,3,2,1(DEC CX)
排序遍数 本遍排序前 第一次排序后 第二次排序后 第三次排序后 第四次排序后 1 300,250,280,240,260 250,300,280,240,260 250,280,300,240,260 250,280,240,300,260 250,280,240,260,300 2 250,280,240,260,300 250,280,240,260,300 250,240,280,260,300 250,240,260,280,300 3 250,240,260,280,300 250,240,260,280,300 240,250,260,280,300 4 240,250,260,280,300 240,250,260,280,300
实验要求:
编制程序,从键盘输入300,250,280,240,260这五个数,并思考如何输入任意五个数,五个数可以有一位数,二位数,三位数,四位数,五位数,混合输入比较大小;
对这组数用冒泡法进行排序,并输出原始数据及排序后数据,两两数据之间用空格分隔;
利用DEBUG调试工具,用D0命令,查看排序前后,内存数据的变化,以及会用调试命令查看程序运算中寄存器中的值;
去掉最大和最小的两个值,求出其余值的平均值,并输出最大值,最小值和平均值;
用压栈PUSH和出栈POP指令“先进后出”的特点,设计算法将平均值按位逐个输出(即输出263);
用移位指令将平均值以二进制串的形式输出。
设计程序要有模块化的思想,用子程序实现不同的功能;
所有数据输出前要用字符串的输出指令,进行输出提示(如:zui da zhi shi : 300等),所有数据结果能清晰地显示在电脑屏幕上。
程序流程图:
1.主程序MAIN:
否
是
2.冒泡排序子程序:SORT
否
是
否
是
否
是
程序清单与注释:
NAME BUBBLE_SORT
DATA SEGMENT
ARRAY DW 5 DUP(?)
COUNT DW 5
TWO DW 2
FLAG1 DW 0
FLAG2 DB 0
FAULT DW -1
CR DB 0DH,0AH,$
STR1 DBPlease input five numbers seperated with space and finished with Enter:,$
STR2 DBThe original numbers:,$
STR3 DBThe sorted numbers:,$
STR4 DBThe Min:,$
STR5 DBThe Max:,$
STR6 DBThe Ave
文档评论(0)