中断应用程序设计.doc
文本预览下载声明
一、设计内容与设计要求
1.设计内容:通过本周的课程设计,学生能够巩固所学的基础知识,并能够使学生更加熟练运用汇编程序设计语言来掌握综合汇编程序设计的方法和过程,以及为设计其它应用软件提供帮助,进而提高学生的软件设计能力。
1、编制一计算比赛成绩的程序,要求完成以下功能:
(1) 9名评委,每个评委给分范围为0~10(整数);
(2) 9名评委给分中,去掉一个最高分和一个最低分,剩余7名评委的平均分即为参赛者的得分(精确到小数点二位);
(3) 将得分在光标位置处显示出来。
2、编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于30字的grade数组中,各数据的格式为:
学号,成绩1,成绩2,…,成绩5
然后根据grade中的学生成绩,把学生名次填入rank数据组中,并显示出来,格式为:
学号,名次
3、利用INT 1CH(大约每秒中断18.2次)编写一个中断驻留程序,要求在屏幕的右上角显示计算机中当前系统时间,显示格式为
时:分:秒:1/100秒
4、输入一个菱形的两条对角线长,在屏幕上用‘*’号画出一个彩色的菱形。
5、设置图形方式并显示彩条,要求:
选择背景色为蓝色,调色板为0,然后每行显示一种颜色,每四行重复一次,一直到整个屏幕都显示出彩条
2.设计要求:
掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。
设计正确,方案合理。
界面友好,使用方便。
程序精炼,结构清晰。
设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
上机演示。
按学号顺序选课题号,并在规定的时间内独自完成相关课题的C源程序编写、调整和运行。源程序及编译生成各文件均保存在软盘中;
按本任务书的要求,按附录的要求编写《课程设计报告》(Word文档格式)。并用A4的复印纸打印并装订;
二、进度安排
第16 周 :
星期1 上午 8:00- 12:00
星期2 下午 2:00- 6:00
星期4 上午 8:00- 12:00
附:
课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序原代码)。
目 录
一.课题的主要功能 …………………………………………1
二.课题的功能模块划分 ……………………………………1
三.主要功能的实现 …………………………………………2
四.程序调试 …………………………………………………4
五.总结 ……………………………………………………5
六.附件 ……………………………………………………7
一.课题的主要功能
本课题主要是要完成一个中断驻留程序,要求在屏幕的右上角上显示当前系统时间,时间格式为时:分:秒。
完成该课题的系统时间的功能,需要不断的中断以同步显示系统时间,这里我们需要利用INT 1CH,平均每秒中断18.2次,以这样的频率同步显示系统时间足以满足人们的视觉效果。完成系统时间同步的前提,还需要读取系统时间和显示系统时间。
二.课题的功能模块划分
该课题的的功能模块,就是在定义好数据之后,完成读取系统时间和显示系统时间两大模块。包括获取原中断类型,保存原中断类型,设置新的中断类型,执行中断处理程序,应用堆栈保护现场,读取系统时间,然后分别将时间的BCD码转换为字符,在制定内存位置写入时间并显示时间,最后恢复现场,中断返回。
具体功能模块图如下:
该课题,采用调用子程序的思想来完成,主体功能都通过子程序模块完成,中断模块,读取系统时间模块,显示系统模块,现场保护模块及现场恢复模块。通过调用子程序的方法,使本程序更加具有条理性,其中现场保护是为了使寄存器里有用的数据保存起来,让寄存器进行其他运算,现场恢复是使之前保护起来的有用数据恢复,读取系统时间并使屏幕显示的时间与系统时间同步变化,这就不得不使用中断模块,运用INT 1CH,可以平均每秒中断18.2次,足以满足视觉上的同步。
主要功能的实现
这个程序主要是要实现获取系统时间并显示时间。
定好好数据之后,在DOS环境下,用2C号取系统时间的功能,将时赋值给CH,将分赋值给CL,将秒赋值给DH,将1/100
显示全部