汇编语言程序设计打字练习程序

合集下载

第四章 汇编语言程序设计上机练习及简单程序设计

第四章 汇编语言程序设计上机练习及简单程序设计

第四章汇编语言程序设计上机练习及简单程序设计一、汇编语言程序上机过程1、掌握常用工具软件 PE,MASM和LINK的使用。

2、伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。

3、利用的 1号功能实现键盘输入的方法。

4、了解.EXE文件和.COM文件的区别及用INT 21H 、INT 4CH号功能返回系统的方法。

程序:data segmentmessage db 'This is a sample program of keyboard and disply'db 0dh,0ah,'Please strike the key!',0dh,0ah,'$' data endsstack segment para stack 'stack'db 50 dup(?)stack endscode segmentassume cs:code,ds:data,ss:stackstart: mov ax,datamov ds,axmov dx,offset messagemov ah,9int 21hagain: mov ah,1int 21hcmp al,1bhje exitcmp al,61hjc ndcmp al,7ahja ndand al,11011111bnd: mov dl,almov ah,2int 21hjmp againexit: mov ah,4chint 21hcode endsend start实验步骤:1、用用文字编辑工具(记事本或EDITPLUS)将源程序输入,其扩展名为.ASM。

2、用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。

若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。

3、用LINK将.OBJ文件连接成可执行的.EXE文件。

4、在DOS状态下运行LINK产生的.EXE文件。

打字练习程序

打字练习程序

信息科学与技术学院微机原理与接口技术课程设计课题名称:打字练习程序学生姓名:学号:专业、年级:指导教师:时间:1、题目及要求:1.1、题目:打字练习程序1.2、要求:1)、缓冲区中预放了一些字母2)、运行时,可按照屏幕上显示的字母输入练习3)、当按结束,可显示出练习输入的时间,并且能显示出正确率。

4)、要求界面美观。

2、功能设计:2.1、功能模块:主程序模块-----主要是随机产生字符并将字符送入缓冲区,调用其他子程序和宏设置窗口及时间、字符总数和正确个数。

打字结果计算与显示模块( UseTimeAndOut,RightRata_out)-----主要计算所用时间及正确率并输出。

设置字符颜色模块(clew_char)-----主要设置打字时缓冲区字符和打字区字符的颜色,包括错误时字符的颜色显示。

字符满行处理模块(isFullLine)-----主要功能是当字符输入满行时进行换行。

输出模块(OutTime,btod_out)-----输出程序运行时的时间。

统计模块(Tongji)-----统计字符个数和正确个数并记录时间。

宏的作用:清屏(Clear)----- 用于按要求清理屏幕(不同颜色),以便产生想要的窗口。

设置光标位置(SETGB)-----用于移动光标位置,以便按要求输出。

读光标位置(READGB)-----用于读取当前光标位置。

提示(Tishi)-----用于输出提示语句。

2.2、功能图:图1 功能图3、详细设计:3.1、设计方法:根据设计要求,该课程设计只应用了些简单的函数调用,中断,宏调用。

其中随机产生字符的实现是通过调用中断(ah=2ch,int 10)取系统时间的1/100 来得到一组随机数,把这些随机数当做指针,然后取指针对应的字符表中相应的字符,得到一串字符。

在把结果显示到屏幕上时将数据拆分后输出到屏幕上。

如‘123’在屏幕上显示时必须一个一个输出,还有在输出小数点时也采取了相应的办法。

汇编语言打字练习程序实验报告

汇编语言打字练习程序实验报告

课程设计说明书题目: 打字练习摘要在IBM-PC系统中,驻留的ROM中有8KB的BIOS。

它实现对系统中种种常用设备的输入输出操作的管理。

其中的16H中断调用即为键盘输入输出中断调用,实现从键盘输入字符到AL寄存器、读键盘缓冲区字符到AL寄存器、读取特殊功能键的状态等功能。

本程序是一个在键盘上打字练习的程序,运行可执行程序后,出现主界面,按回车键出现由78个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC 健返回主界面;按空格键暂停;按’E’退出。

关键词:中断调用,打字练习,回车键进入,空格键暂停目录1设计目的 (1)2概要设计 (2)2.1 系统总体分析 (2)2.2 主模块框图及说明 (2)3详细设计 (4)3.1 主模块及子模块说明 (4)3.2 各模块详细设计 (4)4程序调试 (10)4.1 运行界面分析 (10)4.2 调试过程及分析 (12)5心得体会 (13)5.1 设计体会 (13)5.2 系统改进 (13)参考文献 (14)1设计目的汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

由于汇编语言如此的接近计算机硬件,因此,它可以最大限度地发挥计算机硬件的性能。

由此可见汇编语言的重要性,学好这门课程,同样可为相关的专业打下基础。

汇编语言程序设计课程设计是在教学实践基础上进行的一次试验,也是对该课程所学理论知识的深化和提高。

因此,要求学生能综合应用所学知识,设计和制造出具有具有一定功能的应用系统,并且在实验的基本技能方面进行了一次全面的训练。

此外,它还可以培养学生综合运用所学知识独立完成汇编程序课题的能力,使学生能够较全面的巩固和应用课堂上所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。

再者,它同样可以提高学生运用理论去处理实际问题的能力和独立思考的能力,使学生的编程思想和编程能力有所提高,最终达到熟练地掌握编写汇编源程序的基本方法的目的。

打字计时练习程序

打字计时练习程序

摘要这是一个打字计时练习程序,在缓冲区中预放了一些字母,运行时,可按照屏幕上显示的字母输入练习,每输入完一行按回车键后,可显示出练习输入的时间. 编写打字计时练习这个程序,是为了计算在打字练习时所使用的时间,以此来评估一个人打字的快慢。

编写这个程序时,我们可以这样设想:在键盘上练习的打字例句及其地址表、计时单元等预先放在DATA数据段中,自编的中断程序kbint检测按键时产生的中断,并把按键的扫描码转换为ASCII码存入缓存区buffer,这个工作和ROM09类型的键盘中断例行程序所完成的工作大致相同,只是在解释各个键时作了简化,即只解释了可显示字符,如英文字母、数字及一些符号;其他特殊键,如组合键、双态键、功能键等都未作解释,只作为字符码0来处理。

在主程序部分保存原09类型的中断向量,设置自编例行程序的中断向量,设置中断屏蔽位,然后开中断。

当键盘中断处理后,主程序中安排指令读取缓冲区中的字符并显示在屏幕上。

在主程序的末尾,利用DOS功能恢复原09类型的中断向量,然后返回DOS。

在显示键入的字符时,还应判断字符是否为回车(0DH)。

如为回车符,说明一个句子输入完毕,此时调用显示时间的子程序显示出打字时间,然后顺序显示下一个例句。

如果所存放的例句都已显示完,则又从第一个例句开始显示,直至键入某一功能键(如Esc键、Shift键等)退出程序,结束打字练习。

打字时间统计利用自定时器中断处理程序clint来完成。

每输完一例句,计时一次。

在此中断例行程序中,定时器中断的次数记录在计数单元count中,当count计数值为18时,sec计数单元加1 ,当sec计数值达到60时,min计数单元加1 。

因为输入完一个句子无论如何也不会达到小时级,所以对hours计数值的调整判断,实际上只起到退出定时器中断的作用。

关键词:打字计时,计时单元,Dos功能调用,定时器中断- 1 -这一段程序的作用是:将原中断向量09H保存在自设的单元中,设置自编处理程序的中断向量,并将中断向量1CH 保存在自设的单元中,还设置自编处理程序的中断问题,并设置显示方式。

汇编语言打字练习程序课程设计报告

汇编语言打字练习程序课程设计报告

课程设计说明书题目: 打字练习院系:专业班级:学号:学生姓名:指导教师:2010 年 12 月 31 日安徽理工大学课程设计(论文)任务书计算机科学与工程学院硬件教研室ﻩ2010年12月17日安徽理工大学课程设计(论文)成绩评定表摘要汇编语言是计算机能够给用户使用的最高效快捷的语言,也是唯一能对计算机所有硬件进行操纵的语言。

鉴于汇编语言的用途广泛以及重要性,我花费的大量的时间完成此次课程时机,打字练习。

打字练习是计算机常用的小应用程序,可以给想练习打字的人提供一个好的练习空间。

本文的核心部分是对于详细设计的讲解与分析,而这当中的侧重点又在于设计思想的再现。

关键词:功能模块,核心代码,随机字符,模块调用,功能分析目录1设计目的ﻩ错误!未定义书签。

2概要设计 .......................................................................... 错误!未定义书签。

2.1系统总体分析 ...................................................................................................... 错误!未定义书签。

2.2主模块框图及说明ﻩ错误!未定义书签。

3 详细设计 ......................................................................... 错误!未定义书签。

3.1主模块及子模块说明 ........................................................................................ 错误!未定义书签。

3.2各模块详细设计ﻩ错误!未定义书签。

3.2.1主界面模块.................................................................................................. 错误!未定义书签。

打字练习汇编语言程序程序设计

打字练习汇编语言程序程序设计

目录1 方案论证 (1)1.1题目要求 (1)1.2算法说明 (1)1.2.1输入/输出算法 (1)1.2.2时间计算算法 (2)1.2.3正确率计算算法 (2)2程序流程图 (3)2.1主程序流程图 (3)2.2时间计算流程图 (4)2.3正确率计算流程图 (5)3.设计关键问题 (7)3.1输入输出 (7)3.1.1 输出显示信息 (7)3.1.2 输入十个字符 (8)3.2 输入字符串所用时间计算 (9)3.3 正确率判断 (10)4.调试运行结果分析 (12)心得体会 (15)参考文献 (16)附录 (17)打字练习汇编语言程序程序设计1 方案论证1.1题目要求本次《微机原理与接口技术》课程设计的题目是打字练习汇编语言程序设计,要求在屏幕输出提示信息及一串有十个字符的字符串的同时开始记录系统时间,当输入十个字符后,再次记录系统时间,计算输入字符串的时间,及输入字符串的正确率,并将最终结果显示在屏幕上。

只有完全正确才能进入下一字符串的练习,并最后显示赞赏提示信息,否则,继续练习该字符串的输入,知道全部输入正确;一串字符串输入结束后,如果不想继续打字练习,则按‘1’退出打字练习如果想继续进行打字练习,则按任意键进入下一字符串的练习,直到练习完三串字符串,按‘1’退出。

1.2算法说明打字练习汇编语言程序设计的主要算法是进行时间的计算和正确率的判断,并将最后结果显示在屏幕上。

1.2.1输入/输出算法DOS功能调用的过程为:首先,将DOS功能调用号送入寄存器AH中,其次,如果序言按要求给定输入参数(有的不需要输入参数),最后,写入终端指令INT21H。

DOS的输入输出包括单字符输入输出和多字符输入输出。

(1)单字符输入输出算法单字符的输入,是DOS的01H号功能调用,没有输入参数,输出参数是AL=要输入字符的ASCII码。

单字符的输出,是DOS的02H号功能调用,输入参数为DL=要输出的字符的ASCII码,无数除参数。

汇编语言程序设计课程设计-打字练习程序的设计

汇编语言程序设计课程设计-打字练习程序的设计

课程设计2013~ 2014学年第二学期设计题目汇编语言程序设计课程设计-打字练习程序的设计院(系)计算机科学与信息工程学院专业网络工程提交日期 2014年7月5日上海应用技术学院课程设计任务书指导教师(签名):教研室主任(签名):杨晶鑫2014年6 月25 日2014年6 月25 日目录上海应用技术学院课程设计任务书..................................................... i错误!未定义书签。

目录.................................................................................................................................... i ii 1概述. (1)1.1基本功能 (1)1.2拓展功能 (1)1.3代码的格式 (1)2详细设计说明 (4)2.1原“TYPETEST.ASM”程序结构 (4)2.2已经实现的功能(修改的、新编写的)程序结构 (5)2.3各模块功能 (7)2.3.1用户验证模块: (7)2.3.2功能选择模块: (9)2.3.3游戏选择模式: (12)2.3.4游戏模块: (15)2.3.5游戏结束模式: (22)2.3.6退回主菜单: (23)3课程设计总结 (25)3.1设计体会 (25)3.2系统改进 (25)4软件使用说明 (26)4.1用户密码: (26)4.2运行环境: (26)4.3使用方法 (26)参考文献 (34)附录 (35)源代码: (35)1 概述本次课程设计主要是设计一个打字游戏,通过对一个较大型的、综合性的应用程序进行阅读、修改、添加功能等工作, 加深对汇编语言程序设计的认识,提高阅读理解复杂程序的能力和程序设计能力。

本程序运行后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E’退出;程序包括自动计分功能,根据打字的快慢分别获得不同的分数,根据打字的难度,分别变化不同的颜色,并且设置了用户名和密码,使软件运行起来更加安全。

打字练习计时程序设计说明书

打字练习计时程序设计说明书

学号:课程设计题目打字练习计时程序设计学院专业班级姓名指导教师2014 年月日课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 打字计时练习程序设计要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.用汇编语言编写一个打字计时练习的程序,在缓冲区中预放一些字母,运行时,可按照屏幕上显示的字母输入练习。

2.按某个键开始练习,每输入完一行按回车键后,可显示出练习的时间及正确率。

3.撰写课程设计说明书。

内容包括:摘要、目录、正文、参考文献、附录(程序清单)。

正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。

时间安排:12月30日-----12月31日查阅资料及方案设计1月2日-----1月3日编程1月6日调试程序1月7日-----1月8日撰写课程设计报告指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (1)1.设计要求 (2)1.1设计任务 (2)1.2设计要求 (2)1.3设计目的 (2)2.算法设计 (3)2.1设计思路 (3)2.2程序流程图 (3)3设计说明 (5)3.1BIOS中断 (5)3.1.1显示输出管理 (5)3.2DOS中断 (6)3.2.1DOS中断 (6)3.2.2 DOS中断和BIOS中断使用方法 (6)4.程序说明 (8)4.1计算正确率子程序 (8)4.2键盘获取子程序 (9)5.调试与运行 (11)5.1运行程序: (11)5.2调试中出现的问题 (12)6.总结 (13)参考文献 (14)附录 (15)摘要计算机的不断更新发展,在各个领域的应用越来越多。

而汇编语言是计算机能够提供用户使用的最快而又最好最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

因而,对程序的空间和时间要求很高的场合,汇编语言的应用就显得必不可少了,一些直接控制硬件的应用场合,则更是非用汇编语言不可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言课程设计报告( 2014 -- 2015 年度第 1 学期)课题名称:打字计时练习程专业xxx学生姓名xxxx班级xxx学号xxxx指导教师xxx完成日期xxxxx目录1.设计目的与设计要求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.调试运行结果分析 (16)参考文献 (20)附录二打字计时练习程序 (20)一.设计目的本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题,解决问题的综合应用能力。

设计要求在缓冲区预放了一些字母,运行时,可按照屏幕上显示的字母输入练习,每输入完一行按回车键后,可显示出练习输入的时间。

设计思路1.系统总体分析在缓存区预放了一些字母,运行时可按照屏幕上显示的字母输入练习,每输入完一行按回车键后,可显示出练习输入的时间。

当一个句子分析完后(回车键作为结束符),屏幕上以min:sec:msec的格式显示出键入字符的时间。

在每次打字之前,屏幕上先显示一个例句,然后打字员按照例句,将句中字符通过键盘输入。

这个过程共进行五次,当键入一个enter键时,推出打字计时练习程序。

在键盘上联系的打字例句及其他地址表,计时单位等预存在DATA数据段中。

自编的中断程序Kbint检测按键时产生的中断,并将按键扫描码转换为ASCII码存入缓存区BUFFER(内存中一个区域),这个工作和EOM09类型的键盘中断例行程序所完成的工作大致相同,只是在解释各个键时作了简化,即只解释了可显示字符(如英文小写字母,数字及一些字符),其他特殊键(如组合键,双态键,功能键),都未做解释,只做字符码0来处理。

在主程序部分保存原有09类型的中断向量,设置自编例行程序的中断向量,设置中断屏蔽位,然后在开断。

当键盘中断处理后,主程序安排指令读取缓存区中的字符并显示在屏幕上。

在主程序的末尾,利用DOS功能恢复原09类型的中断向量,然后返回DOS。

在显示键入的字符时,还应判断字符是否为回车符。

说明一个句子输入完毕,此时调用显示时间的子程序显示打字时间,然后顺序显示一个例句。

如果所存放的例句都已显示完毕,则再次从第一个例句开始显示,直至键入某个功能(如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.主模块框图程序的核心模块是打字计时,通过显示的例句进行打字练习,最后显示打字时间,主题流程图如下:a. 建立汇编源程序—通过b.编译为目标文件——d.连接执行文件c.不通过,重新修改(语句错误) e.运行f.不正确,用调试工具调试,重新修改(逻辑错误)g.正确完成2程序流程图2.1主程序流程图、图1 主程序流程图主程序的流程图如图1所示:说明:首先定义堆栈段,数据段,代码段等,初始化。

显示提示信息提示打字练字的规则,说明如何开始,如何退出等。

显示出字符串后,开始读取系统时间并保存。

然后输入字符串存到指定的缓冲区。

输入结束后,再次读取系统时间,并由两次所读取的时间计算出输入字符串所用的时间并显示。

调用正确率计算函数,并显示在屏幕上。

看输入字符串对应位正确的个数是不是十个,如果是十个,则继续往下,看输入的是不是退出键1,如果是,则退出。

如果不是,则继续下一串字符的练习。

如果输入正确的个数不是十个,则返回继续该字符串的练习,指导最后输入的正确个数是十个。

2.2时间计算流程图计算时间的流程图如图3所示:说明:第一次读取系统时间后,分和秒分别存在了second和minutes里,第二次读取系统时间后,比较DH里的内容和second里的内容,比较结果是second里的内容比较小,则不用向分借位,直接进行减法运算,并把计算结果转换成ASCII码并在屏幕上显示。

如果比较的结果是second里的内容是比较大,则进行减法运算时,要向分借位,所以,将DH寄存器的内容加上60,再与second 里的内容进行减法运算,最后把运算结果转化成ASCII码,并显示在屏幕上。

图3 时间计算流程图2.3正确率计算流程图正确率显示函数的流程图如图4所示:说明:调用争取率判断子程序,首先保护现场,BX指向字符串ADDRESS[SI]首地址,BX+2,指向第一个要显示的字母,DI指向输入缓冲区的首地址,CX寄存器存入十,控制循环次数。

比较[BX]HE [DI]里的内容,即判断显示的和输入的字母是否相同。

如果相同,计数寄存器AL内容则加一,BX加一,DI加一,继续下次比较,直到十次循环结束。

如果不相同,则计数寄存器AL内容不变,BX加一,DI加一,继续下一次循环,知道十次循环结束。

当十次循环结束后,即字符串输入结束后,寄存器AL里的内容就是输入正确的个数,AL高四位是输入正确数的十位,低四位是输入正确数的个位,将十位和个位分别转化成ASCII码,并将其存入字符串中,调用DOS的9号功能输出字符串,输出的就是屏幕显示的字符串和输入的十位字符串对应位相同的个数,然后恢复现场。

每调用一次正确率判断函数,SI加二,即第一次调用该子程序屏幕上显示的是第一组字符串,第二次调用,当SI大于5时,就退出程序。

图4 正确率显示函数的流程图3.设计关键问题在打字练习汇编语言程序设计中,主要有三个问题,分别为输入和输出问题、输入字符串时间的计算、正确率的判断。

3.1输入输出3.1.1 输出显示信息输出字符串,主要是利用DOS的9号功能调用。

当开始打字练习时,要输出提示信息说明打字练习时的规则,其程序为:message db 0ah,0dh, 'Welcome to WUHAN UUIVERSITY, Please type 10 letters, and you must input 10 right words, then press anykey to practice the next one 'db 0ah,0dh, 'if you want to quit, press 1 ',0ah,0dh,'$' lea dx,messagemov ah,9int 21h显示信息输出后,要显示预先存在缓冲区的三组字符串,显示字符串用DOS9号调用,其程序为:str1 db 0ah,0dh,'wuhanunive'db 0dh,0ah,'$'str2 db 0ah,0dh,'hubeichina'db 0ah,0dh,'$'str3 db 0ah,0dh,'qmpzwmoxid'db 0ah,0dh,'$'address dw str1,str2,str3mov dx,offset address[si]mov ah,9int 21h只有当输入的字符串中的十个字符全部正确时,则显示进入下一字符串的练习并输出鼓励语,其程序为:et db 0dh,0ah,'Congratulations, Well done!',0ah,0dh,'$'mov dx,offset etmov ah,09hint 21h当要显示输入字符串所用的时间以及显示输入字符串个数时,可以采用单个字符的输出,但是为了在屏幕上看起来直观,就把要显示的时间和正确个数的十位和个位分别存在缓冲区,并把缓冲区的内容采用9号调用输出在屏幕上,其程序为:(1)显示输入字符所用的时间的程序time db 2 dup(?),'$'mov time[0],ah ;输入字符串所用时间的十位送入time[0]mov time[1],al ;输入字符串所用时间的个位送入time[1]mov dx,offset time ;显示time中的内容mov ah,9int 21h(2) 显示输入字符串正确个数的程序为:num db 2 dup(?),'$'mov num[0],bh ;输入字符串正确个数的十位送入num[0]mov num[1],bl ;输入字符串正确个数的个位送入num[1]mov dx,offset num ;显示num中的内容mov ah,9int 21h3.1.2 输入十个字符当屏幕显示出要练习字符串时,就要输入十个字符存到指定的缓冲区中,使用DOS 1号功能调用,其功能是输入单个字符,输出参数是AL=输入字符的ASCII 码,循环十次,将十个字符存入指定的缓冲区buff中,其程序为: buff db 15 dup(?)mov cx,10 ;cx=10,控制循环次数mov bx,0again:mov ah,1 ;输入单个字符int 21hmov buff[bx],al ;将输入的字符存到指定的缓冲区inc bxloop again3.2 输入字符串所用时间计算对输入字符串时间的计算,需要知道输入字符串前的时间和输入字符串后的时间,将两者相减,即得输入字符串所用的时间。

具体为:当显示第一串字符串后,调用DOS 的2CH号功能读取系统时间,读取完系统时间后,系统时间的时、分和秒分别存在寄存器CH、CL、DH中。

并将CL和DH的内容保存到minutes和second中,以便计算输入字符串所用时间用;第一次读取系统时间后,开始输入10个字符,当输入字符结束后,再次读取系统时间,首先第二次的分钟数减去第一次的分钟数,如果结果大于零,则用第二次的秒数减去第一次的秒数,所得的结果转化称ASCII码显示在屏幕上,即为输入字符串所用的时间。

如果第二次的分钟数减去第一次的分钟数的结果小于零,则第二次的秒数加上60后,再减去第一次的分钟数,所得结果妆化称ASCII码后显示在屏幕上,则为输入字符串所用的时间。

相关文档
最新文档