汇编打字练习
- 格式:doc
- 大小:208.00 KB
- 文档页数:26
键盘与指法练习汇总键盘与指法练习无论英文,数字,汉字,程序等外界信息,都主要是通过键盘传输给计算机,因此,了解键盘的结构和操作至关重要。
一认识键盘(以104键盘为例)一个普通的键盘分为四个区:主键盘区,功能键区,编辑键区,数字键区。
1 主键盘区常用命令的输入,是使用频率最高的区域。
它包括1)字母键A~Z 26个字母2)数字键0~9。
除此之外,与shift的键同时使用可以输入特殊字符。
3)tab 定位键。
多用于文字处理中的对齐操作。
4)caps lock 大小写字母锁定键。
默认为小写。
5)shift 字母大小写临时转换键,换挡键。
6)ctrl alt 控制键,与其他键一起使用,多用于快捷键。
7)enter 换行8)空格9)back space 删除光标前的一个字符。
2 功能键ESC退出F1-F12根据具体操作系统或应用程序而定。
3 控制键区也叫光标控制区【→】:光标右移键【←】:光标左移键【↑】:光标上移键【↓】:光标下移键【Insert】:插入键【Delete】:删除键。
【Home】:首键。
【End】:尾键。
【Page Up】:上翻页键。
【Page Down】:下翻页键。
4 数字键区数字键区左上方的【Num Lock】键可以定义小键盘是作为数字键还是作为文字编辑操作时的控制键。
二打字的基本知识1 打字姿势正确的操作姿势有利用快速准确的输入且不易疲劳。
面向计算机坐在椅子上,全身放松,身体坐正,双手自然放在键盘之上,腰部挺直,上身微微前倾。
双脚的脚尖和脚跟自然垂落到地面上,无悬空,大腿自然平直,小腿与大腿之间的角度为近似90度的直角。
椅子高度与计算机键盘、显示器的放置高度适中。
眼睛距显示器的距离为30~40厘米2 各个手指的分工基本键ASDF JKL;分工(金山打字软件讲解)三练习方法以金山打字软件为例首先练习各个基本键认识键盘教学目标:1、了解键盘的分区,掌握主键盘区字母键、数字键、符号键的名称和分布规律;2、学会使用几个常用的控制键,能在“写字板”中输入字符;3、通过认识键盘,感受成功,让学生体验到学习计算机的快乐,从而激发学生学习计算机的浓厚兴趣。
课程设计说明书题目: 打字练习院系:专业班级:学号:学生姓名:指导教师:2010 年 12 月 31 日安徽理工大学课程设计(论文)任务书计算机科学与工程学院硬件教研室2010年12月17 日安徽理工大学课程设计(论文)成绩评定表摘要汇编语言是计算机能够给用户使用的最高效快捷的语言,也是唯一能对计算机所有硬件进行操纵的语言.鉴于汇编语言的用途广泛以及重要性,我花费的大量的时间完成此次课程时机,打字练习。
打字练习是计算机常用的小应用程序,可以给想练习打字的人提供一个好的练习空间。
本文的核心部分是对于详细设计的讲解与分析,而这当中的侧重点又在于设计思想的再现.关键词:功能模块,核心代码,随机字符,模块调用,功能分析目录1设计目的 (1)2概要设计 (2)2.1系统总体分析 (2)2。
2主模块框图及说明 (2)3 详细设计 (4)3.1主模块及子模块说明 (4)3.2各模块详细设计 (4)3。
2.1主界面模块 (4)3。
2。
2随机字母产生模块 (6)3.2。
3字母落下模块 (7)3.2。
4暂停模块 (8)3。
2.5返回主界面模块 (9)4.程序调试 (9)4.1运行界面分析 (10)4。
2调试过程及分析 (11)5心得体会 (12)5。
1设计体会 (12)5.2系统改进 (12)参考文献 (13)1设计目的这次课设的任务是写一个程序,运行可执行程序后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E'退出.通过课程设计,主要达到以下目的:1. 增进对汇编语言的认识,加强用汇编语言编程的能力;2。
掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等;3. 了解和掌握汇编语言程序设计过程、方法及实现,为以后微机原理课程的学习打下良好基础;4. 通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中;5。
微机原理与接口技术课程设计报告课题:打字测试练习姓名:学号:专业年级、班:指导教师系:2011年6月目录第一章设计概述 (1)1.1设计课题 (1)1.2设计要求 (1)1.3设计目的 (1)1.4设备环境 (1)第二章设计的相关知识 .................................. 错误!未定义书签。
2.1汇编语言的程序设计 ........................... 错误!未定义书签。
2.2 BIOS中断介绍 (7)2.3 DOS中断介绍 (7)第三章设计方案 (2)3.1 设计思想分析....................................... 错误!未定义书签。
3.2 设计方案实现................................................. 错误!未定义书签。
3.3程序流程图 (7)3.4源程序 (7)第四章调试及运行结果 (15)第五章课程设计心得体会 .............................. 错误!未定义书签。
5.1心得体会................................................ 错误!未定义书签。
5.2 课程设计遇到的问题和解决方案 ...... 错误!未定义书签。
参考文献 ............................................................ 错误!未定义书签。
第一章设计概述1.1设计课题打字测试练习1.2设计要求在DOS环境中完成以下任务:1) 屏幕上显示出提示信息和练习例句;2) 按照例句在从键盘上输入字母;3) 每输完一行后按回车键,显示练习输入的时间、输入的正确数和错误数和下一行例句;4)按ESC键可退出程序;5)参考设计基本思路编程实现上述功能;1.3设计目的学习汇编语言综合应用程序设计方法,提高汇编语言实际应用能力,充分了解计算机硬件和软件,利用PC机键盘和时间中断、字符显示实现打字练习程序,完成理论到实践的推进过程.,1.4设备环境在本设计中,所用到的设备环境如下所示:A.计算机一台;B.Masm for window集成实验环境;第二章设计的相关知识2.1汇编语言的程序设计1)顺序程序设计顺序城市最常见的,也是最基本的程序设计方法。
经典打字练习文章三篇001练习材料我从不对人隐瞒我的嗜sh ì好之一就是“吃”;我不但爱吃,就连电视、网络上的美食也不放过,每天在网上转悠,有一半的时间都在浏览美食网站;否则,如何对得起我是单位“腐败”俱乐部资深会员这一金字头衔xi án 呢我国社会主义在改革开放前所经历的曲折和失误,归根到底就在于对社会主义初级阶段这个问题没有完全搞清楚,提出的一些任务和政策超越了社会主义初级阶段;改革开放以来,社会主义现代化建设之所以取得巨大成就,就是因为我们提示了社会主义初级阶段的基本国情,并提出了相应的发展战略和策略,从而找到了建设有中国特色社会主义的新道路;要优化教育机构,大力加强基础教育,积极发展职业教育、成人教育和高等教育,努力自学成才;必须把教育摆在优先发展的战略地位,提高全民族的思想道德和文化水平,这是实现我国现代化的根本大计;汉字是当今世界上最古老的文字之一,汉字字型优美、形状方正、结构严谨,是中国古老文化历史的宝贵结晶;毕升开发的活字印刷术后,在手写字体的基础上发展起来印刷体字;汉字历史源远流长;朋友的电脑,故障现象为:按下电源开关,主机电源指示灯不亮,电脑无任何反应;反复开启电源开关有时能启动,有时不行;启动后系统运行正常,但最近怎么也不启动了;我估计是电源的问题; 大幅面的报纸,可以满足报纸的新闻容易大、图片多、信息集中的特点;报纸的实效性强,多采用高效印刷机印刷;大幅面方便印刷,可以免除装订工序;更重要的是报纸的大版面方便人们的浏览性阅读;一位教育家说好,学校要让年轻人的心荡d àng 漾y àng,走进学校应当让人能感受一种神圣,魅m èi 力l ì和诗意好的学校是一坐探索求知的学园;学校的魅力在于它有丰富的智力背景和深厚的文化底蕴,学习,思考,探索,研究的氛围就是一种吸引人,教育人的力量;在足球比赛中,教练如果对运动员的配置不好,前场、中场、后场的安排不当,战术、队形的运用欠佳,或者球员在场上不互相配合,甚至互相指责,即使有几个球星,整场比赛也难以取胜;类似这种整体,其功能必然小于各部分功能之和;002练习材料大幅面的报纸,可以满足报纸的新闻容易大、图片多、信息集中的特点;报纸的实效性强,多采用高效印刷机印刷;大幅面方便印刷,可以免除装订工序;更重要的是报纸的大版面方便人们的浏览性阅读;汉字是当今世界上最古老的文字之一,汉字字型优美、形状方正、结构严谨,是中国古老文化历史的宝贵结晶;毕升开发的活字印刷术后,在手写字体的基础上发展起来印刷体字;汉字历史源远流长;没办法,只好再采用静态法来测量振荡回路中的电阻,为了保证测量的准确性和尽量避免元件被损坏,我还是将起振电阻焊了下来;这次再用万用表测量发现原来电阻已经断路了,所以才造成电源不启动;更换电阻后故障排除;爱国主义是人们千百年来巩固起来的对自己祖国的一种最深厚的感情;这种感情表现为民族自豪和民族自信心;表现为热爱祖国的河山和人民、祖国的历史和文化,热爱祖国的一切物质财富和精神财富;表现为把个人的命运和祖国的前途、命运紧密地联系在一起,为祖国的富强,为祖国的利益英勇献身;要优化教育机构,大力加强基础教育,积极发展职业教育、成人教育和高等教育,努力自学成才;必须把教育摆在优先发展的战略地位,提高全民族的思想道德和文化水平,这是实现我国现代化的根本大计;社会主义道德作为社会主义社会政治、经济、文化的客观反映,集中体现着精神文明建设的性质和方向,对社会政治经济的发展具有巨大的能动作用;加强社会主义道德建设,对弘扬民族精神和时代精神,促进物质文明与精神文明协调发展,具有十分重要的意义;在足球比赛中,教练如果对运动员的配置不好,前场、中场、后场的安排不当,战术、队形的运用欠佳,或者球员在场上不互相配合,甚至互相指责,即使有几个球星,整场比赛也难以取胜;类似这种整体,其功能必然小于各部分功能之和;学校没有文化,学校不引导学生和教师去探索求知,也就失去了存在的价值和意义;正如马克思所说:时间实际是人的积极存在;它不仅是人的生命尺度,而且是人的发展空间;我们的学校应成为学生生存和发展的最佳空间;003练习材料大幅面的报纸,可以满足报纸的新闻容易大、图片多、信息集中的特点;报纸的实效性强,多采用高效印刷机印刷;大幅面方便印刷,可以免除装订工序;更重要的是报纸的大版面方便人们的浏览性阅读;刚踏入社会的女教师难得有机会跟男朋友一起逛街;公交车上,两人互相依靠,窃窃私语、甜甜蜜蜜;女教师向男朋友诉说学校里的小男生怎么调皮捣蛋但是又很可爱,很会讨她欢心等等,一路上谈得非常兴奋,忽然车到了一个站,从后边的座位走上来一男一女她的学生,“老师好,这么巧”在实施平等教育的基础是逐步扩大教育选择,是基础改革发展的努力方向;同时,应当加快高等教育改革与发展的步伐,进一步完善高考选择政策,改进大学招生方式,让更多有研究创新潜质的青年,走进高等学府,而不至于无端埋没他们的才华;学校应当合理开发和配置学校的办学资源,积极创设必要的办学条件,构造读书的意愿;要研究和追求深层意义上的生动活泼,即人的修改的健康发展,人的智慧能源的深层挖掘,情感能源的充分释放,只有这样,学校建设才适合学生发展;要优化教育机构,大力加强基础教育,积极发展职业教育、成人教育和高等教育,努力自学成才;必须把教育摆在优先发展的战略地位,提高全民族的思想道德和文化水平,这是实现我国现代化的根本大计;手写输入产品市场可谓百花齐放、琳琅满目,汉王、紫光、蒙恬等不下二十种;在这众多的手写输入产品中该怎样选择一款功能强大、适于自己应用的产品呢下面谈一下手写输入产品的选购,希望对需要购买这类产品的用户有所帮助;汉字是当今世界上最古老的文字之一,汉字字型优美、形状方正、结构严谨,是中国古老文化历史的宝贵结晶;毕升开发的活字印刷术后,在手写字体的基础上发展起来印刷体字;汉字历史源远流长;在足球比赛中,教练如果对运动员的配置不好,前场、中场、后场的安排不当,战术、队形的运用欠佳,或者球员在场上不互相配合,甚至互相指责,即使有几个球星,整场比赛也难以取胜;类似这种整体,其功能必然小于各部分功能之和;。
电脑键盘指法练习图电脑键盘指法练习图学习目的:一、正确的指法;二、熟悉字母位置。
电脑键盘指法练习图电脑键盘指法学习步骤:第一步、将手指放在键盘上(如下图,手指放在八个基本键上,两个母指轻放在空格键上)第二步、练习击键(例如要打D键,方法是:1、提起左手约离键盘两厘米;2、向下击键时中指向下弹击D键,其它手指同时稍向上弹开,击键要能听见响声。
击其它键类似打法,请多体会。
形成正确的习惯很重要,而错误的习惯则很难改。
第三步、练习熟悉八个基本键的位置(请保持第二步正确的击键方法)。
第四步、练习非基本键的打法(例如要打E键,方法是:1、提起左手约离键盘两厘米;2、整个左手稍向前移,同时用中指向下弹击E键,同一时间其它手指稍向上弹开,击键后四个手指迅速回位如上图,注意右手不要动,其它键类似打法,注意体会)。
第五步、继续练习,达到即见即打水平(前提是动作要正确)。
1、键盘左半部份由左手负责, 右半部份由右手负责。
2、每一只手指都有其固定对应的按键:(1) 左小指: [`]、[1]、[Q]、[A]、[Z](2) 左无名指: [2]、[W]、[S]、[X](3) 左中指: [3]、[E]、[D]、[C](4) 左食指: [4]、[5]、[R]、[T]、[F]、[G]、[V]、[B](5) 左、右拇指: 空白键(6) 右食指: [6]、[7]、[Y]、[U]、[H]、[J]、[N]、[M](7) 右中指: [8]、[I]、[K]、[,](8) 右无名指: [9]、[O]、[L]、[.](9) 右小指: [0]、[-]、[=]、[P]、([)、(])、[;]、[']、[/]、[\]3、[A][S][D][F][J][K][L][;]八个按键称为“导位键”, 可以帮助您经由触觉取代眼睛, 用来定位您的手或键盘上其他的键, 亦即所有的键都能经由导位键来定位。
4、[Enter]键在键盘的右边, 使用右手小指按键。
5、有些键具有二个字母或符号, 如数字键常用来键入数字及其他特殊符号, 用右手打特殊符号时, 左手小指按住[Shift]键, 若以左手打特殊符号, 则用右手小指按住[Shift]键。
课程设计说明书题目: 打字练习摘要在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设计目的汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
由于汇编语言如此的接近计算机硬件,因此,它可以最大限度地发挥计算机硬件的性能。
由此可见汇编语言的重要性,学好这门课程,同样可为相关的专业打下基础。
汇编语言程序设计课程设计是在教学实践基础上进行的一次试验,也是对该课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计和制造出具有具有一定功能的应用系统,并且在实验的基本技能方面进行了一次全面的训练。
此外,它还可以培养学生综合运用所学知识独立完成汇编程序课题的能力,使学生能够较全面的巩固和应用课堂上所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。
再者,它同样可以提高学生运用理论去处理实际问题的能力和独立思考的能力,使学生的编程思想和编程能力有所提高,最终达到熟练地掌握编写汇编源程序的基本方法的目的。
课程设计说明书题目: 打字练习院系:专业班级:学号:学生姓名:指导教师:2010 年 12 月 31 日安徽理工大学课程设计(论文)任务书计算机科学与工程学院硬件教研室ﻩ2010年12月17日安徽理工大学课程设计(论文)成绩评定表摘要汇编语言是计算机能够给用户使用的最高效快捷的语言,也是唯一能对计算机所有硬件进行操纵的语言。
鉴于汇编语言的用途广泛以及重要性,我花费的大量的时间完成此次课程时机,打字练习。
打字练习是计算机常用的小应用程序,可以给想练习打字的人提供一个好的练习空间。
本文的核心部分是对于详细设计的讲解与分析,而这当中的侧重点又在于设计思想的再现。
关键词:功能模块,核心代码,随机字符,模块调用,功能分析目录1设计目的ﻩ错误!未定义书签。
2概要设计 .......................................................................... 错误!未定义书签。
2.1系统总体分析 ...................................................................................................... 错误!未定义书签。
2.2主模块框图及说明ﻩ错误!未定义书签。
3 详细设计 ......................................................................... 错误!未定义书签。
3.1主模块及子模块说明 ........................................................................................ 错误!未定义书签。
3.2各模块详细设计ﻩ错误!未定义书签。
3.2.1主界面模块.................................................................................................. 错误!未定义书签。
汇编语言课程设计报告( 2014 —- 2015 年度第1 学期)课题名称:打字计时练习程序专业xxx学生姓名xxxx班级xxx学号xxxx指导教师xxx完成日期xxxxx目录1.设计目的与设计要求2。
程序流程图 (5)2。
1主程序流程图 (5)2。
2时间计算流程图 (6)2。
3正确率计算流程图 (7)3.设计关键问题 (9)3。
1输入输出 (9)3.1.1 输出显示信息 (9)3。
1。
2 输入十个字符 (11)3.2 输入字符串所用时间计算 (11)3.3 正确率判断 (13)4.调试运行结果分析 (14)参考文献 (19)附录二打字计时练习程序 (19)一。
设计目的本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题,解决问题的综合应用能力.设计要求在缓冲区预放了一些字母,运行时,可按照屏幕上显示的字母输入练习, 每输入完一行按回车键后,可显示出练习输入的时间。
设计思路1.系统总体分析在缓存区预放了一些字母,运行时可按照屏幕上显示的字母输入练习,每输入完一行按回车键后,可显示出练习输入的时间.当一个句子分析完后(回车键作为结束符),屏幕上以min:sec:msec的格式显示出键入字符的时间。
在每次打字之前,屏幕上先显示一个例句,然后打字员按照例句,将句中字符通过键盘输入。
这个过程共进行五次,当键入一个enter键时,推出打字计时练习程序.在键盘上联系的打字例句及其他地址表,计时单位等预存在DATA数据段中。
自编的中断程序Kbint检测按键时产生的中断,并将按键扫描码转换为ASCII码存入缓存区BUFFER(内存中一个区域),这个工作和EOM09类型的键盘中断例行程序所完成的工作大致相同,只是在解释各个键时作了简化,即只解释了可显示字符(如英文小写字母,数字及一些字符),其他特殊键(如组合键,双态键,功能键),都未做解释,只做字符码0来处理。
经典打字练习文章三篇第一篇:从古至今,人们对打字技能的需求逐渐增加。
无论是在学校、工作场所还是日常生活中,打字都成为了必备的技能之一。
为了提高打字速度和准确性,许多人进行打字练习。
下面是三篇经典打字练习文章,帮助你提升打字技能。
文章一:好的打字习惯能够提高打字速度和准确性。
建议使用正确的手指位置,将左手小拇指放在字母A上,无名指放在字母S上,中指放在字母D上,食指放在字母F上;同样,将右手小拇指放在字母;上,无名指放在字母L上,中指放在字母K上,食指放在字母J上。
使用正确的手指位置可以减少键盘上手指的移动距离,提高打字速度。
此外,保持良好的坐姿和手腕支撑也很重要,避免手部疲劳和受伤。
文章二:打字练习中,熟能生巧。
开始练习时,字母和单词的组合速度应适中,以确保准确性。
随着熟练度的提升,可以逐渐增加打字的难度和速度。
短时间内集中练习,每天进行多次练习,可以加速学习进度。
在练习过程中,发现自己常犯错误的字母或单词,可以有针对性地进行重点练习。
同时,根据个人需求,选择适合自己的打字练习软件或网站,可以提供更多的练习资源和技巧。
文章三:阅读和打字相结合,可以提高打字速度和准确性。
练习打字的同时,阅读一些文章、新闻或故事,逐渐提高对不同类型文本的打字速度。
同时,积累更多的词汇和常用表达,可以提高对文本意思的理解和准确输入。
此外,通过参加打字比赛或与他人进行打字对抗,可以提升自己的竞技水平并获得更多的练习机会。
通过这三篇经典打字练习文章,相信你对提高打字技能有了更深入的理解。
练习打字需要耐心和坚持,但只要每天都坚持练习,并遵循正确的打字方法,你的打字速度和准确性必定会不断提高。
加油吧!第二篇:在现代社会中,打字已成为一项重要的技能。
无论是在学校还是工作场所,我们都会经常需要使用打字工具。
为了提高打字准确性和速度,进行打字练习是非常必要的。
下面是三篇经典打字练习文章,帮助你提升打字技能。
文章一:打字时,手指应该放在合适的位置上,这样能够更快地找到正确的按键,提高打字速度。
课程设计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’退出;程序包括自动计分功能,根据打字的快慢分别获得不同的分数,根据打字的难度,分别变化不同的颜色,并且设置了用户名和密码,使软件运行起来更加安全。
练练打字范本练习打字范本我喜欢打字练习,因为它可以帮助我提高打字速度和准确性。
下面是一个我经常使用的练习打字范本,希望对大家有帮助。
我觉得,十个指头在键盘上起舞,是一种美妙的感觉。
它们像小小的舞者一样,敏捷地跳跃,迅速打出一串又一串的字符。
练习打字不仅可以提高打字速度,还能培养专注力和注意力,对于工作和学习都有很大的帮助。
打字需要我们熟悉键盘上的每一个按键,掌握正确的手指位置和敲击方式。
记得当我开始学习打字的时候,我总是用一个手指一个手指地敲击键盘,非常慢而且容易出错。
后来,我决定认真学习正确的打字方法,并通过反复练习来提高打字速度和准确性。
为了练习打字,我通常会选择一个有趣的文章或者故事作为练习材料。
这样,不仅可以增加阅读的乐趣,还可以锻炼自己的打字技能。
我会找一篇适合自己水平的文章,然后开始打字练习。
在练习过程中,我会尽量避免犯错,并且尽量快速地打出每一个字符。
同时,我还会注意手指的位置和动作,保持正确的打字姿势。
对于一些我不太熟悉的单词或者符号,我会通过查字典或者上网搜索来了解它们的拼写和用法。
这样,不仅可以提高打字速度,还能扩充自己的词汇量。
练习打字需要时间和耐心,但是收获是很大的。
每次练习完之后,我都能感受到自己的进步,这让我更加有动力继续练习。
在经过一段时间的坚持练习之后,我的打字速度和准确性都有了明显的提高。
而且,我发现自己在工作和学习中不再因为打字慢而感到焦虑,可以更加高效地完成任务。
除了练习打字,我还会不断学习新的打字技巧和方法。
有很多专门的打字软件和在线课程可以帮助我们提高打字技能。
我会利用这些资源,不断提高自己的打字水平。
总的来说,打字是一种有趣又实用的技能。
通过练习打字,我们可以提高自己的打字速度和准确性,培养专注力和注意力,提高工作和学习的效率。
希望大家都能积极参与打字练习,提高自己的打字技能。
加油!。
对待一个橘子的好一个日本人因为心脏病作了外科手术,出院时医生给他看账单,他突然气血攻心,晕厥,死亡。
两个美国律师吃饱了没事做,在办公室里赛跑,其中一个近视眼撞破了玻璃,从摩天大楼里飞出,死亡。
阿拉斯加瓦尔迪兹发生石油泄漏后,救援每只海豹的平均花费高达8万美元,在一个特别仪式上,有两只花巨款拯救回来的海报在旁观者的欢呼与掌声中被放回大自然,但在一分钟后,他们被一头杀人鲸吞入肚中。
一个叫凯·拉纳加的恐怖分子在寄邮件炸弹时没有付足邮资,邮件被盖上“退返寄信人”的邮戳退回,而他忘了那是炸弹,于是打开邮包,被炸成碎片……人生真的很无常,你根本不知道,下面会有什么事在等你。
所谓风水轮流转,谁都可以交好运,谁都有可能触霉运,上帝虽然法力无边,但也有打盹的时候,只有“现在”最可信,也一个是最可爱的。
从这个意义上说,众生真的是平等的,王子在日光浴,乞丐也在晒太阳。
如果这有什么区别的话,就是幸福的含金量,就是你用多大的心来享受当下的美- -同样一个橘子,有人几口就囫囵吃完,有人先闭目嗅它的清香,提神,然后剥皮,很美的造型,一瓣瓣地吃,慢慢地嚼,舒缓地咽……如果人生有什么不同,应该从对待一个橘子的态度里就可见吧。
放下最近我与一位美国籍的出家师父相约茶馆,用英文谈论心经。
师父听完我的烦恼,要我以便提起他刚买的3罐番茄汁,一边跟他说话。
随着时间流逝,我受不了酸痛,放下了手。
师父却说:“提起来,继续谈。
”又过了15分钟,我实在承受不住了,师父说:“现在可以放下了。
”看着我狐疑的脸,师父笑了起来。
“你不喜欢提着重物跟我说话,却为何带着烦恼来跟我说话呢?手酸了,放下就好,对待烦恼,不也是如此?烦恼就像这些番茄汁,是你自己用手举起来的。
”最近我开始练习,一手举起有重量的东西,一边想事情。
手酸了,自然会放下,有一天我也会做到,心累了,就把心事放下来。
空信封父亲过世后,我整理他的房间。
他生活简朴,除了几个烟斗,没什么特殊物品。
Init_boarder macro row,col,char,dhdl,countLocal l1mov cx,countmov dh,rowmov dl,coll1:mov ah,02hmov bh,00hint 10hpush cxmov ah,0ahmov al,charmov bh,00hmov cx,01hint 10hpop cxinc dhdlloop l1endmclear_screen macro top,left,bottom,right,col;清屏宏定义 mov ah,06hmov al,00hmov bh,colmov ch,topmov cl,leftmov dh,bottommov dl,rightint 10hendmsetcusor macro page,row,column;设置光标位置mov ah,02hmov bh,pagemov dl,columnmov dh,rowint 10hendmmenu macro row,col,text;菜单显示宏定义mov ah,02hmov bh,00hmov dh,rowmov dl,colint 10hmov cx,0mov ah,09hlea dx,textint 21hendmdata segment; add your data here!;pkey db "press any key...$"kaishi db " welcome to play the game! $"mes0 db " =========================================$"mes1 db " 1.start game $"mes2 db " 2.select $"mes3 db " 3.exit $"mes4 db " =========================================$"mes5 db " select num of menu:$"mes12 db " =========================================$"mes13 db " 1.100 letters $"mes14 db " 2.200 letters $"mes15 db " 3.300 letters $"mes17 db " =========================================$"mes18 db "Correct Rate:$"mes7 db " press any key to start the game... $"mes8 db " press esc key return main menu $"mes10 db " Select The Letter's Num $"mes19 db " wait... $"mes11 db " when the game was over,press enter to restart$"mes9 db "Used Time:$"mes6 db "The correct number:$"col db 00h,24h,0fdh,0dh;颜色num dw ? ;以输入字母的个数numb dw ? ;输入正确字母的个数score dw ? ;每轮游戏的分数grade dw ?sum dw ?n db 26letters db 500 dup(0)hour db 0minu db 0seco db 0endsstack segmentdw 128 dup(0)endscode segmentstart:; set segment registers:mov ax, datamov ds, axmov es, ax; add your code here;clear_screen 0d,0d,24d,79d,07hFrame1:clear_screen 0d,0d,24d,79d,1eh ;清屏Init_boarder 0d,0d,'*',dl,80d ;显示边框上一排星号Init_boarder 24d,0d,'*',dl,80d ;显示边框下一排星号 Init_boarder 0d,0d,'*',dh,25d ;显示边框左一排星号 Init_boarder 0d,79d,'*',dh,25d ;显示边框右一排星号 menu 5d,20d,mes0menu 6d,26d,kaishi ;显示菜单menu 8d,30d,mes1menu 10d,30d,mes2menu 12d,30d,mes3menu 13d,20d,mes4menu 14d,20d,mes5inputMenuNum:mov ah,7 ;输入功能号,无回显int 21hcmp al,'1'je call num1cmp al,'2'je call num2cmp al,'3'je end1jmp inputMenuNum ;输入不符要求重输Frame2 procmov dl,al ;将选择的功能号显示出来mov ah,2int 21hclear_screen 1d,1d,23d,78d,1eh ;清屏,边框还存在menu 9d,20d,mes7menu 11d,20d,mes8; menu 12d,30d,mes10menu 13d,20d,mes11mov cx,2000h ;隐藏光标mov ah,01h ;设置光标大小int 10hmov ah,7 ;无回显输入字符int 21hmov cx,1010h ;显示光标mov ah,01hint 10hretFrame2 endpnum1 procmov dl,al ;将选择的功能号显示出来mov ah,2int 21hclear_screen 1d,1d,23d,78d,1eh;清屏,但边框存在menu 9d,20d,mes7menu 11d,20d,mes8;menu 12d,30d,mes10menu 13d,20d,mes11mov cx,2000h ;隐藏光标mov ah,01hint 10hmov ah,7 ;无回显输入字符int 21hmov cx,1010h ;显示光标mov ah,01hint 10hmov num,100call playretnum1 endpnum2 procmov dl,al ;将选择的功能号显示出来 mov ah,2int 21hclear_screen 1d,1d,23d,78d,1eh;清屏 menu 7d,20d,mes10menu 8d,20d,mes12menu 10d,20d,mes13menu 11d,20d,mes14menu 12d,20d,mes15menu 14d,20d,mes17menu 15d,20d,mes5inputMenuNum1:mov ah,07hint 21hcmp al,'1'jz m1cmp al,'2'jz m2cmp al,'3'jz m3cmp al,27 ;当输入esc键时退到主菜单 jz Frame1jmp inputMenuNum1m1:call Frame2mov num,100 ;设置字符串个数为100call playjmp m4m2:call Frame2mov num,200call playjmp m4m3:call Frame2mov num,300call playjmp m4m4: retnum2 endpplay procmov numb,0 ;正确字符个数clear_screen 02d,02d,23,78,1eh ;清屏(边框还存在) lea si,lettersmov bx,0call getletter ;调用生成字符串子程序menu 20d,15d,mes19setcusor 0d,3d,10d ;设置光标位置clear_screen 02d,02d,23,78,1eh ;清屏(边框还存在) call outlettersetcusor 0d,4d,10d ;设置光标位置mov ah,2ch ;获取当前时间int 21hmov hour,ch ;获取的小时放入hour中mov minu,cl ;获取的分钟放入minu中mov seco,dh ;获取的秒钟放入seco中call inputlettermenu 20d,5d,mes9call counttimecall outtimemenu 20d,25d,mes6mov ax,numbcall PRINTAXmenu 20d,50d,mes18call CorrectRateinput_quit:mov ah,07hint 21hcmp al,27jz Frame1cmp al,0dhjz call playjmp input_quitretplay endp;*************************************;实现随机产生字符串getletter procoutput_letter:mov ah,2ch ;获取时间 ch为小时,cl为分,dh为秒,dl为1%秒int 21hmov al,dl ;将1%秒放入al中mov ah,0 ;将ah置0,ax当被除数div n ;n为26,将商放到al中,将余数放入ah中mov dl,ah ;将余数放入dl中add dl,61h ;a的ascii码为61,将余数加上61得到随机产生字母的ascii码mov [si],dl ;将随机产生的字符放入到letters中inc si ;letters的偏移量加1inc bxcall DELAY ;计数量加1cmp bx,num ;将已产生的字符量与所需产生的字符数比较jnz output_letter ;当小于所需产生的字符数时,跳转至output_lettermov [si],'$' ;字符串结束retgetletter endp;*************************************;实现字符串的换行输出outletter proclea si,letters ;获取letters的首地址again:mov dl,[si] ;将字符串相应偏移地址里的字符放入dl 中mov ah,02h ;显示字符int 21hinc si ;letters偏移地址加1cmp [si],'$' ;判断是否已经到字符串的末尾jz q2 ;当已到达字符串末尾时跳转至q2,反之顺序执行mov ah,03h ;获取光标当前位置 dh=行号,dl=列号 mov bh,0int 10hcmp dl,75d ;判断光标列号是否为75,即已到达改行末尾jz q1 ;当光标列号是为75跳转至q1jmp againq1: add dh,2d ;将当前光标行号加2,实现隔行输出setcusor 0d,dh,10d ;重新设定光标位置jmp againq2: retoutletter endpinputletter proclea si,letters ;获取字符串的首地址mov cx,num ;将字符串的长度放入cx中input:push cx ;将cx压栈mov ah,03h ;获取光标当前位置 dh=行号,dl=列号 mov bh,0 ;页号为0int 10hcmp dl,75d ;将光标当前列号与75作比较jz l5 ;当光标当前列已是75则跳转到l5l6: mov ah,7 ;输入字符无回显,al接收输入字符的ascii 码int 21hcmp al,08h ;判断输入键是否为退格键(退格键ascii 码为08h)je l3 ;当输入退格键跳转至l3,若不是则往下执行cmp al,27 ;判断输入键是否为esc键(esc键ascii 码为27h)je quit ;当输入的是esc键,跳转至qiut,若不是则往下执行cmp al,[si] ;将输入字符与letters里相应字符比较je l1 ;当相等时跳转至l1,反之往下执行jne l2 ;当输入的字符与letters里相应字符不相等,跳转至l2done: mov dl,al ;将输入的字符放入dl中mov ah,2 ;输出字符int 21hinc si ;letters的偏移量加1pop cxdec cxjnz inputjmp l4l1: add numb,1 ;输入的字符正确,记录输入输入正确个数的numb加1mov ah,09H ;在当前光标位置显示字符,不改变光标位置mov bh,0Hmov bl,2fh ;背景颜色为绿色mov cx,1int 10Hjmp donel2:call SOUND ;输入错误mov ah,09H ;在当前光标位置显示字符,不改变光标位置mov bh,0Hmov bl,4fh ;Z表示颜色。
1课程设计题目与要求设计题目:打字练习程序课程设计内容:设计一个在键盘上练习打字的程序。
先在屏幕上显示一段文字,用户按照它在键盘上输入,如果按错键则以红色显示并报警,正确的输入,则正常显示。
课程设计目的:熟悉和掌握有关键盘ASCⅡ码,中断及字符显示技术。
课程设计要求:自行编制报警中断和显示错字红色中断处理程序,为保存原中断向量。
程序运行时,通过条件调用自编的中断向量处理程序。
程序退出时,恢复中断向量。
屏幕上显示出提示信息和练习的字符段,按照字符段从键盘上输入字符即可,每输入完一行后能自动刷新练习的字符段按Esc键可退出程序。
2相关理论知识2.1扬声器驱动PC机上的大多数I/O都是由主板上的8255(或8255A)可编程外围接口芯片(PPI)管理,用PPI输出寄存器中的PB0和PB1来控制扬声器的驱动,而8253的通道2的输出端与扬声器相连,PB0连接通道2的CKL2,PB1和通道2的OUT2通过一与非门连接扬声器,在PB0与PB1都为高电平时,由8253产生的脉冲就进入扬声器产生声音。
2.2 相关指令1)无条件转移指令无条件转移指令必须指定转移的目标地址(或称为转向地址),将程序无条件地转移到目标地址,去执行从该地址开始的指令。
如“JMP 目标地址”2)条件转移指令条件指令是根据执行该指令前标志位的状态而决定是否发生的控制转移指令。
每条指令测试不同的标志位组合,看是否满足条件。
若不满足,则继续执行跟在条件转移指令后面的指令;若满足则将程序控制指令转移到改指令给出的目标地址,去执行那里开始的程序。
如用到的“JA 目标地址”用到的标志符:JC-------CF标志为1,则转移JNC-------CF标志为0,则转移JA-------高于/不低于等于转移JB-------低于/不高于等于转移JG-------大于/不小于等于转移3)循环控制指令在设计循环程序时,可用于控制指令来控制循环是否继续。
如loop指令,其指令格式“loop 目标地址”4)子程序调用和返回指令CALL指令:实现子程序(或过程)的调用。
练习打字的训练习题掌握良好的打字技能对于现代社会和个人发展都具有重要意义。
在信息时代,打字已成为一项基本技能,对于办公工作、学习和沟通都起到至关重要的作用。
为了提高我们的打字速度和准确性,以下是一些练习打字的训练习题,帮助大家进行有效的练习。
一、基础字母练习练习从头到尾熟悉并熟练输入字母表中的所有字母,可以通过以下方式进行:1. 随机选择一种打字软件或在线打字网站,在规定时间内尽量快速而准确地键入字母表中的所有字母。
可以记录下所用时间,以后可以作为参考。
2. 将字母表按顺序复制到文档中,由头至尾将每个字母输入正确,然后再从尾部至头部输入一遍。
通过这样的练习,可以帮助加深对各个字母的记忆和熟悉程度,为后续的打字练习奠定基础。
二、单词和短语练习1. 练习输入常用的单词从简单到复杂,逐步增加难度,输入一些常用的单词,可以选择与工作、学习或兴趣爱好相关的词汇。
可以通过背诵目标单词并输入,逐渐提高输入速度和准确性。
2. 练习输入常用短语选择一些常见的短语,并逐渐增加长度,例如“Thank you.”,“How are you?”等。
通过反复练习,提高对常见短语的识别和输入速度。
三、段落和文章练习1. 练习输入段落选择一些短文段落,逐步增加长度和复杂度,要求在规定的时间内尽可能准确地将其输入。
可以通过练习提高对段落结构和语法的理解,并增强打字速度和准确性。
2. 练习快速打字文章选择一些具有挑战性的文章,要求在规定的时间内迅速完成打字。
这样的练习可以帮助提高打字速度和应对压力的能力。
四、盲打练习盲打是指不看键盘,只凭记忆输入文字。
通过盲打练习,可以培养快速而准确地将思维转化为动作的能力。
1. 使用纯文本编辑器或关闭计算机屏幕,只依靠记忆,输入一些常见的短句或段落。
在练习过程中,可根据需要随时检查输入的准确性和错误。
2. 在网上寻找一些盲打练习软件或应用程序,按照指示逐步练习。
通过以上的练习,你可以逐渐提高打字速度和准确性。
攀枝花学院学生课程设计(论文)题目:打字练习学生姓名学号:所在院(系):计算机学院专业:2009计算机科学与技术班级:第二组指导教师:何老师职称:讲师2010年01月07日攀枝花学院本科学生课程设计任务书摘要微机原理及应用是一门实践性很强的课程;其课程设计目的在于综合运用所学知识,全面掌握微机计算机与DOS方式的工作原理、编程和使用方法;在设计中,通过小组协作提出并论证设计方案,进行软件调试,最后获得正确结果,可以加深和巩固对理论知识的更好掌握,进一步建立计算机应用系统体的概念,初步掌握DOS开发方法,为以后进行实际的软件应用开发奠定良好的基础。
本设计是利用Masm for window集成实验环境来实现得打字练习程序,当前,在计算机和许多手机上流行许多小游戏,小软件,应用都很广泛,比如本次编写的练习打字小程序就很有趣,不仅让我们学习打字,更加重要的是我们在编写的过程中更好的掌握学过的知识,锻炼了我们的编程技能。
通过运用汇编语言中有的循环,子程序调用等来完成程序的编写,并且通过对程序的调试,逐步的掌握汇编语言的功能,在自己不足的方面进行改正,进一步的巩固所学的知识,熟练应用汇编语言进行一些程序的制作,进一步培养了对编程的兴趣关键词课程设计,软件调试,打字练习,编程1 设计内容简介1.1 设计任务设计主菜单:按回车键进入打字练习;按ESC键进入延缓界面;按空格键暂停;按大写字母“E”程序结束。
将两位十进制数从屏幕上方落下,用户要在这个过程中键入落下的字母,在下落的过程中键入落下的数字,如果正确,数字消失;键入不正确,数字继续下落。
若键入正确,则得分,没有键入正确,不扣分。
在打字的过程中,每下落十个数记一次总成绩。
1.2 设计思想用汇编语言实现打字程序的思想,首先用BIOS的10H中断类型的02H功能置光标位置,接着用DOS的21H中断类型的09H功能显示字符串来显示主界面;调用DOS的21H的08H功能,接受从键盘输入的字符到AL寄存器,判断AL如果为回车以默认速度开始游戏,如为S键则进入速度选择界面,如为E键则退出程序;进入速度选择界面后,调用DOS的21H的08H功能,选择速度后进入游戏;进入游戏后,随机落下一字母,通过21H的06H功能调用,接受从键盘输入的字符到AL 寄存器,如键入ESC进入成绩界面,如键入空格则暂停游戏,如没有得到输入或输入错误则继续下落,输入正确则字母消失,并通过21H的02H功能调用发生响铃;接着继续下落其他字母,如果落下的字母数大于78个则退出游戏进入成绩界面。
课程设计说明书题目: 打字练习院系:专业班级:学号:学生姓名:指导教师:2010 年 12 月 31 日安徽理工大学课程设计(论文)任务书计算机科学与工程学院硬件教研室2010年12月17 日安徽理工大学课程设计(论文)成绩评定表摘要汇编语言是计算机能够给用户使用的最高效快捷的语言,也是唯一能对计算机所有硬件进行操纵的语言。
鉴于汇编语言的用途广泛以及重要性,我花费的大量的时间完成此次课程时机,打字练习。
打字练习是计算机常用的小应用程序,可以给想练习打字的人提供一个好的练习空间。
本文的核心部分是对于详细设计的讲解与分析,而这当中的侧重点又在于设计思想的再现。
关键词:功能模块,核心代码,随机字符,模块调用,功能分析目录1设计目的 (1)2概要设计 (2)2.1系统总体分析 (2)2.2主模块框图及说明 (2)3 详细设计 (4)3.1主模块及子模块说明 (4)3.2各模块详细设计 (4)3.2.1主界面模块 (4)3.2.2随机字母产生模块 (6)3.2.3字母落下模块 (7)3.2.4暂停模块 (8)3.2.5返回主界面模块 (9)4.程序调试 (9)4.1运行界面分析 (10)4.2调试过程及分析 (11)5心得体会 (12)5.1设计体会 (12)5.2系统改进 (12)参考文献 (13)1设计目的这次课设的任务是写一个程序,运行可执行程序后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E’退出。
通过课程设计,主要达到以下目的:1. 增进对汇编语言的认识,加强用汇编语言编程的能力;2. 掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等;3. 了解和掌握汇编语言程序设计过程、方法及实现,为以后微机原理课程的学习打下良好基础;4. 通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中;5. 掌握屏幕输出显示的设计方法。
课程设计2010~ 2011学年第二学期设计题目打字练习程序的设计院(系)计算机科学与信息工程专业计算机科学与技术班级 09104301学号 27学生姓名李迅设计时间2011年 6 月 20 日——2011年 6 月 24日指导教师宓双提交日期 2011年6月23日上海应用技术学院课程设计任务书指导教师(签名):宓双教研室主任(签名):2011年6 月19 日2010年6 月19日目录1概述: (1)1.1基本功能: (2)1.2拓展功能 (3)1.3其他功能 (3)2详细设计说明 (3)2.1原“TYPETEST.ASM”程序结构 (4)2.2已经实现的功能(修改的、新编写的)程序结构 (5)3对该“打字练习程序”的进一步设想 (10)3.1 (10)3.2 (11)3.3 (11)4课程设计总结 (11)5软件使用说明 (12)6附录(参考文献,原代码:) (12)参考文献: (12)原代码 (12)1概述:编写一个程序,执行程序后,出现主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按回车键进入打字练习;按ESC键返回主界面;按空格键暂停;按‘E’退出。
因此程序要包含以下几个模块:菜单显示模块、字母显示模块、字母下落模块、暂停处理模块、退出返回模块等。
1.1 基本功能:2认真阅读“typetest.asm”源程序, 理解程序每一条指令在程序中的作用。
绘制程序流程图(简略总图,各模块详细流程图),给程序中的关键语句(后跟分号)作注释。
3设置输入界面, 用户输入密码后才能进入主菜单;4修改主菜单, 在主菜单上显示当天日期;5修改主菜单, 增加可供用户选择难度级别的选项。
6为用户打分,正确输入字母使用时间越少,得分越高。
7修改程序, 在屏幕右上角显示用户得分、已输入字母数、正确数。
将程序中的“置光标位置”程序段落用宏调用完成, 添加“置光标位置”宏定义7.1 拓展功能8设置限定时间,到达该时间,用户尚未得到要求的分数时,游戏停止。
9到达限定时间,用户得分达到预设的值时, 自动提高难度等级, 屏幕变色。
10修改程序,底行的笑脸字母消失后,不再在该列下落字母(提示:设置数组记录笑脸字母的存在与否)。
笑脸字母全部消失后, 游戏停止, 显示告别画面,显示用户成绩。
10.1 其他功能设置限定出错次数,到达该出错次数,游戏停止11详细设计说明首先先定义一个清屏幕的宏。
调用这个宏,就清除Dos界面上的所有内容,专门显示我们所需要的菜单。
接着定义我们的数据段代码。
在数据段中,有我们菜单中所需要显示的提示信息,还有要显示在界面上方的字母乱序,以及给显示字母乱序所留出的数据空间。
接下来就是定义堆栈段代码,为各段留下空间。
再下来就是最重要的代码段,因为所有的功能都是在代码段中实现的。
代码段中先实现显示主菜单、按Enter键开始程序和按E退出这几项简单的功能。
接着实现显示字母乱序的功能,主要思想是将字母乱序放到之前定义的寄存器中。
然后实现接受键盘所输入的内容的功能。
如果输入的是Esc,则返回主菜单;如果输入的是Space,程序就暂停;如果是正确的字母,改字母就消失。
消失的思想就是在当前字母位置输入空格,然后光标放到下一个下落的字母的位置。
11.1 原“typetest.asm”程序结构打字练习程序的主要流程如图所示。
11.2 已经实现的功能(修改的、新编写的)程序结构设置输入界面, 用户输入密码后才能进入主菜单;id db 1,1,2,3,5,8inf db ?string db 0ah,0dh,"Please enter the password(******):$"string1 db 0ah,0dh,"The password is wrong ,please enter the password again:$"lea dx,stringmov ah,09hint 21htwo:mov cx,6lea si,idagain:mov ah,01hint 21hand al,0fhcmp al,[si]jnz oneinc siinc bxloop againjmp exit1one:lea dx,string1mov ah,09hint 21hjmp two修改主菜单, 在主菜单上显示当天日期;mov cx,6mov bx,0mov ah,0mov al,9s:push cxpush axout 70h,alin al,71hmov ah,almov cl,4shr ah,cland al,00001111badd ah,30hadd al,30hmov byte ptr ds:[bx],ahmov byte ptr ds:[bx+1],alpop axcmp al,4jna s1jmp short s2s1:dec als2:cmp al,7jne oksub al,2ok:dec aladd bx,3pop cxloop smov dx,0mov ah,9int 21h修改主菜单, 增加可供用户选择难度级别的选项。
mes11 db "Hit:$"mes12 db "Right:$"mes13 db "Score:$"mov ah, 01hint 21hcmp al, '1'je next1cmp al, '2'je next2cmp al, '3'je next3jmp keyin1next1:mov bx,9999hmov speed,bxjmp nextnext2:mov bx,5000hmov speed,bxjmp nextnext3:mov bx,2000hmov speed,bxnext:修改程序, 在屏幕右上角显示用户得分、已输入字母数、正确数。
mes11 db "Hit:$"mes12 db "Right:$"mes13 db "Score:$"score_display procInit_place 00d, 65dint 10hlea dx,mes12mov ax,scorecall writedecInit_place00d, 43dlea dx,mes13mov ax,scorecall writedecretscore_display endphit_display procmov ah, 0ahmov al, " " ;将空格赋值为AL mov bh, 00hmov cx, 01hint 10hmov [save],dlmov [save+1],dhInit_place00d, 55dlea dx,mes11add hit,1mov ax,hitcall writedecmov dl,[save]mov dh,[save+1]rethit_display endp将程序中的“置光标位置”程序段落用宏调用完成, 添加“置光标位置”宏定义。
Init_placemacro row, col;置光标位置宏定义mov ah, 02hmov bh, 00hmov dh, rowmov dl, colint 10hendm12对该“打字练习程序”的进一步设想12.1设置限定出错次数,到达该出错次数,游戏停止wrong db 30mes9 db "Game Over!$"dec wrongcmp wrong,0jne passjmp overover: clear_screen 01d, 01d, 23d, 78d ; 清屏menu 03d, 33d, mes9mov ax, 4c00h ;退出程序13课程设计总结设计体会刚拿到这个题目觉得特别难,感觉无从下手。
汇编语言不同于高级语言,对于高级语言,我们心中可以有一个非常清晰的思路,在实现功能的时候非常得心应手。
但汇编语言不同,它是面向机器的语言。
用它编写程序时的思路应该按照机器执行程序的思路来编写,所以这个挑战对我来说非常大。
在编写程序之前,首先要摒弃高级语言思路的干扰。
在做准备工作的时候,我从网上找到了相关的代码,照着别人的步骤感受汇编语言编写程序的思路。
很多地方都不是太明白,但是通过查询课本以及上网找相关资料,还是把一些内容理解了。
在编写的时候,我也是按照别人的思路,一步一步进行。
很多地方看似简单,但是等到自己亲自实践的时候就编的很复杂。
汇编语言的前后联系非常紧密,如果要改一点东西的话整个程序的很多地方都要重新做,可以说是牵一发而动全身。
所以在编写的时候要很仔细,要记住前面已经实现了那些功能,还有那些功能要实现,这些必须记好,否则程序会出错。
通过这次课程设计,我了解了汇编语言编写程序的步骤:先确定程序要实现的功能,接着定义需要的寄存器、存储器,如果需要的话还要画出流程图。
然后逐个模块实现其功能。
如果将模块分好了,再去实现它的功能就不是那么复杂了。
此次的课程设计,提高了我阅读和分析程序的能力。
因为刚一拿到目标代码时,有太多的不明白,必须一行一行地分析其目的和功能。
而时间又比较紧迫,所以我在比较短的时间里分析出了代码的道理。
在这个过程中我的分析与模仿能力得到了提高。
系统改进本系统可以改进的地方有很多。
首先我做的界面不够华丽,显得很单调。
其次,字母下落的速度太单一,如果能随着玩的时间增加再加快就更好了。
而且计分系统没把字母输入时间也计算在内。
难度选择时候没有输入其它字符时的处理如果能加上这些功能的话那么程序的可用性以及完整性就有能上一台阶。
14软件使用说明登入密码:11235815附录(参考文献,原代码:)参考文献:[1]李敬兆8086/8088和arm核汇编语言程序设计中国科技大学出版社[2]沈美明,温冬婵编著IBM—PC汇编语言程序设计(第二版)清华大学出版社出版[3]罗云彬Windows环境下32位汇编语言程序设计电子工业出版社[4]【美】Kip R.Irvine 著,温玉杰等译Intel 汇编语言程序设计(第四版)电子工业出版社[5]吕晓庆80386/80486系统编程实践淅江大学出版社[6]袁可风汇编语言程序设计江西高校出版社[7]戴水贵Windows汇编语言程序设计教程清华大学出版社[8]罗杰INTEL86系列汇编语言程序设计江西科学技术出版社原代码; Assembly program for test your type skills; Writed by in 06/24/2003; Modified by Mi shuang in 06/06/2005; ------------------------------------------------Init_boarder macro row, col, char, dhdl, count;设置边框Local llmov cx, countmov dh, rowmov dl, colll: mov ah, 02hmov bh, 00hint 10hpush cxmov ah, 0ahmov al, charmov bh, 00hmov cx, 01hint 10hpop cxinc dhdlloop llendm; ------------------------------------------------Init_placemacro row, col;置光标位置宏定义mov ah, 02hmov bh, 00hmov dh, rowmov dl, colint 10hendm; ---------------------------------------------------clear_screen macro top, left, bottom, right; 清屏宏定义mov ah, 06hmov al, 00hmov bh, 07hmov ch, topmov cl, leftmov dh, bottommov dl, rightint 10hmov ah, 02hmov bh, 00hmov dh, 00hmov dl, 00hint 10hendm; ----------------------------------------------------menu macro row, col, text; 菜单显示宏定义mov ah, 02hmov bh, 00hmov dh, rowmov dl, colint 10hmov ah, 09hlea dx, textint 21hendm; ====================================================== include ylib.hData segmentdb "00/00/00 00:00:00",'$'ZK db "WELCOME TO PLAY$"date db "date:$"mes0 db "Press Enter key to continue.......$"mes1 db "When a letter is dropping,please hit it!$"mes2 db "Press space key to pause!$"mes3 db "Press ESC key to return main interface!$"mes4 db "Press letter 'E' to exit!$"mes5 db "Please choose the difficulty:$"mes6 db "No.1 easy$"mes7 db "No.2 normal$"mes8 db "No.3 hard$"mes9 db "Game Over!$"mes10 db "Your Score is:$"mes11 db "Hit:$"mes12 db "Right:$"mes13 db "Score:$"wrong db 30Speed dw ?Letters db "jwmilzoeucgpravskntxhdyqfb"db "iytpkwnxlsvxrmofzhgaebudjq"db "nwimzoexrphysfqtvdcgljukda"Present_position db 1db 0id db 1,1,2,3,5,8inf db ?string db 0ah,0dh,"Please enter the password(******):$"string1 db 0ah,0dh,"The password is wrong ,please enter the password again:$" score dw 0hit dw 0right dw 0save db ?Data ends; ========================================================= code segmentmain proc farassume cs: code, ds: datastart: mov ax, datamov ds, axmov es, axmov cx, 5000hmov ah, 01hint 10h ;设置光标类型clear_screen 00d, 00d, 24d, 79d ;清屏lea dx,stringmov ah,09hint 21htwo:mov cx,6lea si,idagain:mov ah,01hint 21hand al,0fhcmp al,[si]jnz oneinc siinc bxloop againjmp exit1one:lea dx,string1mov ah,09hint 21hjmp twoexit1:Init_boarder 00d, 00d, 0ah, dl, 80dInit_boarder 24d, 00d, 0ah, dl, 80dInit_boarder 00d, 00d, 0ah, dh, 25dInit_boarder 00d, 79d, 0ah, dh, 25d ;设置边框menu 05d, 15d, ZK ; 显示菜单menu 07d, 15d, datemov cx,6mov bx,0mov ah,0mov al,9s:push cxpush axout 70h,alin al,71hmov ah,almov cl,4shr ah,cland al,00001111badd ah,30hadd al,30hmov byte ptr ds:[bx],ahmov byte ptr ds:[bx+1],alpop axcmp al,4jna s1jmp short s2s1:dec als2:cmp al,7jne oksub al,2ok:dec aladd bx,3pop cxloop smov dx,0mov ah,9int 21hmenu 09d, 15d, mes0menu 11d, 18d, mes1menu 13d, 18d, mes2menu 15d, 18d, mes3menu 17d, 15d, mes4Init_place 22d,33dkeyin: mov ah, 07h ; 从键盘输入命令字符int 21hcmp al, 0dhje begincmp al, 'E' ;不等就和e做比较je exit ;如果相等则转exitjmp keyin ;不等跳转到keyinexit: mov ax, 4c00h ;退出程序int 21hbegin:clear_screen 00d, 00d, 24d, 79d ; 清屏menu 00d, 43d, mes13menu 00d, 55d, mes11menu 00d, 65d, mes12Init_boarder 24d, 00d, 0ah, dl, 80dInit_boarder 00d, 00d, 0ah, dh, 25dInit_boarder 00d, 79d, 0ah, dh, 25d ;设置边框menu 05d, 15d, mes5 ; 显示菜单menu 11d, 18d, mes6menu 13d, 18d, mes7menu 15d, 18d, mes8Init_place 22d,33dkeyin1:mov ah, 01hint 21hcmp al, '1'je next1cmp al, '2'je next2cmp al, '3'je next3jmp keyin1next1:mov bx,9999hmov speed,bxjmp nextnext2:mov bx,5000hmov speed,bxjmp nextnext3:mov bx,2000hmov speed,bxnext:clear_screen 01d, 01d, 23d, 78d ; 清屏Init_boarder 23d, 01d, 01h, dl, 78d ; 设置边框Init_place 01h,01hmov cx, 78lea si, lettersnextletter:mov ah, 02h ; 显示字母mov dl, [si]int 21hinc siloop nextletterstart_game:mov ah, 2chint 21h ;调取系统时间chcldh分别存放时分秒inc dl ;自增cmp dl, 78jna sg1sub dl, 78sg1: mov present_position, dllea di, lettersadd di, word ptr present_position ;将当前列数赋给didec di ;自减mov dl, present_position ;将当前列数赋给dlmov ah, 02hmov bh, 00hmov dh, 01hint 10h ;设置光标类型mov cx, 21d ;设置循环次数nextrow: push cxmov cx,speed ;设置字母下降速度wait_for_key: ; 延迟push cxmov cx,1000delay:loop delaypush dxmov ah, 06h ; 从键盘输入字符mov dl, 0ffhint 21hpop dxjz passcmp al, 1bh ; 如果键入ESC,则返回主菜单je to_startcmp al, " " ; 如果键入SPACE,则游戏暂停jne pass0pause: push dx ; 暂停处理mov ah, 06hmov dl, 0ffhint 21hpop dxcmp al, " " ;将字符和空格作比较jne pause ;不等则转换至空格jmp passto_start: jmp exit1pass0: cmp al,[di] ; 输入字母正确!则字母消失je disappearcall hit_displaydec wrongcmp wrong,0jne passjmp overpass:pop cxLOOP wait_for_key ;跳转到wait_for_keydown:mov ah, 0ah ; 在当前光标位置写空格mov al, " "mov bh, 00hmov cx, 01hint 10h ;设置光标类型inc dh ;自增mov ah, 02h ; 改变光标位置mov bh, 00hint 10hmov ah, 0ah ; 在当前光标位置写字母mov al, [di]mov bh, 00hmov cx, 01hint 10h ;设置光标类型pop cxloop nextrow ; 下一行letter_over: ;比较下个字母mov ah, 0ahmov al, " "mov bh, 00hmov cx, 01hint 10h ;在光标位置显示字符inc dh ;自增mov ah, 02hmov bh, 00hint 10h ;设置光标位置mov ah, 0ahmov al, " " ;将空格赋值为ALmov bh, 00hmov cx, 01hint 10hjmp next_letterdisappear: ; 击中字母后输出空格pop cxpop cxmov ah, 0ah ;调用0a号功能mov al, " " ;将空格赋给almov bh, 00hmov cx, 01hint 10h ;在光标位置显示空格add score,1call score_displaycall hit_displaynext_letter:mov ah, 02h ;调用02号功能mov bh, 00h ;在第0页mov dh, 01hmov dl, present_position ;将当前列数赋给dlint 10h ;bios调用mov al, [di] ; 出现下一个新字母的算法add al, 7 ;al+7cmp al, 7ahjna next_letter1sub al, 26next_letter1:mov ah, 0ahmov bh, 00hmov cx, 01hint 10h ;bios调用mov [di], aljmp start_gameover: clear_screen 01d, 01d, 23d, 78d ; 清屏menu 03d, 33d, mes9mov ax, 4c00h ;退出程序int 21hscore_display procInit_place 00d, 65dint 10hlea dx,mes12mov ax,scorecall writedecInit_place00d, 43dlea dx,mes13mov ax,scorecall writedecretscore_display endphit_display procmov ah, 0ahmov al, " " ;将空格赋值为AL mov bh, 00hmov cx, 01hint 10hmov [save],dlmov [save+1],dhInit_place00d, 55dlea dx,mes11add hit,1mov ax,hitcall writedecmov dl,[save]mov dh,[save+1]rethit_display endpmain endpcode endsend start。