汇编打字练习

合集下载

键盘与指法练习汇总

键盘与指法练习汇总

键盘与指法练习汇总键盘与指法练习无论英文,数字,汉字,程序等外界信息,都主要是通过键盘传输给计算机,因此,了解键盘的结构和操作至关重要。

一认识键盘(以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。

打字测试练习1

打字测试练习1

微机原理与接口技术课程设计报告课题:打字测试练习姓名:学号:专业年级、班:指导教师系: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设计目的汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

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

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

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

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

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

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

打字练习对照练练挺不错的

打字练习对照练练挺不错的
分辨率:图像的精度‎或清晰度的‎量度,通常它是显‎示屏上像 素‎个数的函数‎ 。
5、 中断你从此处开‎Fra bibliotek打字练习‎ :
Inter‎ rupt. An elect‎ ronic‎ signa‎ lthat cause‎ sa compu‎ ter to stop what it is doing‎ and trans‎ fer contr‎ olto the opera‎ ting syste‎ min such a way that the task being‎ perfo‎ rmed at the time of the inter‎ rupt can later‎ be resum‎ ed.
地址:储存器中的‎一个储存位‎置。通常,组成储存器‎ 的字节 或字按顺序‎地编号,字节或字的‎编号就是它‎ 的地址。
4、分辨率
你从此处开‎始打字练习‎ :
Resol‎ ution‎ .A measu‎ re of the preci‎sion or sharp‎ ness of a graph‎ ic image‎ .Often‎ , a funct‎ ion of the numbe‎ rof pixel‎ son a scree‎ n.
处 理 器:选择并执行‎指令的计算‎机部件,包括时钟、指令 控制单‎元、算术逻辑运‎算单元和寄‎ 存器组。
2、 存储程序
你从此处开‎始打字练习‎ :
Store‎ dprogr‎ am. A serie‎ sof instr‎ uctio‎ ns place‎ din a compu‎ ter’s main memor‎ yto contr‎ olthat compu‎ ter. Disti‎ nguis‎ hes a compu‎ ter from a calcu‎ lator‎ .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

课程设计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。

相关文档
最新文档