语言程序设计打字练习程序简析.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言课程设计报告 ( 2014 -- 2015 年度第 1 学期) 专业 xxx 学生姓名 xxxx 班级 xxx 学号 xxxx 指导教师 xxx 完成日期 xxxxx 目录 1.设计目的与设计要求 2.程序流程图 6 2.1主程序流程图 6 2.2时间计算流程图 7 2.3正确率计算流程图 8 3.设计关键问题 10 3.1输入输出 10 3.1.1 输出显示信息 10 3.1.2 输入十个字符 12 3.2 输入字符串所用时间计算 12 3.3 正确率判断 14 4.调试运行结果分析 15 参考文献 21 附录二 打字计时练习程序 24 一.设计目的 本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基 础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程 序设计方法,提高分析问题,解决问题的综合应用能力。 设计要求 在缓冲区预放了一些字母,运行时,可按照屏幕上显示的字母输入练习, 每输入完一行按回车键后,可显示出练习输入的时间。 设计思路 系统总体分析 在缓存区预放了一些字母,运行时可按照屏幕上显示的字母输入练习,每输入完一行按回车键后,可显示出练习输入的时间。当一个句子分析完后(回车键作为结束符),屏幕上以min:sec:msec的格式显示出键入字符的时间。在每次打字之前,屏幕上先显示一个例句,然后打字员按照例句,将句中字符通过键盘输入。这个过程共进行五次,当键入一个enter键时,推出打字计时练习程序。 在键盘上联系的打字例句及其他地址表,计时单位等预存在DATA数据段中。自编的中断程序Kbint检测按键时产生的中断,并将按键扫描码转换为ASCII码存入缓存区BUFFER(内存中一个区域),这个工作和EOM09类型的键盘中断例行程序所完成的工作大致相同,只是在解释各个键时作了简化,即只解释了可显示字符(如英文小写字母,数字及一些字符),其他特殊键(如组合键,双态键,功能键),都未做解释,只做字符码0来处理。在主程序部分保存原有09类型的中断向量,设置自编例行程序的中断向量,设置中断屏蔽位,然后在开断。当键盘中断处理后,主程序安排指令读取缓存区中的字符并显示在屏幕上。在主程序的末尾,利用DOS功能恢复原09类型的中断向量,然后返回DOS。在显示键入的字符时,还应判断字符是否为回车符。说明一个句子输入完毕,此时调用显示时间的子程序显示打字时间,然后顺序显示一个例句。如果所存放的例句都已显示完毕,则再次从第一个例句开始显示,直至键入某个功能(如ESC键等)退出程序,结束打字练习。打字时间统计利用自编的计时器中断处理程序Clint来完成。每输入一个例句,计时一次。在此中断例行程序中,定时器中断的次数记录在计数单位count中,当count的计数单位为18 时,sec计数单位加1,当sec计数值达到60时,min计数单位加1,因为输入一个句子无论如何不会达到小时级,所以hours计数值得调整判断,实际上只起到退出计时器的作用。 加入一个显示菜单程序,使得原来的程序具有观赏性;显示时间的子程序disptime分别将各计时单位的二进制数转化为十进制,并以min:sec:msec的形式出来。其中msec是由count中的计数值转化成的。 Count*1s/18.2=count*55ms 此式中,18.2是计算机系统中产生的一个中断,每秒18.2次。 2. 主模块框图 程序的核心模块是打字计时,通过显示的例句进行打字练习,最后显示打字时间,主题流程图如下: a. 建立汇编源程序—通过 b.编译为目标文件——d.连接执行文件 c.不通过,重新修改(语句错误) e.运行 f.不正确,用调试工具调试,重新修改(逻辑错误) g.正确完成 2程序流程图 2.1主程序流程图 、 图1 主程序流程图 主程序的流程图如图1所示: 说明:首先定义堆栈段,数据段,代码段等,初始化。显示提示信息提示打字练字的规则,说明如何开始,如何退出等。显示出字符串后,开始读取系统时间并保存。然后输入字符串存到指定的缓冲区。输入结束后,再次读取系统时间,并由两次所读取的时间计算出输入字符串所用的时间并显示。调用正确率计算函数,并显示在屏幕上。看输入字符串对应位正确的个数是不是十个,如果是十个,则继续往下,看输入的是

文档评论(0)

123****6648 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档