收藏 分享(赏)

计算机组成原理实验3.doc

上传人:fcgy86390 文档编号:6988653 上传时间:2019-04-29 格式:DOC 页数:5 大小:965.50KB
下载 相关 举报
计算机组成原理实验3.doc_第1页
第1页 / 共5页
计算机组成原理实验3.doc_第2页
第2页 / 共5页
计算机组成原理实验3.doc_第3页
第3页 / 共5页
计算机组成原理实验3.doc_第4页
第4页 / 共5页
计算机组成原理实验3.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实验三 循环程序实验一、实验类型设计性实验二、实验目的与任务1. 实现内存数据访问。2. 练习使用循环结构,实现数据排序。三、预习要求1. 预习并掌握循环结构语句控制,实现循环结构的基本指令包括:LOOP、LOOPE/Z、LOOPNE/NZ,亦可采用条件转移指令实现循环。2. 预习并掌握循环嵌套、多重循环的基本结构。3. 熟悉排序的基本实现方法,包括选择排序法、冒泡排序法等。四、实验基本原理1. 多重循环循环的嵌套:在一个循环体内又完整地包含另一个循环。(1)在循环嵌套中,内外循环不得交叉;(2)在循环语句与条件转向语句或无条件转向语句联合使用时,可以循环体内转到循环体外,不允许从体外转到体内

2、。多重循环时,可以从内循环体转到外循环体,不允许从外循环转入内循环体。多重循环结构如图所示:典型程序段如下:示例 1:示例 2:2. 排序方法(1) 冒泡法这种方法的算法思想为:1)从最后一个数(或第一个数)开始,依次把相邻两个数进行比较,即第 N 个数与第 N-1 个数比较,第 N-1 个数与第 N-2 个数比较等,若前者大(第 N-2 个数大于第 N-1 个数) ,则两者交换,否则不交换,直到 N 个数的相邻两个数都比较完为止。此时,N 个数中的最小数将被排在 N个数的最前列。2)对剩下的 N-1 个数重复第一步,找到 N-1 个数中的最小数。3)重复第二步,直到 N 个数全部排序好为止。

3、 (2) 选择法这种方法的算法思想相当于 N 个数中选最小值的重复进行。第一趟,第一个元素依次和其他所有元素比较,谁小谁往第一位换,经过一趟选择即选出最小值。下一趟,剩余的元素重复前面的过程,N 个元素经过 N-1 趟选择即全部排好。五、实验内容1. 用两种方法实现对五个字从大到小排序。2. 在实现上述基本功能的基础上,尝试用冒泡法实现快排。六、实验步骤1、利用冒泡法实现对五个字的从大到小排序。(1)选择新建一个.COM 类型的文件。(2)在编辑界面中,键入如下图所示参考代码并理解代码含义。(3) 点击工具栏的【模拟】按钮,进入调试窗口,单击源代码窗口中变量定义语句,在汇编窗口中找到变量对应的

4、内存分配单元地址,单击【附加】按钮,选择【内存】打开查看内存窗口,相关界面如下图所示: 在内存窗口左上角的文本框中变量对应段地址:偏移地址(如图所示,本程序变量 num 内存地址为0100:001D ) ,特别注意,不同程序不同的变量定义汇编后对应的内存地址是不一样的,请观察后再键入。键入地址后敲回车或点击【刷新】按钮,即可看到变量对应内存单元的情况。(4)单步调试并观察寄存器和内存的变化情况,如下图所示为利用冒泡法实现了5个字的从大到小排序的运行结果。2、尝试利用选择法实现对五个字的从大到小排序。 (相关参考程序见附录 3-2)3、在冒泡排序中,当遇到某次排序过程中,无需数据交换的情况时,说明数据已按要求排好序,可提前结束以加快排序速度。设计程序实现冒泡法快排。4、亦可尝试其他方法实现数据排序,题目自拟。附录 3-2.asmmov cx, lenmov si, offset num lp1:push cxpush si mov ax, silp2:add si, 2cmp ax, sijae j1xchg ax, sij1:loop lp2 pop simov si, axadd si, 2pop cxloop lp1 jmp $ len equ 5-1num dw 1,2,3,4,5

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报