student 联系客服

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

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

源代码:

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

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

湖南大学软件学院 31

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

10. 实验十 中断处理程序设计(选做)

1. 实验十:中断处理程序设计。

2. 实验目的:通过上机编程,进一步理解课堂讲授的中断的概念,并掌握在汇编语言

中,处理中断的程序设计方法。 3. 实验要求:

(1) 本实验项目要去通过一个简单的多字符输入和回显的程序,理解和掌握

DOS键盘功能中断调用的实现方法。实验要求从键盘输入一串字符,回显并把字符串存入缓冲区BUF中。 (2) 每人一组,独立完成。

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

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

4. 实验原理及内容:

本实验侧重DOS键盘中断的调用,其他的中断设计方法可以用类似的方法来设计。实验要求从键盘输入一串字符,回显并把字符串存入缓冲区BUF中。

本试验需要调用DOS的中断功能,通过查询DOS的中断调用表,得知本实验所需的 DOS中断为INT 21H,功能号为0A。 在试验中,所使用的BUF缓冲区可以按照以下规定的格式来定义: Buf DB n ;n为缓冲区大小 DB ? DB n DUP(0) 其中,第一字节规定了缓冲区的大小(1-255),由用户设定;第二字节用于存放实际输入的字符数,该值由DOS返回时自动填入;从第三个字节开始存放从键盘输入的字符,直到用户输入回车符为止,并将回车码0DH加在输入字符串的末尾。所以在设置会冲区大小时,应该注意缓冲区要比输入的字符个数多一个,如果输入的字符数超过缓冲区最大长度时,后面的字符被省略,而且响铃直到输入回车符为止。

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

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

本实验重点在于熟悉在汇编语言中中断程序的设计技巧,关键在于了解不同中断的作用和调用方法。

我们以要去的任务为例给出了一个简单的实验流程: (1) 问题分析,算法设计;

(2) 根据算法描述,可以划出程序流程图,如图10-1所示,其中:

入口参数:缓冲区的偏移地址->DX

缓冲区的段地址->DS

调用方法: mov AX,缓冲区的段地址 Mov DS,AX Mov DX,缓冲区的首址的偏移地址 Mov AH,0AH INT 21H

湖南大学软件学院

32

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

图10-1 程序流程图

7. 8.

9.

10.

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

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

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

到正确的结果;

(7) 根据实验过程和实验结果完成实验报告,并按时上交,注意对程序中断部分

放的注释和说明。 注意:

? 程序中给出的DOS中断的调用方法; ? 中断程序的一般实现流程;

实验预习要求:预习有关DOS中断的一些基本知识,了解不同中断号所代表的不同功能。 思考题:

(1) 和前面实验项目中给出的中断相比,DOS中断和BIOS中断有什么相

同和不同的地方?

(2) 通过不同的中断实验项目,可否归纳出对于一般的中断程序设计的一

些基本原则?

评分标准:

(1) 能够正确设计实现要求的任务,结果正确(80%); (2) 实验报告编写认真详细,按时上交(20%)。

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

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

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

湖南大学软件学院

33

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

实验报告:

“实验内容”:填写程序设计实现代码;

“数据记录和计算”和“结论”:填写程序运行结果,把有关中断部分的关键部分

在程序中的变化情况进行说明; “小结”:填写自己的感想。 源代码:

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

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

湖南大学软件学院 34