资源描述:
《汇编语言课程设计报告-打字练习程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、提供全套毕业设计,欢迎咨询汇编语言课程设计报告程序题目:打字练习程序学生姓名:XX班级:2010级计算机科学与技术专业4班学号:XXX院系:计算机科学学院指导教师:XXXII目录1设计目的32概要设计32.1系统总体分析32.2主模块框图及说明43详细设计53.1主模块及子模块说明53.2各模块详细设计53.2.1主界面模块53.2.2随机字母产生模块73.2.3字母落下模块93.2.4暂停模块104.程序调试114.1运行界面分析114.2调试过程及分析135心得体会135.1设计体会135.
2、2系统改进13参考文献14附:程序源代码14II陕西师范大学汇编语言课程设计实验报告1设计目的本程序运行后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E’退出。通过课程设计,主要达到以下目的:1. 增进对汇编语言的认识,加强用汇编语言编程的能力;2. 掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等;3. 了解和掌握
3、汇编语言程序设计过程、方法及实现,为以后微机原理课程的学习打下良好基础;4. 通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中;5. 掌握屏幕输出显示的设计方法。2概要设计2.1系统总体分析根据题目要求可以看到有以下几部分来实现打字练习:1.由26字母乱序组成一行显示行。2.字母自动落下。3.从键盘输入的字母与落下字母相同则该字母消失,并且下一个字母自动接着落下。4.按下“Ese”键则程序返回到主界面。5.按空格键游戏暂停。6.在主界面按“E”则程序退出。打字练习
4、的主要功能由以上六部分组成,每一部分之间的联系都是比较紧密的。对于以上及部分,最主要的部分就是第二三两个部分,这是打字练习的重点,需要详细设计其所需要的功能。—22—陕西师范大学汇编语言课程设计实验报告2.2主模块框图及说明结束随即字母落下当前字母消失暂停判断输入按键键入字符是否与下落一致是否是空格开始输入空格是否是ESCE其他键ENTERENTER从键盘输入字符是否是是否是是图2-1程序设计流程图—22—陕西师范大学汇编语言课程设计实验报告程序的核心模块是打字,各个模块功能的实现主要是通过键盘
5、输入指令来融合的,主要流程是先到主界面,然后选择你想要进行的指令ENTER进入打字界面开始打字,E退出程序,空格在打字练习时执行暂停的功能,ESC是从打字界面返回到主界面。核心模块的流程大体如下面的流程图图2-1:3详细设计3.1主模块及子模块说明主界面是程序的初始入口,也是其他功能模块的接入点。主模块是打字模块,也是核心模块,主要通过各个键盘符来控制各个子模块之间的协调。子模块分为判断输入字符判断模块(这当中包含两个小的子模块:主界面输入字符判断和打字模块输入字符判断)、暂停模块、退出模块(这
6、当中包含两个小的子模块:打字界面返回主界面模块和主界面退出程序模块)3.2各模块详细设计3.2.1主界面模块当程序运行后,我们首先要进行选择,是要继续进行即进入打字练习程序还是终止练习退出程序。所以,在这里我们需要设置一个程序,该程序要判断键盘键入的字符,我们不妨规定ESC键和ENTER键分别为终止程序的控制键和进入打字练习程序的控制键,即当检验到键盘输入ESC后,退出程序;当键盘输入为ENTER时进入打字练习程序。单元程序如下:datasegmentZKdb"HELLO,WELCOMETOHE
7、RE!$"nodb"MynameisXX,mystudentnumberis:XX.$"megdb"Press'ENTER'keytocontinue.......$"—22—陕西师范大学汇编语言课程设计实验报告meg1db"Whenaletterisdropping,pleasehitit!$"meg2db"Press'SPACE'keytopause!$"meg3db"PressESCkeytoreturnmaininterface!$"meg4db"Pressletter'E'toexit
8、!$";以上设置主界面的显示方式。clear_screen00d,00d,24d,79dInit_game00d,00d,0ah,dl,80d,nextsign1Init_game24d,00d,0ah,dl,80d,nextsign2Init_game00d,00d,0ah,dh,25d,nextsign3Init_game00d,79d,0ah,dh,25d,nextsign4menu05d,15d,ZK;菜单信息的宏调用menu07h,15d,nomenu09d,15d,megmenu11