




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学微机原理与接口技术课程设计说明书打字计时练习1设计目的通过课程设计,主要达到以下目的:1.使学生增进对汇编语言的认识,加强用汇编语言编程的能力。2.使学生掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断 调用功能,并由此实现对硬件的控制等。3.使学生了解和掌握汇编语言程序设计过程、方法及实现,巩固微机原理课程上学到的知识。4.通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中.5.进一步掌握屏幕输出显示的设计方法.2设计思想题目的要求是通过系统时钟得到输入30个字符所需的时间间隔,并在屏幕上显示输入字符和时间间隔。用汇编语言实现打字程序的思想,首先用指针保存30个测试用的字符,接着用DOS的21H中断类型的09H功能显示字符串来显示主界面;调用DOS的21H的01H功能,接受从键盘输入的第一个字符字符,然后调用DOS的21H的2cH功能获取系统时间,将系统时间存入TIMEBUFF中。接着将输入的剩余29个字符放在循环中,待输入30个字符完毕后再次调用DOS的21H的2cH功能获取系统时间,将此次的时间运算后放入dx中,将开始输入的时间放入ax中,将两次的时间差放入cx中,其中ch放秒钟十位,cl放个位。调用比较输入的字符是否正确的函数,通过DOS的21H的02H功能调用显示输入的字母和其中输错字母的个数,然后显示时间间隔。调用DOS的21H中断类型的07H,当接下来输入如果是”q”就退出,是其他字符就清空错误的数目还有30个字符的指针,开始新一轮的打字计时。3软件流程图开始结束输入是否为q检测输入是否完成显示输入字符及错误数和时间间隔比较得到错误输入字符的个数计算两次时间差再次获取系统时间继续输入剩余字符获取系统时间接收输入的第一个字符显示待检测的字符串 否 是 否 是4程序DATA segmentTIPdb0DH,0AH,-now begin-,0DH,0AH,$TIMEBUFF1 db 0 ;保存考试输入时的分钟数 TIMEBUFF2 db 0 ;保存开始输入时的秒STR1 db abcdefghijklmnopqrstuvwxyzabcd,0DH,0AH,$ ;30个字符ERRORFLAG db 0 ;保存30个字符的指针ERROR db 0 ;保存错误的数目 TIMEIS db 0DH,0AH,the time is ,$ ERRORIS db 0DH,0AH,the error is ,$RESTART db 0DH,0AH,press q to exit or others to restart,$DATA endsACK segmentdw 20 dup(0)ACK endsCODE segmentassume cs:CODE,ds:DATA,ss:ACKstart:mov ax, ACKmov ss, axmov sp, 40mov ax, DATA ;屏幕初始显示mov ds, axmov dx, offset TIPmov ah, 9int 21Hmov dx, offset STR1 ;显示30个字符mov ah, 9int 21Hmov ah, 1 ;调用1号中断接受第一个字符int 21hcall Comparemov ah, 2CH ;调用2CH号中断,获取系统时间int 21Hmov TIMEBUFF1, cl ;将系统时间存入TIMEBUFF中mov TIMEBUFF2, dh mov cx, 29 ;剩余的29个字符放在循环中loops:mov ah,1int 21Hcall Compareloop loopsmov ah, 2CH ;输入完毕,再次获取系统时间int 21Hmov al, cl ;将此次的时间运算后放入dx中 mov cl, 60mul clmov cl, 8shr dx, cladd ax, dxmov dx, axmov al, TIMEBUFF1 ;将开始输入的时间放入ax中 mov cl, 60mul clxor cx, cxmov cl, TIMEBUFF2add ax, cxsub dx, ax ;将两次的时间差放入cx中,其中ch放秒钟十位,cl放个位mov ax, dxmov cl, 10div clmov ch, almov cl, ahmov ax, DATA ;显示“the time is”mov dx, offset TIMEISmov ah, 9int 21Hmov dl, ch ;显示时间间隔 add dl, 48mov ah,2int 21hmov dl, cladd dl, 48mov ah,2int 21hmov ax, DATA ;显示“the error is”mov dx, offset ERRORISmov ah, 9int 21Hxor dx,dx ;显示error mov dl, ERRORmov ax, dxmov cl, 10div clmov cx, axmov dl, aladd dl, 48mov ah,2int 21hmov dl, chadd dl, 48mov ah,2int 21hmov ax, DATA ;显示“press q to exit or others to restartmov dx, offset RESTARTmov ah, 9int 21Hmov ah,7 ;如果是q就退出,其他的继续 int 21hcmp al,qjne REjmp KOUT RE:mov bl, ERRORFLAG ;如果继续的话清空错误的数目还有30个字符的指针 mov bh, ERRORmov bx, 0mov ERRORFLAG, blmov ERROR, bhjmp start KOUT:mov ah, 4CHint 21hCompare: ;比较输入的字符是否正确的函数 push bx push cx push dxxor bx,bxmov bl, ERRORFLAGmov dl, ERRORmov cl, STR1bxcmp al, clje nextinc dl next:add bl, 1mov ERROR,dlmov ERRORFLAG,blpop dxpop cxpop bxret CODE endsend start5调试运行结果初步调试的时候遇到很多错误,后来经过检查发现是因为输入法不对输入的标点计算机无法识别,从而不能编译成功。改正后可以正确的编译连接运行,屏幕上显示将要测试的30个字符,输入30个字符结束后,屏幕上显示出输入的字符和所用时间间隔,没有其他功能,并且程序运行后只能测试一次。为了使功能更加完整,后来在程序中加入了比较字符串是否相同并统计不同字符个数的程序,而且还建立循环,使程序运行后可以多次测试,并根据测试者的输入选择是否结束运行。运行修改后的完整程序,首先屏幕上显示将要测试的30个字符,输入30个字符结束后,屏幕上显示出输入的字符、所用时间间隔以及打错字符的个数。如果接下来输入”q”,程序就会停止运行,如果输入的是其他字符,将会进入下一轮的测试,屏幕再次显示将要测试的30个字符,如图5-1所示:图5-1调试界面6心得体会这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师指导和同学帮助下,终于游逆而解。同时,在徐老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!参考文献【1】 温冬蝉、沈美明
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文化遗产数字化保护中的地理信息系统应用报告
- 现在进行时课件新东方
- 江苏省常州市达标名校2026届化学高二第一学期期末经典模拟试题含答案
- 2025年考研英语(一)阅读理解高分技巧试卷 案例分析与策略
- 王者荣耀知识培训课件
- 研究生重点题目及答案
- 2026届黑龙江省哈尔滨市阿城区龙涤中学化学高一上期中调研模拟试题含解析
- 某某院物业管理服务采购项目方案投标文件(技术方案)
- 玉米种植采摘课件
- 玉米种植病虫害防治
- 放射防护监测原始记录表模板
- 2025-2030中国奶酪行业市场发展现状及竞争格局与投资前景研究报告
- 垫资过桥合同协议
- 规范化司法所模板
- 水泥混凝土旧路面拆除施工方案
- 食品安全自查制度
- 士林电机SS2变频器操作手册SS2-043-5.5K
- 大学生职业生涯规划与就业指导(慕课版) 课件 第七章 职场适应与发展
- 《数字化样机技术》课件
- 教室里的安全隐患
- 内审首次会议上的讲话
评论
0/150
提交评论