student 联系客服

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

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

图3-1 程序流程图

7. 实验预习要求:认真学习相关的汇编指令的使用要去。 8. 思考题:

(1) 如何扩展寄存器的表示范围?

(2) 对于不同的指令,所涉及到的寄存器是不同的,是否有些规律? (3) 试着对输出部分的代码进行编写。 注意:思考题不做硬性要求。 9. 评分标准:

(1) 正确实现表达式的求值程序,要求要用到相关的加减乘除指令(80%); (2) 实验报告编写认真详细,并给出详细的注释,按时上交(20%)。 10. 实验报告:要求提交1份实验卡、1份实验报告、源程序代码(电子档)。

实验卡:

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

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

“实验内容”:填写算法实现代码并给出程序流程图; “数据记录和计算”:填写实验结果;

“结论”:对所使用的汇编指令给出一个比较详细的归纳总结,并给出相关指令

的使用特点;

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

湖南大学软件学院

15

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

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

交(包名中应含有学号)。 湖南大学软件学院 16

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

4. 实验四 分支程序设计(选做)

1. 实验四:分支程序设计。

2. 实验目的:通过上机编程,熟悉利用汇编语言设计不同种类分支程序的方法,掌握

汇编语言中实现分支程序的相关汇编指令。 3. 实验要求:

(1) 设计并实现一个求解一组无符号字节序列中的最大值和最小值的汇编程序; (2) 每人一组,独立完成;

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

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

4. 实验原理及内容:

在实际问题中,需要对不同情况做不同的处理,这就需要使用到分支结构。汇编语言中的分支程序是利用条件转移指令或者跳转表,使程序在执行到某条指令后,根据运行结果是否满足一定条件来改变程序执行的顺序,然后执行不同的条件下对应的指令。如果进行的是逻辑分支,可以用每次分两支的方法来达到程序多分支的目的。一般而言,分支程序的结构通常有三种形式:不完全分支、完全分支和多分支,如图所示:

在本实验中,我们以求解一组无符号字节序列中的最大值和最小值的问题进行讲解分支程序的设计和实现。最终结果是序列中的最大数和最小数,我们可以将寄存器BX

湖南大学软件学院 17

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

的高位和低位分别用于存放最大数和最小数,然后,将序列中的两个数存入其中,再将序列中的其他数分别与BH和BL中的数进行比较,如果大于BH或者小于BL,则将寄存器中的数用当前取出的数进行替换,完全比较之后,BH和BL中数即为整个序列中的最大数和最小数。

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

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

本实验重点算法的理解以及相关指令的灵活应用。 (1) 分析问题,设计算法。;

(2) 根据上述算法,编制程序流程图,如图4-1所示;

图4-1 程序流程图

(3) 根据流程图,编写实现代码; (4) 程序汇编为目标文件.obj。

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

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

到正确的结果。

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

注意:在程序设计中,注意相关的寄存器的用途,如CX的作用,SI的作用,以及汇编语言中,一个寄存器的高低位可以分开使用的特点。

湖南大学软件学院

18