四川大学微机原理鼓泡法排序实验报告四川大学微机原理鼓泡法排序实验报告
《微机原理与接口技术实验报告》
学院:电气信息学院
类:电力
老师:
学号:
姓:
目录
实验的目的....................... 1
实验内容……………………………………1
流程图..............................
程序列表和注释....................................... 4
运行结果...................
实验心得.. 11
实验的目的:
经过最初的实验,我们第一次理解了调试程序的强大功能。
学习汇编语言循环结构句的特点,重点掌握气泡排序的方法。
理解和掌握各种指令的功能,编写完整的汇编源程序。
熟悉调试命令。
二.实验内容:
用冒泡的方法对一系列数据元素进行排序。 其基本方法是通过比较对两个相邻元素进行排序,再通过多次、多次相邻元素进行排序,实现整组数量的排序。
对于5(n )个元素,全部排序由4遍)=N-1 )相邻元素的排序完成。 按路径排序由多个相邻元素的排序组成。
在4遍排序中,相邻元素的排序顺序是4、3、2、1遍。 第一个路径排序完成后,最大数量已达到底部,应该占用的位置。 不需要参与下一个路径的排序。
外循环的次数为CX=4次(N-1 ),内循环的次数为4、3、2、1 ) decCX )
路径数排序前第一次排序后、第二次排序后、第三次排序后、第四次排序后、第1300、250、280、250、300、280、280、300、240、260250、280 260、300250、240、260、280、3003250、240、260、280、300250、260、300250和260
实验要求:
编写程序,通过键盘输入300、250、280、240、260这五个数,并考虑如何输入任意五个数。 五个数字有1位、2位、3位、4位、5位,可以混合输入来比较大小。
用冒泡法对这个组的数量进行排序,输出和原始数据排序后的数据。 用空格分隔两个数据之间。
利用调试工具,通过D0命令查看排序前后内存数据的变化,通过调试命令查看程序运算中的寄存器值;
去除最大和最小两个值,求出剩下的值的平均值,输出最大值、最小值和平均值;
利用堆栈推送和堆栈POP指令的“先进后出”特征,设计算法逐位输出平均值(即输出263 );
用移位命令将平均值作为二进制串输出。
设计程序必须具有模块化思想,通过子程序实现不同的功能;
在输出所有数据之前,使用字符串输出命令进行输出提示。 例如,zui da zhi shi : 300等。 所有的数据结果都清楚地显示在电脑的画面上。
程序流程图:
1 .主程序主:
不
是
2 .冒泡对齐子程序: SORT
不
是
不
是
不
是
流程列表和注释:
NAME BUBBLE_SORT
数据段
阵列dw5dup (? )
COUNT DW 5
TWO DW 2
FLAG1 DW 0
FLAG2 DB 0
FAULT DW -1
CR DB 0DH,0AH,' $ '
str1db ' pleaseinputfivenumbersseperatedwithspaceandfinishedwithenter :