student 联系客服

发布时间 : 星期日 文章student更新完毕开始阅读

计算机组成与结构实验指导书

7. 实验预习要求:预习相关的汇编语言指令,着重是理解相关寄存器的特定用途,如:

SI、CX等,以及寄存器的高低位可以分开使用的特点。 8. 思考题:

(1) 总结汇编语言中的寄存器分为那几类,每类各有什么特点? (2) 总结汇编语言中如何利用相关指令实现分支程序设计?

9. 评分标准:

(1) 正确的设计和实现从一组数中挑选出最大值和最小值,能够正确的使用相关

的寄存器(SI和CX),实验结果正确(80%); (2) 实验报告编写认真详细,按时上交(20%)。

10. 实验报告:要求提交1份实验卡、1份实验报告、源程序代码(电子档)。

实验卡:

“组别”:填写自己的学号;

“实验数据记录”:填写自己程序的运行结果。 实验报告:

“实验内容”:填写实验项目的代码以及程序流程图;

“数据记录和计算”和“结论”:实验结果和实验过程中的关键变量的值变化情

况;

“小结”:填写自己的感想。 源代码:

? 提交源程序时应提交整个文件夹,包括asm文件、obj文件、exe文件等; ? 文件夹的命名规则请按照实验要求设定,然后将整个文件夹压缩打包后提

交(包名中应含有学号)。

湖南大学软件学院 19

计算机组成与结构实验指导书

5. 实验五 循环程序设计(选做)

1. 实验五:循环程序设计。

2. 实验目的: 通过上机的编程,掌握汇编语言中实现循环的常用指令组合;掌握汇

编语言中不同种类循环程序设计的基本方法。 3. 实验要求:

(1) 本实验项目要求利用汇编语言实现对一组数的“冒泡法”排序。 (2) 每人一组,独立完成。

(3) 根据实验目的,认真完成实验中给出的任务;根据实验过程和结果,完成实

验报告并及时上交相关文档;在实验报告中应认真写出自己的实验心得和体会;鼓励同学进行交流,但是禁止抄袭!

4. 实验原理及内容:

循环结构是一种常见的程序结构,在汇编语言程序设计中也经常用到,是一种基本的程序设计结构。循环结构一般是根据某个条件为真或者假来判断是否需要继续执行循环体。循环结果一般包括如下3个部分:

循环初始部分:一般是为循环作准备的部分,如:设置循环计数器等;

循环体部分:是需要被重复执行的部分,包括循环工作部分和修改部分,其中修改部分一般是和循环条件相关的,规律性地修改循环条件;

循环控制部分:主要是判断循环条件是否成立,决定是否需要继续进行循环等。 本实验要去实现“冒泡法”排序,在实验过程中,要利用汇编语言实现一个多重循环的程序。对这个问题,可以分析如下:假设在以BUF为首地址的存储区中存放有N个符号数。“冒泡法”排序的基本思路是:从第一个数开始依次对相邻2个数进行比较,如果前面的数比后面的数大,则交换位置(即大数沉入下面),否则,不就交换二者位置。这样,第一次排序后,最大的数已经放到了最后一个位置,第二次排序后,次大的数已经放在了倒数第二的位置上,继续下去,直到最后,经过N-1次排序后,所有的N个数将按照由小到大的顺序排列。

5. 实验软硬件环境:奔腾系列机器,操作系统为Dos或者Windows系列,相关的汇

编语言编译工具(MASM、LINK和DEBUG)以及集成编译器。 6. 实验步骤和方法:

本实验重点在于对“冒泡法”这种典型的排序算法的理解,在此基础之上,熟悉汇编语言中循环程序中所涉及到的相关指令。

(1) 分析问题,设计算法;

(2) 根据上述算法,编制程序流程图,如图5-1所示; (3) 根据流程图,编写实现代码; (4) 程序汇编为目标文件.obj;

(5) 目标文件.obj链接为可执行文件.exe;

(6) 使用Debug调试运行程序,设置断点,查询相关寄存器内容,调试直至得

到正确的结果;

(7) 根据实验过程和实验结果完成实验报告,并按时上交。 注意:

? 在汇编语言中,数组名所代表的含义; ? 在汇编语言中,标号的使用;

? 在汇编语言中,不同跳转指令的含义;

湖南大学软件学院 20

计算机组成与结构实验指导书

图5-1 程序流程图

7. 实验预习要求:提前预习汇编语言中的相关跳转指令,以及在数据结构中“冒泡法”

排序的基本原理。 8. 思考题:

(1) 程序中为了实现“冒泡法”需要设定几个变量;

(2) JGE/JNE等这些跳转指令有那些细微的不同,可否归纳一下如何记忆

这些不同点;

9. 评分标准:

(1) 能正确设计和实现用汇编语言编写的“冒泡法”程序,运行结果正确(50%); (2) 能够设计合理正确的输入/输出模块(30%); (3) 实验报告编写认真详细,按时上交(20%)。

湖南大学软件学院

21

计算机组成与结构实验指导书

10. 实验报告:要求提交1份实验卡、1份实验报告、源程序代码(电子档)。

实验卡:

“组别”:填写自己的学号;

“实验数据记录”:填写程序运行结果。 实验报告:

“实验内容”:项目实现代码以及程序流程图;

“数据记录和计算”:输出结果和关键变量的变化情况;

“结论”:给出在汇编语言中如何用相关指令实现循环程序的一些经验; “小结”:填写自己的感想。 源代码:

? 提交源程序时应提交整个文件夹,包括asm文件、obj文件、exe文件等; ? 文件夹的命名规则请按照实验要求设定,然后将整个文件夹压缩打包后提

交(包名中应含有学号)。

湖南大学软件学院 22