微机原理实验数据排序.doc

微机原理实验数据排序.doc

ID:56777564

大小:21.50 KB

页数:3页

时间:2020-07-09

微机原理实验数据排序.doc_第1页
微机原理实验数据排序.doc_第2页
微机原理实验数据排序.doc_第3页
资源描述:

《微机原理实验数据排序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、广州大学学生实验报告开课学院及实验室:软件工程实验室418B2013年月日学院计算机科学与教育软件学院年级/专业/班姓名学号实验课程名称微机原理实验成绩实验项目名称数据排序指导老师陶文正一、实验要求给出一组随机数,将此组数据排序,使之成为有序数列二、实验目的了解数据排序的简单算法。三、实验说明有序的数列更有利于查找。本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据有序。四、程序框图Lenequ10datasegmentA

2、rraydb5,2,1,0,2,3,8,6,5,9Changedb0dataendscodesegmentassumecs:code,ds:datastartprocnearmovax,datamovds,axSort:movbx,offsetArraymovcx,Len-1movChange,0Goon:moval,byteptr[bx]incbxcmpal,byteptr[bx]jngNext;前小后大,不交换movChange,1;前大后小,置交换标志movah,[bx]mov[bx],al;交换mov[bx-1],ahNext:loopGooncm

3、pChange,0jneSortjmp$codeendsendstart五、实验步骤(1)进入Wave6000,输入程序并检查,保存程序。(2)“编译”程序。(3)在指令“jmp$”处设断点。(4)“全速执行”程序。(5)在“数据窗口(MEMOREY)”查看0400H开始的10个单元的内容,记录并分析实验结果。结果:00010202030505060809实验结果分析:实验中的jne和jng都是条件跳转语句(<=),通过循环依次比较,Change是前两个数的交换标志六、总结刚开始运行程序,不理解代码中为什么要加置交换标志Change。之后,我把Change

4、的语句去掉后,重新编译执行,发现结果也是正确的,但是程序不会停止跳出。然后我单步调试,程序一直循环。仔细想想,才理解了Change语句的真正含义:因为jneSort是条件跳转语句,所以在这之前必须要有条件(cmpChange,0),当没有前面的数比后面的数大时,Chang为0,cmpChange,0成立跳出程序结束

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。