微机原理课程设计----打字练习程序.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理课程设计----打字练习程序

打字练习程序 1设计目的 这次课设的任务是写一个程序,运行可执行程序后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘Q’退出。通过课程设计,主要达到以下目的: (1)增进对汇编语言的认识,加强用汇编语言编程的能力; (2)掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等; (3)了解和掌握汇编语言程序设计过程、方法及实现,为以后微机原理课程的学习打下良好基础; (4)通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中; (5)掌握屏幕输出显示的设计方法。 2概要设计 图2-1 主程序流程图 2.1 系统总体分析 根据题目要求可以看到有以下几部分来实现打字练习: (1)由26字母乱序组成一行显示行; (2)字母自动落下; (3)从键盘输入的字母与落下字母相同则该字母消失,并且下一个字母自动接着落下; (4)按下“Esc”键则程序返回到主界面; (5)按空格键游戏暂停; (6)在主界面按“Q”则程序退出。 打字练习的主要功能由以上六部分组成,每一部分之间的联系都是比较紧密的。对于以上几个部分,最主要的部分就是第二三两个部分,这是打字练习的重点,需要详细设计其所需要的功能。 2.2主模块框图及说明 程序的核心模块是打字,各个模块功能的实现主要是通过键盘输入指令来融合的,主要流程是先到主界面,然后选择你想要进行的指令:ENTER进入打字界面开始打字,“Q”退出程序,空格在打字练习时执行暂停的功能,ESC是从打字界面返回到主界面。核心模块的程序流程大体如下面的流程图图2-1。 3详细设计 3.1 主模块及子模块说明 主界面是程序的初始入口,也是其他功能模块的接入点。主模块是打字模块,也是核心模块,主要通过各个键盘符来控制各个子模块之间的协调。子模块分为判断输入字符判断模块(这当中包含两个小的子模块:主界面输入字符判断和打字模块输入字符判断)、暂停模块、退出模块(这当中包含两个小的子模块:打字界面返回主界面模块和主界面退出程序模块)。 3.2 各模块详细设计 3.2.1主界面模块 当程序运行后,我们首先要进行选择,是要继续进行即进入打字练习程序还是终止练习退出程序。所以,在这里我们需要设置一个程序,该程序要判断键盘键入的字符,我们不妨规定ESC键和ENTER键分别为终止程序的控制键和进入打字练习程序的控制键,即当检验到键盘输入ESC后,退出程序;当键盘输入为ENTER时进入打字练习程序。 单元程序如下: ZK db WELCOME TO PLAY THIS GAME!$ no db date:2010/01/11$ meg db Press Enter key to continue...$ meg1 db When a letter is dropping,please hit it!$ meg2 db Press Space key to pause!$ meg3 db Press ESC key to return main interface!$ meg4 db Press letter Q to exit!$ ;设置主界面的显示内容 ... clear_screen 00d,00d,24d,79d ;清屏宏定义 Init_game 00d,00d,0ah,dl,80d,nextsign1 Init_game 24d,00d,0ah,dl,80d,nextsign2 Init_game 00d,00d,0ah,dh,25d,nextsign3 Init_game 00d,79d,0ah,dh,25d,nextsign4 menu 05d,15d,ZK ;菜单信息的宏调用 menu 07h,15d,no menu 09d,15d,meg menu 11d,15d,meg1 menu 13d,15d,meg2 menu 15d,15d,meg3 menu 17d,15d,meg4 put: mov ah,02h ;设置光标位置 mov bh,00h mov dh,22d mov dl,33d int 10h mov ah

您可能关注的文档

文档评论(0)

sanshengyuan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档