汇编语言课程设计报告打字练习程序(内附源程序).doc
《汇编语言课程设计报告打字练习程序(内附源程序).doc》由会员分享,可在线阅读,更多相关《汇编语言课程设计报告打字练习程序(内附源程序).doc(33页珍藏版)》请在三一办公上搜索。
1、课程设计2010 2011学年第二学期设计题目 打字练习程序 院(系) 计算机科学与信息工程 专 业 计算机科学与技术 班 级 091041b1 学号 0910411113 学生姓名 王涛 设计时间 2011年 6 月 20 日2011 年 6 月 24日 指导教师 蒯锐 提交日期 2011年6月24日 上海应用技术学院课程设计任务书课程名称汇编语言课程设计课程代码B704207设计题目打字练习程序题目序号设计时间2011年 6月 20日 2011年 6月 24日系(院)计算机科学与信息工程专业计算机科学与技术班级091041b1一、课程设计任务(条件)、具体技术参数(指标)本课程设计是80X
2、86汇编语言程序设计课程的后继教学环节, 通过对一个较大型的、综合性的应用程序进行阅读、修改、添加功能等工作, 使学生对汇编语言程序设计有更进一步的认识, 提高阅读理解复杂程序的能力和程序设计能力。根据所给的“typetest.asm”应用程序框架, 在此基础上修改和添加功能。基本任务:1认真阅读“typetest.asm”源程序, 理解程序每一条指令在程序中的作用。绘制程序流程图(简略总图,各模块详细流程图),给程序中的关键语句(后跟分号)作注释。设置输入界面, 用户输入密码后才能进入主菜单 ;2. 修改主菜单, 在主菜单上显示当天日期 ;3. 修改主菜单, 增加可供用户选择难度级别的选项。
3、4. 为用户打分,正确输入字母使用时间越少,得分越高。5. 修改程序, 在屏幕右上角显示用户得分、已输入字母数、正确数。6. 将程序中的“置光标位置”程序段落用宏调用完成, 添加“置光标位置”宏定义。扩展任务:7. 设置限定时间,到达该时间,用户尚未得到要求的分数时,游戏停止。8. 到达限定时间,用户得分达到预设的值时, 自动提高难度等级, 屏幕变色。9. 修改程序,底行的笑脸字母消失后,不再在该列下落字母(提示:设置数组记录笑脸字母的存在与否)。笑脸字母全部消失后, 游戏停止, 显示告别画面,显示用户成绩。其他任务:自行设计新的功能。二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、
4、实物等软硬件要求)(1) 分析原“typetest.asm”程序结构: 画出主程序粗略的流程图和各个模块的详细流程图,每个功能模块用文字说明他们的功能(与对应流程图放在一起);(2) 对你已经实现的功能(修改的、新编写的)做详细的说明, 并附上流程图及程序清单(修改/增加的指令请使用大写字母,以示区别);(3) 自己对该“打字练习程序”的进一步设想;(4) 对于有设想但最终未实现的功能的大致编程思路的阐述;(5) 论述在设计过程中遇到的并且对你具有启发性的问题。(6) 严禁抄袭,发现雷同,双方扣分。三、课程设计工作进度计划:周一:教师布置任务,讲解本课设模块。学生细读原始源程序,在重要行添加注
5、解。周二:画出主程序粗略的流程图和各个模块的详细流程图,开始基本任务。周三周四:设计程序及调试程序。同时着手写报告。周五:完成设计,提交报告,接受教师考评。四、主要参考资料1 杨文显,宓双,胡建人.新编汇编语言程序设计,清华大学出版社,20102 朱玉龙,任文览等.汇编语言程序设计,清华大学出版社,20033 美Kip R.Irvine. 电子工业出版社,2004指导教师(签名):蒯锐 教研室主任(签名):杨晶鑫 2011年 6 月 20 日 2011年 6 月 20 日目录2010 2011学年第二学期11.概述51.1基本功能51.2扩展功能62.详细设计说明72.1分析原“typetes
6、t.asm”程序结构82.1已经实现的功能(修改的、新编写的)说明93. 对该“打字练习程序”的进一步设想103.1 113.2123.3124. 课程设计总结135. 软件使用说明136附录(参考文献,原代码)146.1参考文献146.2 源代码151 概述本课程设计是80X86汇编语言程序设计课程的后继教学环节, 通过对一个较大型的、综合性的应用程序进行阅读、修改、添加功能等工作, 使学生对汇编语言程序设计有更进一步的认识, 提高阅读理解复杂程序的能力和程序设计能力基本功能1.1基本功能(1) 设置输入界面, 用户输入密码后才能进入主菜单(2) 修改主菜单, 在主菜单上显示当天日期。(3)
7、 修改主菜单, 增加可供用户选择难度级别的选项。(4) 为用户打分,正确输入字母使用时间越少,得分越高。(5) 修改程序, 在屏幕右上角显示用户得分、已输入字母数、正确数。(6) 将程序中的“置光标位置”程序段落用宏调用完成, 添加“置光标位置”宏定义。1.2拓展功能1. 设置限定时间,到达该时间,用户尚未得到要求的分数时,游戏停止。2. 到达限定时间,用户得分达到预设的值时, 自动提高难度等级, 屏幕变色。3. 修改程序,底行的笑脸字母消失后,不再在该列下落字母(提示:设置数组记录笑脸字母的存在与否)。笑脸字母全部消失后, 游戏停止, 显示告别画面,显示用户成绩。其他任务:2 详细设计说明2
8、.1 分析原“typetest.asm”程序结构2.1.1.首先在typetest.asm中定义了四个宏调用的程序(1)方框宏定义(2)清屏宏定义(3)菜单显示宏定义(4)设置光标位置宏定义2.1.2 data数据段的定义:包括的所有的显示字幕的定义。2.1.3 各宏定义函数的调用以及对各个子函数的调用。2.1.4 程序的主要流程图方框宏定义清屏宏定义菜单显示宏定义设置光标位置宏定义Data数据段的定义:date db 0ah,0dh, Date:$mes0 db 0ah,0dh, (1)Press Enter key to continue.$mes1 db 0ah,0dh, (2)When
9、 a letter is dropping,please hit it!$mes2 db 0ah,0dh, (3)Press space key to pause!$mes3 db 0ah,0dh, (4)Press ESC key to return main interface!$mes4 db 0ah,0dh, (5)Press letter E to exit!$mes5 DB please enter your password :$mes6 db 0ah,0dh,1: $开始用户输入密码判断密码进入主菜单返回不正确密码正确确定后进入选择需要练习的速度选项1.fast2veryfas
10、t3.slow4.veryslow选择需要的速度选项开始练习打字游戏计算打字的正确数根据正确数计算出应得分数显示用户所得分数,然后退出练习界面2.2 已经实现的功能(修改的、新编写的)说明2.2.1本程序已实现了基本的功能:(7) 设置输入界面, 用户输入密码后才能进入主菜单;(8) 修改主菜单, 在主菜单上显示当天日期;(9) 修改主菜单, 增加可供用户选择难度级别的选项;(10) 为用户打分,正确输入字母使用时间越少,得分越高;(11) 修改程序, 在屏幕右上角显示用户得分、已输入字母数、正确数;(12) 将程序中的“置光标位置”程序段落用宏调用完成, 添加“置光标位置”宏定义;2.2.2
11、本程序的扩展功能:(1) 修改了主界面的背景颜色以及字体的颜色,对一些主要的提示信息进行了一些优化。(2) 增加了一键显示用户得分记录的功能,只要用户在主界面上输入“C”,就可以显示出来用户的得分记录3 对“打字练习程序”的进一步设想3.1 可以让每次出现的字母都变得有逻辑性,就像打汉字的时候的那种逻辑性,还可以增加英语之类的打字练习。3.2 可以改变每一个字母在掉落的时候的颜色。让每一个字母的不同时刻的颜色都由电脑随机产生。3.3 在打字练习的过程中还可以有一些适当的声音来配合着练习的进行,这样的话效果和用户的体验都会有更进一步的提高的。4 课程设计总结4.1 通过这次课程设计让我跟具体的了
12、解了汇编语言的用途以及他的特点,这样有利于在今后的实践中更好的去应用汇编语言解决问题,同时通过这次的课程设计也体现出了我的在汇编方面的一些基础知识的不足。由于对汇编语言的一些基本知识的掌握不足,程序中还存在或多或少的缺陷和不足,有一些的基本功能在逻辑上还存在一些的小问题,但是不会影响基本的使用。5 软件使用说明由于系统版本不同的缘故,在程序汇编链接的时候会停滞一部,但只要在敲一下回车在进入一次就好了。很多时候在进入时输入密码后需要按回车才能跳转到主界面。6 附录(参考文献,原代码)参考文献1 杨文显,宓双,胡建人.新编汇编语言程序设计,清华大学出版社,20102 朱玉龙,任文览等.汇编语言程序
13、设计,清华大学出版社,20033 美Kip R.Irvine. 电子工业出版社,2004原代码; Assembly program for test your type skills ; Writed by in 06/24/2003; Modified by Mi shuang in 06/06/2005; -include ylib.hInit_boarder macro row,col,char,dhdl,count;Localllmov cx, count mov dh, rowmov dl, colll: movah, 02hmov bh, 00hint 10hpush cxmov
14、ah, 0ahmov al, char mov bh, 00hmov cx, 01hint 10hpop cxinc dhdlloop ll endm; -clear_screen macro top, left, bottom, right,col;清屏宏定义mov ah, 06h mov al, 00hmov bh, colmov ch, topmov cl, leftmov dh, bottommov dl, rightint 10hmov ah, 02hmov bh, 00hmov dh, 00hmov dl, 00hint 10hendm;-SETCUSOR MACRO PAGE,R
15、OW,COLUMN ;设置光标位置MOV AH,02HMOV BH,PAGEMOV DL,COLUMNMOV DH,ROWINT 10HENDM; -menumacrorow, col, text; 菜单显示宏定义 mov ah, 02hmov bh, 024hmov dh, rowmov dl, colint 10hmov ah, 09hlea dx, textint 21hendm; =Data segmentkaishi db 0ah,0dh, welcome to play the game !$ year dw ?month db ?day db ?date db 0ah,0dh,
16、Date:$mes0 db 0ah,0dh, (1)Press Enter key to continue.$mes1 db 0ah,0dh, (2)When a letter is dropping,please hit it!$mes2 db 0ah,0dh, (3)Press space key to pause!$mes3 db 0ah,0dh, (4)Press ESC key to return main interface!$mes4 db 0ah,0dh, (5)Press letter E to exit!$mes5 DB please enter your password
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 课程设计 报告 打字 练习 程序 源程序
链接地址:https://www.31ppt.com/p-2386029.html