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

上传人:大张伟 文档编号:5655653 上传时间:2020-07-20 格式:DOC 页数:3 大小:21.50KB
返回 下载 相关 举报
微机原理实验数据排序.doc_第1页
第1页 / 共3页
微机原理实验数据排序.doc_第2页
第2页 / 共3页
微机原理实验数据排序.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《微机原理实验数据排序.doc》由会员分享,可在线阅读,更多相关《微机原理实验数据排序.doc(3页珍藏版)》请在三一文库上搜索。

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

2、2,1,0,2,3,8,6,5,9Change db 0data endscode segment assume cs:code, ds:datastart proc near mov ax, data mov ds, axSort: mov bx, offset Array mov cx, Len-1 mov Change, 0Goon: mov al, byte ptr bx inc bx cmp al, byte ptr bx jng Next ; 前小后大, 不交换 mov Change, 1 ; 前大后小, 置交换标志 mov ah, bx mov bx ,al ; 交换 mov b

3、x-1, ahNext: loop Goon cmp Change, 0 jne Sort jmp $code ends end start五、实验步骤(1) 进入Wave6000,输入程序并检查,保存程序。(2) “编译”程序。(3) 在指令“jmp $”处设断点。(4) “全速执行”程序。(5) 在“数据窗口(MEMOREY)”查看0400H开始的10个单元的内容,记录并分析实验结果。结果:00 01 02 02 03 05 05 06 08 09 实验结果分析:实验中的jne和jng都是条件跳转语句(=),通过循环依次比较,Change是前两个数的交换标志六、总结刚开始运行程序,不理解代码中为什么要加置交换标志Change。之后,我把Change的语句去掉后,重新编译执行,发现结果也是正确的,但是程序不会停止跳出。然后我单步调试,程序一直循环。仔细想想,才理解了Change语句的真正含义:因为 jne Sort 是条件跳转语句,所以在这之前必须要有条件(cmp Change, 0),当没有前面的数比后面的数大时,Chang为0, cmp Change, 0 成立跳出程序结束

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1