- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
打字练习有完好的汇编程序和流程图
武汉理工大学《微机原理与通信接口》课程设计说明书
PAGE
PAGE 5
1 设计目的
这次课设的任务是随机显示一段字符(可含有字母和数字),根据屏幕显示进行打字练习,出错时声响报警,打字完成后统计正确率和打字时间。通过课程设计,主要达到以下目的:1.?增进对汇编语言的认识,加强用汇编语言编程的能力;
2.?掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等;
3.?了解和掌握汇编语言程序设计过程、方法及实现,为以后微机原理课程的学习打下良好基础;
4.?通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中;5.?掌握屏幕输出显示的设计方法;
6.掌握产生随机数的方法
2 理论知识介绍
2.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两种特别常见且应用广泛的在程序设计过程中结合程序加以说明。
2.2 宏指令及其应用
宏指令是源程序中具有独立功能的一段程序代码,它可以根据用户的要求,由用户自己在源程序中定义。宏指令一经定义,便可以在以后的程序中多次调用。宏定义有MASM宏汇编程序提供的伪指令实现。其格式为:
宏指令名 MACRO 形式参数
... ...
... ...
ENDM
其中,MACRO和ENDM均为伪指令,它们必须成对的出现在源程序中。且必须以MACRO作为宏定义的开头,而以ENDM作为宏定义的结尾。MACRO和ENDM之间为宏体,是宏指令功能的实体。宏指令名是为宏指令起的名字,以供在源程序中调用该宏指令时用。形式参数(也称虚拟参数)的设置增强了宏指令的功能,使其更加灵活。形式参数的设置可根据需要而定。可用一个或多个(最多不超过132个),也可以没有。当有多个形式参数时,参数之间必须用逗号隔开。
宏调用的格式为
宏指令名实际参数
这就是说,只要在源程序的操作码域写上已定义过的宏指令名也就算是调用该宏指令了。若宏定义时该宏指令有形式参数,还必须在源程序的操作数域写上实际参数,以便和形式参数一一对应,若宏定义时该宏指令没有形式参数,则操作数域便不用写实际参数。具有宏调用的源程序被汇编时,每个宏调用将被MASM进行宏展开。宏展开实际上是用宏定义时设计的宏体去代替相应宏指令名,并且用实际参数一一取代形式参数,已形成符合功能且能够实现、执行的程序代码。实际参数的个数应该与形式参数的个数相等,且一一对应。若二者的个数不等,无论是形式参数还是实际参数多,汇编程序在完成它们的一一对应关系后,将多余的形式参数做“空”处理,而对多余的实际参数不予考虑。
开始3 程序流程图
开始
其他键
判断输入按键
判断输入按键
ESC
产生字符序列 ENTER
产生字符序列
读取键入字符并存有输入字符数的寄存器加一
读取键入字符并存有输入字符数的寄存器加一
判断键入字符是否与输出序列一致
判断键入字符是否与输出序列一致
否
是
调用报警程序存有正确数的寄存器加一
调用报警程序
存有正确数的寄存器加一
判断本段字符是否输入完毕
判断本段字符是否输入完毕
是
否
结束
结束
图3.1 程序设计流程图
4 对分支程序模块的分析设计
4.1选择是否进入打字练习界面的程序单元
当程序运行后,我们首先要进行选择,是要继续进行即进入打字练习程序还是终止练习退出程序。所以,在这里我们需要设置一个程序,该程序要判断键盘键入的字符,我们不妨规定ESC键和ENTER键分别为终止程序的控制键和进
文档评论(0)