汇编设计报告打字计时练习程序.docxVIP

  • 13
  • 0
  • 约1.12万字
  • 约 23页
  • 2023-08-19 发布于江西
  • 举报
汇编语言课程设计报告 ( 2022 -- 2022 年度第 1 学期) 课题名称: 打字计时练习程序 II 汇编语言程序设计课程设计(2022) 目 录 1 设计目的 1 2 概要设计 1 2.1 系统总体分析 1 2.2 主模块框图 2 3 详细设计 2 3.1 主模块及子模块说明 2 3.2 各模块详细设计 3 3.2.1 主界面模块 3 3.2.2 中断处理模块 3 3.2.3 打字计时模块 5 4 程序调试 8 4.1 运行界面分析 8 4.2 调试过程及分析 10 5 心得体味 10 5.1 设计体味 10 5.2 系统改进 11 参考文献 12 附 录 13 附录 1 源程序清单 13 附录 1.1 打字计时练习模块源程序 13 1 汇编语言程序设计课程设计(2022) 打字计时练习程序 1 设计目的 这次课程的任务是写一个在键盘上练习打字并能统计时间的程序, 运行可执 行程序后,按回车键浮现主界面,进入英文打字练习并计时,通过课程设计,主 要达到以下目的: 1.增进对汇编语言的认识,加强运用汇编语言编程的能力; 2.掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种调用功能,并 由此实现对硬件的控制等; 3.了解和掌握汇编语言程序设计过程、方法及实现,为以后微机原理课程的学习 打下坚实的基础; 4.通过课程设计可以使我们更加了解书上的知识, 了解书上的语句并能用到自己 的程序设计中; 5.掌握屏幕输出显示的设计方法。 2 概要设计 2.1 系统总体分析 在缓冲区中预放了一些字母,运行时,可按照屏幕上显示的字母输入练习, 每输入完一行按回车键后, 可显示出练习输入的时间。 当一个句子输入完后 (回 车键作为结束符),屏幕上以 min:sec:msec 的格式显示出键入字符的时间。 在每 次打字之前, 屏幕上先显示一个例句, 然后打字员按照例句, 将句中字符通过键 盘输入。 这个过程共进行五次, 当键入一个 Enter 键时, 退出打字计时练习程序。 在键盘上联系的打字例句及其地址表、计时单位等预放在DATA数据段中。 自编的中断程序 Kbint 检测按键时产生的中断,并把按键扫描码转换为ASCII 码 存入缓存区 BUFFER (内存中的一个区域),这个工作和 EOM 09 类型的键盘中 断例行程序所完成的工作大致相同,只是在解释各个键时做了简化,即只解释了 可显示字符(如英文小写字母、数字及一些字符,) 其他特殊键(如组合键、双态 键、功能键等)都未做解释,只做字符码 0 来处理。在主程序部份保存原有 09 类型的中断向量,设置自编例行程序的中断向量,设置中断屏蔽位,然后开中断。 当键盘中段处理后,主程序安排指令读取缓存区中的字符并显示在屏幕上。在主 程序的末尾,利用 DOS 功能恢复原 09 类型的中断向量,然后返回 DOS。在显 2 汇编语言程序设计课程设计(2022) 示键入的字符时,还应判断字符是否为回车符 DH)。如为回车符,说明一个句 子输入完毕, 此时调用显示时间的子程序显示打字时间, 然后顺序显示一个例句。 如果所存放的例句都已显示完毕,则再次从第一个例句开始显示,直至键入某个 功能(如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.2 主模块框图 程序的核心模块是打字计时, 通过显示的例句进行打字练习, 最后显示出运行时间, 主 体流程图如下: a.建立汇编原程序—通过———→b。编译为目标文件— ↓——→d.连接为可执行文件 ↑

文档评论(0)

1亿VIP精品文档

相关文档