武汉理工大学《微机原理与通信接口》课程设计说明书
目录
课程设计任务书 ............................................................ 1 摘 要 .................................................................... 2 1 方案论证 ................................................................ 2
1.1题目要求 ........................................................... 2 1.2算法说明 ........................................................... 2
1.2.1输入/输出算法 ......................................................... 3
1.2.2时间计算算法 .......................................................... 3 1.2.3正确率计算算法 ........................................................ 4
1.3理论知识介绍 ...............................................................................................................4
1.3.1 DOS中断与BIOS中断及功能调用 ......................................... 4 1.3.2 宏指令及其应用 ........................................................ 5
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
附录一 中断向量表: .................................................. 22 附录二 打字计时练习程序 .............................................. 23 本科生课程设计成绩评定表 ................................................. 28 成绩评分表 ............................................................... 29
I
武汉理工大学《微机原理与通信接口》课程设计说明书
课程设计任务书
学生姓名: 专业班级: 7
指导教师: 刘劲松 工作单位: 自动化学院
题 目: 打字练习汇编语言程序设计 初始条件:
采用16位微处理器 8086 CPU以及86系列微型计算机的指令系统;
软件设计平台为多功能微型计算机实验软件MFS中的微机原理实验集成环境MF2KP。
要求完成的主要任务:
1、设计汇编语言程序,实现打字练习的功能,具体功能要求如下: (1)屏幕显示一段字符串(10个字符),并开始计时;
(2)按顺序键入字符,输入完成后单击回车键。显示正确率和用时,并进行下一段字符练习;
(3)可进行3组字符串练习,每一组字符串输入正确才能进行下一组练习,难度逐渐提高(提高字符布局难度)。
2、根据功能要求绘制程序流程图、编写完整的汇编语言程序并上机调试: 3、撰写课程设计说明书。课程设计说明书的撰写格式如下:
(1)设计说明书包括封面、任务书(指导老师提供)、正文、参考文献(3~5篇)、附录(程
序清单,要求有注释)、成绩评定表(指导老师提供)。
(2)说明书正文包含总体方案论证(算法说明);程序流程图设计及其说明;软件设计关键问题或程序段落的说明;程序调试说明、结果记录及分析;课程设计收获及心得体会。
(3)同一选题若为合作完成,设计说明书中需注明本人承担的设计部分。
时间安排:
本次课程设计时间:2013年1月7日-16日 具体时间安排见微机原理课设大纲
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月
1
武汉理工大学《微机原理与通信接口》课程设计说明书
摘 要
在IBM-PC系统中,驻留的ROM中有8KB的BIOS。它实现对系统中种种常用设备的输入输出操作的管理。其中的16H中断调用即为键盘输入输出中断调用,实现从键盘输入字符到AL寄存器、读键盘缓冲区字符到AL寄存器、读取特殊功能键的状态等功能。
微机原理及接口技术是计算机和自动化电气等专业重要的基础专业课程之一,不但有较高的理论水平,而且还要求能够将理论应用于实践,提高动手能力。
本次课程设计的主要目的是提高实践能力,包括机器语言的使用,与8086配套的芯片的端口编程手段,ROM及BIOS所能提供的内部程序的功能和调用方法,以及中断处理程序和设备驱动程序的设计方法。
本程序是一个在键盘上练习打字并能统计时间的程序,在缓冲区中预放了一些字母,运行时,可按照屏幕上显示的字母输入练习,每输入完一行按回车键后,可显示出练习输入的时间。通过它练习英文打字练习,并能够统计时间。程序运行时,使用自编的中断向量处理程序。
1 方案论证
1.1题目要求
本次《微机原理与接口技术》课程设计的题目是打字练习汇编语言程序设计,要求在屏幕输出提示信息及一串有十个字符的字符串的同时开始记录系统时间,当输入十个字符后,再次记录系统时间,计算输入字符串的时间,及输入字符串的正确率,并将最终结果显示在屏幕上。只有完全正确才能进入下一字符串的练习,并最后显示赞赏提示信息,否则,继续练习该字符串的输入,直到全部输入正确;一串字符串输入结束后,如果不想继续打字练习,则按‘1’退出打字练习如果想继续进行打字练习,则按任意键进入下一字符串的练习,直到练习完三串字符串,按‘1’退出。
1.2算法说明
打字练习汇编语言程序设计的主要算法是进行时间的计算和正确率的判断,并将
2
武汉理工大学《微机原理与通信接口》课程设计说明书
最后结果显示在屏幕上。
1.2.1输入/输出算法
DOS功能调用的过程为:首先,将DOS功能调用号送入寄存器AH中,其次,如果序言按要求给定输入参数(有的不需要输入参数),最后,写入终端指令INT21H。DOS的输入输出包括单字符输入输出和多字符输入输出。 (1)单字符输入输出算法
单字符的输入,是DOS的01H号功能调用,没有输入参数,输出参数是AL=要输入字符的ASCII码。
单字符的输出,是DOS的02H号功能调用,输入参数为DL=要输出的字符的ASCII码,无数除参数。 (2)多字符输入输出算法
多字符的输入,是DOS的0AH号功能调用,输入参数为DS:DX=输入缓冲区地址,输出参数为DS:DX=输入字符串所在的缓冲区的地址。
多字符的输出,是DOS的09H号功能调用,输入参数为DS:DX=输出字符缓冲区首地址。
1.2.2时间计算算法
计算时间算法的关键是要知道开始计时时的系统时间以及计时结束后的系统时间,两者之差就是输入字符串所用的时间。而调用系统时间,则是利用DOS的功能号为2CH的调用。其功能是:提取系统的时间,其中分别把时、分、秒分别存在寄存器CH、CL、DH里。
而要进行时间的计算,必须进行减法运算,同时要考虑借位问题,该汇编语言编程中只考虑了秒向分的借位。提示信息和第一个字符串显示在屏幕上时,开始第一次读取系统时间,并将CL寄存器的内容(系统时间的分)存入minute中,DH寄存器的内容(系统时间的秒)存入second中;当十个字符输入结束后,开始第二次读取系统时间,系统时间的分和秒分别在寄存器CL和DH中;当两次时间都取到后,开始进行秒的减法运算,由于要显示最后所用的时间,所以用CMP指令,因为该指令有减法的功能,但是并
3
武汉理工大学《微机原理与通信接口》课程设计说明书
不影响运算结果,只是影响标志位。先比较CL寄存器(第二次系统时间的秒)与second(第一次系统时间的秒),如果比较结果是second里的内容小于CL寄存器的内容,则直接进行CL寄存器内容减去second内容;若比较的结果是second里的内容的大于CL寄存器的内容,则在进行了CL寄存器内容减去second内容后,再对运算结果加上60。
1.2.3正确率计算算法
正确率的计算,就是比较输入的字符串与所显示的字符串中对应位正确的个数。具体算法为:用寄存器AL用来统计输入与显示的字符串对应位相同的个数,BX和DI分别指向所给字符串和输入缓冲区,依次比较[BX],[DI]的内容,执行CMP指令后,看执行结果是否为零,如果为零,则表示输入的字符与显示的对应位的字符相同,则寄存器AL的内容应该加一,然后BX,DI均加一,继续比较:若执行CMP指令后,执行结果不为零,则BX,DI均加一,继续下次比较,直到循环十次,然后寄存器AL的内容清零,以便下次计数。
1.3理论知识介绍
1.3.1 DOS中断与BIOS中断及功能调用
目前DOS常用的9类中断(20H-27H和2FH)分为两种:DOS专用中断和DOS可调用中断。
(1)DOS专用中断。DOS专用中断是指INT22H、INT23H和INT24H三个中断,属于DOS操作时专用,用户不要直接使用。
(2)DOS可调用中断。DOS可调用中断是指INT20H、INT21H、INT25H、INT26H、INT27H和INT2FH六个中断。这六个中断都直接供用户直接调用,但都必须要满足一定的入口条件。
由于中断有很多中,本身就比较复杂,所以在这里只是简单的提一下,不做深入研究。只对其中的INT10和INT21两种特别常见且应用广泛的在程序设计过程中结合程序加以说明。
4
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库武汉理工 打字练习汇编语言程序设计 2013版在线全文阅读。
相关推荐: