1、 1 汇编语言课程设计 设计题目: 指法练习 2 汇编语言课程设计报告 - 一、课程设计目的 课程设计使学生更进一步理解和掌握汇编语言知识、程序设计的方法和技巧,使 学生能够使用汇编语言分析、设计中小型程序的能力。 通过课程设计,有助于学生更好的了解整个课程的知识体系,锻炼学生运用本课 程的知识解决更复杂的实际问题的能力,从而为后续课程的学习、毕业设计以及将来 的实际工作打好坚实的基础。 二、设计题目 指法练习 三、 设计要求 1、从屏幕上方以一定的时间间隔随机落下可显示字符,字符的出现位置亦是随机 的; 2、在多个字符下落的过程中可输入任意键,若键入与其中的任意一个字符相匹配 的键,则该字符
2、高亮显示并发出蜂鸣声,同时计分; 3、按 ESC 键结束练习并显示命中率; 4、再次按 ESC 键退出。 四、设计环境 硬件 :PC 机, 软件 : masm5.0 五、设计分析 指法练习,是在屏幕上以一定的时间间隔随机的下落一写字符,我在程序中的设 计方法是从屏幕的第一行开始显示一个字符,然后在用一个时间延时函数延时一段 时间,再在此位置显示空格字符,延时后在同一列的下一行显示原字符,如此循环,中 间如果有输入正确的字符,则,循环停止, 并同时将此字符高亮显示,方法是改变此字 符的属性,并将 score 加 1,然后光标移到第一行还是新的循环.若输入中间字符不正 确,循环到 21 行时,则扬
3、声器发出蜂鸣声,同时 life 减 1. 设计中要求每次下落的字符是随机的,我在程序中的设计方法是取系统时间 1/100 秒,然后将此时间模取 26,将得到余数加上 61,将此作为输出字符的 ASCLL码, 如此循环 78 次,将这些字符存入 letter 缓冲区,并在屏幕最上方显示出来.开始下落的 字母的位置也是随机的,同样取系统时间,由于一行最多只能有 78 个字符,所以当取 的时间大于等于 78 时,应减去 78,将得到的结果作为取字符的位置,此种随机虽然不 是很严谨,但用在此程序中还是很不错的. 题目中还要求计算命中率,由于在游戏开始的同时开始了记分,所以在结束游戏 时,将得分和错误统
4、计出来,很容易计算出命中率,这里就不做多余的叙述. 在题目的要求的基础上,我还给游戏增加了几个难度,其实也很简单,就是控制 字母下落的速度,方法是改变每次字符显示的时间间隔,这样从屏幕上看,字母下落 3 就会有快慢. 六、程序的模块 程序设计时,我没有分模块,只有实现个别功能的几个子程序,分别是发声程序, 延时程序,和命中率计算与显示程序,这在原代码中均有注释,在此就不在详细叙述. 七、课程设计心得 由于课程设计开始的比较早,所以有时间去准备.开始时在网上看了一些资料和 例子,搞清楚了程序设计的基本原理.最开始不明白的地方就是如何让字符下落,后 来发现就是不停的在屏幕的不同位置显示该字符,加以延时,看起来就像是字符不 断的从上面掉下来. 随机问题也是本程序的一个难点,看过资料后知道汇编中没有现成的完美的随 机函数.所以我就想到取系统时间来制造随机数,因为时间时刻都在变化,而且打字 的时间也不一定,结果游戏的随机性还不错,呵呵 这学期汇编的学习,自己感觉还不错,平时也练习了不少.从汇编程序的学习中, 我觉得自己突然一下子明白了一般程序设计的原理,看程序时,不再感觉茫然,自己