文档详情

微机原理实验报告-冒泡排序.docx

发布:2025-05-23约1.01万字共28页下载文档
文本预览下载声明

一、实验目得

(1)学习汇编语言循环结构语句得特点,重点掌握冒泡排序得方法。

(2)理解并掌握各种指令得功能,编写完整得汇编源程序。

(3)进一步熟悉DEBUG得调试命令,运用DEBUG进行调试汇编语言程序。

二、实验内容及要求

(1)实验内容:从键盘输入五个有符号数,用冒泡排序法将其按从小到大得顺序排序。

(2)实验要求:

①编制程序,对这组数进行排序并输出原数据及排序后得数据;

②利用DEBUG调试工具,用D0命令,查看排序前后内存数据得变化;

③去掉最大值和最小值,求出其余值得平均值,输出最大值、最小值和平均值;

④用压栈PUSH和出栈POP指令,将平均值按位逐个输出;

⑤将平均值转化为二进制串,并将这组二进制串输出;

⑥所有数据输出前要用字符串得输出指令进行输出提示,所有数据结果能清晰显示。

开始三、程序流程图

开始

(1)主程序:MAIN

初始化

初始化

键盘输入数据

键盘输入数据

调用INPUT子程序显示输入错误

调用INPUT子程序

显示输入错误

输入

输入就是否正确

就就是

显示

显示原始数据

调用OUTPUT子程序

调用OUTPUT子程序

显示冒泡

显示冒泡排序后得数据

调用SORT子程序

调用SORT子程序

调用OUTPUT子程序

调用OUTPUT子程序

显示

显示最小值Min

显示One子程序

显示One子程序

显示

显示最大值Max

调用One子程序

调用One子程序

显示其余数平均值Average

显示其余数平均值Average

调用One子程序

调用One子程序

显示平均值二进制串Binary

显示平均值二进制串Binary

调用One子程序

调用One子程序

结束

结束

(2)冒泡排序子程序:SORT

COUNT1----外循环次数COUNT2----内循环次数

COUNT1----外循环次数

COUNT2----内循环次数

i----数组下标

进入

初始

初始化

COUNT1=N-1

COUNT1=N-1

COUNT2=COUNT1

COUNT2=COUNT1

SI

SI=0

Ai≥A

Ai≥Ai+1

就就是

Ai与A

Ai与Ai+1两数交换

SI

SI=SI+2

COUNT2=COUNT

COUNT2=COUNT2-1

COUNT2=0?

COUNT2=0?

就就是

COUNT

COUNT1=COUNT1-1

COUNT2=0?

COUNT2=0?

就就是

返回

返回

四、程序清单

NAMEBUBBLE_SORT

DATASEGMENT

ARRAYDW5DUP(?);输入数据得存储单元

COUNTDW5

TWODW2

FLAG1DW0;判断符号标志

FLAG2DB0;判断首位就就是否为零得标志

FAULTDW-1;判断出错标志

CRDB0DH,0AH,$

STR1DBPleaseinputfivenumbersseperatedwithspaceandfinishedwithEnter:,$

STR2DBTheoriginalnumbers:,$

STR3DBThesortednumbers:,'$

STR4DB'TheMin:,$'

STR5DBTheMax:,$

STR6DBTheAverage:,$'

STR7DBThebinarysystemoftheaverage:','$

STR8DBInputerror!Pleaseinputagain!$

DATAENDS

CODESEGMENT

MAINPROCFAR

显示全部
相似文档