计算机组成原理实验3.doc_第1页
计算机组成原理实验3.doc_第2页
计算机组成原理实验3.doc_第3页
计算机组成原理实验3.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验三 循环程序实验一、实验类型设计性实验二、实验目的与任务1. 实现内存数据访问。2. 练习使用循环结构,实现数据排序。三、预习要求1. 预习并掌握循环结构语句控制,实现循环结构的基本指令包括:LOOP、LOOPE/Z、LOOPNE/NZ,亦可采用条件转移指令实现循环。2. 预习并掌握循环嵌套、多重循环的基本结构。3. 熟悉排序的基本实现方法,包括选择排序法、冒泡排序法等。四、实验基本原理1. 多重循环循环的嵌套:在一个循环体内又完整地包含另一个循环。(1)在循环嵌套中,内外循环不得交叉;(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个数全部排序好为止。 (2) 选择法这种方法的算法思想相当于N个数中选最小值的重复进行。第一趟,第一个元素依次和其他所有元素比较,谁小谁往第一位换,经过一趟选择即选出最小值。下一趟,剩余的元素重复前面的过程,N个元素经过N-1趟选择即全部排好。五、实验内容1. 用两种方法实现对五个字从大到小排序。2. 在实现上述基本功能的基础上,尝试用冒泡法实现快排。六、实验步骤1、利用冒泡法实现对五个字的从大到小排序。(1)选择新建一个.COM类型的文件。(2)在编辑界面中,键入如下图所示参考代码并理解代码含义。(3) 点击工具栏的【模拟】按钮,进入调试窗口,单击源代码窗口中变量定义语句,在汇编窗口中找到变量对应的内存分配单元地址,单击【附加】按钮,选择【内存】打开查看内存窗口,相关界面如下图所示: 在内存窗口左上角的文本框中变量对应段地址:偏移地址(如图所示,本程序变量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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论