汇编语言打字练习程序设计:计时与中断处理

2星 需积分: 9 25 下载量 61 浏览量 更新于2024-08-02 2 收藏 209KB DOC 举报
"这篇文档是关于一门汇编语言课程设计的项目,名为‘打字计时练习’。项目目标是创建一个程序,用户可以在键盘上练习打字,并且程序能够统计打字时间。设计思路涉及使用中断程序检测键盘输入,转换扫描码为ASCII码,并在屏幕上显示输入的字符。此外,程序还包含一个计时模块,用于计算用户完成每个句子的时间,采用自定时器中断处理来实现。当用户输入回车表示完成一个句子时,程序会显示打字时间,并进入下一个句子的练习。如果所有句子都已练习过,程序会重新开始。用户可以通过特定功能键(如Esc或Shift键)退出。" 在此次课程设计中,学生需要掌握以下几个核心知识点: 1. **汇编语言编程**:学生需熟悉汇编语言,理解指令集和数据段的概念,以便编写处理键盘中断和计时的程序。 2. **中断处理**:设计自编中断程序`kbint`,模拟ROM09键盘中断例程,但仅处理可显示字符的ASCII码,忽略其他特殊键。中断向量的管理和中断屏蔽位的设置是关键。 3. **键盘输入处理**:学生需编写代码读取缓冲区中的字符,检查回车键以识别句子的结束,并调用显示时间的子程序。 4. **计时系统**:利用自定时器中断处理程序`clint`,每当输入完一个句子,中断计数并更新分钟和秒的计数。设计中计数器的阈值设置为18次中断代表1秒,60秒后增加分钟计数。 5. **时间显示**:子程序`disptime`将二进制时间转换为十进制,并以分钟:秒:毫秒的格式呈现。 6. **DOS功能调用**:在程序开始和结束时,使用DOS功能恢复和设置键盘中断向量,确保程序启动和退出的正确性。 7. **系统资源管理**:了解如何利用系统资源,如数据段的预置和内存管理,以及如何在程序执行过程中保持系统的稳定。 通过这个课程设计,学生不仅提升了汇编语言的实际应用能力,也学习了如何查找和利用设计资料,锻炼了分析问题和解决问题的能力。同时,对计算机系统的内部工作原理有了更深入的理解,为后续的学习和系统开发打下坚实的基础。