微机原理实验报告冒泡法对数据排序Word格式.docx

上传人:b****2 文档编号:3840944 上传时间:2023-05-02 格式:DOCX 页数:10 大小:16.42KB
下载 相关 举报
微机原理实验报告冒泡法对数据排序Word格式.docx_第1页
第1页 / 共10页
微机原理实验报告冒泡法对数据排序Word格式.docx_第2页
第2页 / 共10页
微机原理实验报告冒泡法对数据排序Word格式.docx_第3页
第3页 / 共10页
微机原理实验报告冒泡法对数据排序Word格式.docx_第4页
第4页 / 共10页
微机原理实验报告冒泡法对数据排序Word格式.docx_第5页
第5页 / 共10页
微机原理实验报告冒泡法对数据排序Word格式.docx_第6页
第6页 / 共10页
微机原理实验报告冒泡法对数据排序Word格式.docx_第7页
第7页 / 共10页
微机原理实验报告冒泡法对数据排序Word格式.docx_第8页
第8页 / 共10页
微机原理实验报告冒泡法对数据排序Word格式.docx_第9页
第9页 / 共10页
微机原理实验报告冒泡法对数据排序Word格式.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理实验报告冒泡法对数据排序Word格式.docx

《微机原理实验报告冒泡法对数据排序Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告冒泡法对数据排序Word格式.docx(10页珍藏版)》请在冰点文库上搜索。

微机原理实验报告冒泡法对数据排序Word格式.docx

程序代码:

DATASEGMENT;

定义数据段

DT1DW300,250,280,240,260

DT2DB'

whatfivedatainputis'

0DH,0AH,'

$'

DT3DB'

whatafterrankis'

DT4DB'

Themaxis'

DT5DB'

Theminis'

DT6DB'

Theaverageis'

DT7DB'

showyoutheaverageonebyone'

DT8DB'

showyoutheaverageinbinaryform'

DT9DB0DH,0AH,'

DT0DB'

B'

NEQU5

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA;

说明代码段、数据段

STAT:

MOVAX,DATA

MOVDS,AX

LEADX,DT2;

输出字符串

MOVAH,09H

INT21H

CALLZIXU;

调用数据输出过程

对数据进行排序:

MOVCX,N-1;

设置N-1轮比较次数

MOVDX,1;

比较轮次技术

JM4:

PUSHCX

MOVCX,N

SUBCX,DX

LEASI,DT1

JM3:

MOVAX,[SI]

CMPAX,[SI+2]

JLEJM2

XCHGAX,[SI+2]

XCHGAX,[SI]

JM2:

ADDSI,2

LOOPJM3

POPCX

INCDX

LOOPJM4

输出排序后的顺序:

LEADX,DT3

CALLZIXU

输出最大值:

LEADX,DT4

LEASI,DT1+8;

排序后最后一个数就是最大值

CALLZIXU1

输出最小值:

LEADX,DT5

LEASI,DT1;

排序后第一个数就是最小值

输出平均值:

LEADX,DT6

LEASI,DT1+2;

去掉最大最小后的数求和

ADDAX,[SI+2]

ADDAX,[SI+4]

MOVBX,3

MOVDX,0

DIVBX;

求其平均值

MOVCX,AX

CALLZIXU1;

调用输出程序输出

把平均值分三位输出:

LEADX,DT7

MOVAX,CX

MOVBX,100

DIVBX

PUSHDX

ADDAL,30H

MOVDL,AL;

输出平均值的第一位

MOVAH,2

LEADX,DT9;

换行

POPDX

MOVAX,DX

MOVBX,10

输出平均值的第二位

ADDDX,30H

MOVAH,2;

输出平均值的第三位

LEADX,DT9

;

以二进制位输出平均值

LEADX,DT8

MOVBX,CX

MOVCX,16

JM5:

SALBX,1

RCLDX,1

MOVAH,02H

DECCX

JNZJM5

LEADX,DT0

MOVAH,4CH;

返回DOS

数据序列的输出写成一个过程:

ZIXUPROC

MOVCX,5

JM1:

MOVDL,AL

LOOPJM1

RET

ZIXUENDP

当个数据输出过程:

ZIXU1PROC;

将数据的输出写成一个过程

ZIXU1ENDP

CODEENDS

ENDSTAT

调试中出现的一些问题:

1.输入时不慎将字母O当数字0输入,结果导致了下面第5行提示的错误。

2.由于大意将循环标号表错位置,使得出现无限输出的状态。

3.在不该有标点的地方错误的点了标点符号.

4.在写数据输出的程序时,存在逻辑错误,在最高位输出后,本应该将AH清

零,将保存的余数送入AL后继续除,但我第一次恰巧相反,结果出现错

误。

下面是一些错误的提示:

经过多次修改和调试,终于能够成功运行,下面是运行结果:

实验总结:

通过实验使得我对这门课有了更深层次的认识,也激发了我对这门课的兴

趣,通过编写程序、运行程序,不仅可以巩固以前学过的知识,而且学到了很

多在书本山没有的知识。

以前对编程工具及其实验一点也不了解,通过两次的

实验课,我已经有了一定的掌握。

我发现,要学好一门语言最好的方法是去用它,只有在使用的过程中,那

些苦涩生硬的指令以及语句才会变得鲜活起来,经过多次的使用后,我们不用

再去刻意记那些指令的功能,就已经能够很好的掌握和应用了。

在实验过程中,相互讨论也是一大乐趣,大家可以提出自己的想法,然后

相互讨论,在进行编程调试,再加上老师的指导,的确是一个相互提高的好方

法,可以很快而且高效的提高自己的水平。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2