汇编课程设计论文
- 格式:doc
- 大小:206.00 KB
- 文档页数:21
汇编语言课程设计报告( 2013 -- 2014 年度第1 学期)课题名称:磁盘文件管理系统专业计算机科学与技术(网络技术)学生姓名班级学号指导教师完成日期目录1 设计目的 (1)2 概要设计 (1)2.1系统总体分析 (1)2.2主模块框图及说明 (1)3 详细设计 (3)3.1主模块及子模块说明 (3)3.2各模块详细设计 (5)3.2.1 主界面模块 (5)4 程序调试 (5)4.1运行界面分析 (5)4.2调试过程及分析 (7)5 心得体会 (9)5.1设计体会 (9)5.2系统改进 (10)参考文献 (11)附录 (12)附录1源程序清单 (12)附录1.1 磁盘文件管理系统模块源程序 (12)1 设计目的本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。
学会查阅和汇编语言相关的规范,手册等技术资料。
能正确绘制和使用流程图。
掌握汇编语言程序设计和程序调试的基本技能,能进行基本的软件设计。
“汇编语言”课程设计是计算机应用开发人员必须接受的最重要的专业训练之一,是计算机软、硬件的基础,利用汇编语言编写程序可以是我们更清楚地了解计算机是怎样完成复杂工作的,理解计算机对系统中各种设备的调度,从而从根本上认识计算机的工作原理,对课程所学理论知识的深化和提高。
因此,课程设计要求同学们熟悉汇编语言的编程,BIOS中断调用、dos系统功能调用、磁盘数据的查询、存取等相关知识。
通过课程设计,可以提高运用汇编语言编程解决实际问题的能力,为以后的学习和系统开发奠定良好的基础。
2 概要设计2.1 系统总体分析实现对磁盘文件的管理。
创建文件,向磁盘文件中写入信息,从磁盘文件中读出信息并显示,退出程序。
如果向磁盘中写入信息或者从磁盘中读取信息失败屏幕会显示打开文件错误的提示。
根据提示输入字符,如果输错可以返回并且从新输入。
汇编程序设计课程设计报告题目:实时钟显示与定时控制设计班级:计算机科学与技术姓名:韩云飞指导老师:段新娥日期:2010.12《汇编语言程序设计》课程设计前言随着计算机的不断更新发展,计算机在各个领域的应用越来越多,更多的软件开发人员和相关技术人员在程序设计的过程中应用汇编程序或编制汇编语言。
而汇编语言做为计算机专业大学生必修之课,每个做为本专业的学生对汇编的理解和学习就显的尤为重要。
汇编语言是计算机能够提供给用户使用的最快而又最好最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
因而,对程序的空间和时间要求很高的场合,汇编语言的应用就显的必不可少了,一些直接控制硬件的应用场合,则更是非用汇编语言不可了。
汇编语言是理解整个计算机系统的最佳起点和最有效途径,人们经常认为汇编语言的应用范围很小,而忽视它的重要性。
其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。
所有可编程计算机都向人们提供机器指令,通过机器指令人们能够使用机器的逻辑功能。
所有程序,不论用何种语言编制,都必须转成机器指令,运用机器的逻辑功能,其功能才能得以实现。
机器的逻辑功能,软件系统功能构筑其上,硬件系统功能运行于下。
汇编语言直接描述机器指令,比机器指令容易记忆和理解。
通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。
学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点。
这次课程设计是在教学及实验基础上,对课程所学理论知识的深化和提高。
通过具体的问题分析、设计、调试、运行程序,在实际问题中锻炼提高自己,增加对本门课程内容的理解,锻炼我们的动手能力。
目录一.课程设计目的 (1)二.课程设计要求 (1)三.课程设计内容 (1)四.设计步骤 (2)五.设计程序流程图 (3)六.心得体会 (7)七.参考文献 (8)八.程序源代码 (9)一.课程设计目的“汇编语言”课程设计是在教学及实验基础上,对课程所学理论知识的深化和提高。
课程设计(一)一、有除法溢出的dtoc子程序为:dtoc: push cxs:mov cx,10call divdw ;进行16位除法,被除数低16位存放在ax中,高16位存放在dx中,除数为10,存放在cx中,并调用不会产生溢出的除法运算的子程序divdwadd cx,30h ;将余数加上30h,就得到十进制数码字符对应的ASCII 码mov [si],cx ;将十进制数码字符对应的ASCII码存放在数据段中inc sipush ax ;保存此时的axadd ax,dx ;商是由ax和dx中的数据组合而成,为了判断商是否为0 mov cx,ax ;将商的高16位和低16位加起来,送给cxpop ax ;恢复axjcxz ok ;若商为0,则结束子程序jmp short sok: mov byte ptr [si],0 ;在字符串的结尾添个0call back ;调用把字符串反过来的子程序backpop cxretdivdw:mov bx,axmov ax,dxmov dx,0div cxpush axmov ax,bxdiv cxmov cx,dxpop dxretback:push dipush cxmov cx,simov di,0s1:mov al,[di]mov ah,0push axinc diloop s1mov di,0mov cx,sis2:pop axmov [di],alinc diloop s2pop cx二、课程设计首先,定义数据的时候,定义了一个栈段,在data段的开始定义了一个有10字节的空间,用来把数据转换成十进制形式的字符串,后面的总收入、雇员数、人均收入均为dword数据,方便后面统一来进行循环处理。
其次,刚开始的时候,用一个循环来计算人均收入,并把得到的数据放在data段中(在data段中定义了21个为0的dword数据用来存放人均收入)。
再次,在总体思路上,就是先定义一个32*21个字节的table段,把分别用子程序dtoc 把每个用二进制存放的数据转换成对应的十进制字符串,把字符串存放到table段中相应的位置,通过四个循环能把所有数据对应的字符串存放到table段中,这时的table 段中的存储模式与要求显示在屏幕上的模式一样,所以可以用一个双重循环将table 中的内容一个字节一个字节地复制到显示缓冲区的偶地址上,奇地址存放字符的颜色属性白色07h。
- 3 -编密码概述汇编语言:是用英文缩写形式的助记符书写指令。
汇编语言是一种面向CPU指令系统的程序语言,它采用指令系统的助记符来表示操作码和操作数,用符号地址表示操作数地址。
用汇编语言编写程序在输入计算机后,需要将其翻译成目标程序,计算机才能执行相应指令,这个翻译过程成为汇编,完成汇编任务的程序称为汇编程序。
所以我在MASM汇编程序中进行汇编,通过相应的代码来调用相应的指令实现编密码一、设计要求(小标题一律用宋体小四加粗) 要求:按照以下规律编密码:1.字母A 变为E,a 变为e即是字母变成其后面的第4 个字母。
2.但Ww变Aa,Xx 变Bb,Yy 变Cc,Zz 变为Dd.3.非字母不变如1234567890,!@$4.并可以循环转换5.例如“123CHINA@”变为“123GLMRE@二、设计思想首先,先定义两个缓存区,一个用来存放输入的密码(BUF2),一个用来存放变换后的密码(BUF3)。
先输入一个十位数内的密码,然后一一对一个个字符进行判断。
先判断ascall 是否小于41H,如果是则不是字母那就不变换直接转到read1,存入BUF3。
如果大于41H 在判断是否大于61H即判断是不是小写的,如果小于的话在判断大于5bH吗?如果大于则不是字母那就不变换直接转到read1,存入BUF3。
如果小于的话,在判断是不是大于w的ascall,如果大于就转到read3,减22在,存入buf3.否则转到read4,加4在存入BUF3。
如果大于等于61H的话,同样的道理,判断是否大于W,如果大于在判断大于7AH吗。
判断是不是字母,如果不是那就不变换直接转到read1,存入BUF3。
否则转到read3减22,在存入BUF3。
如果没有大于77H,直接转到read4,加4在存入BUF3。
最后将变换后的密码输出来。
输出后并将其转到qing,既将BUF2和BUF3缓存区的数据清空,在回到start1,重新输入一个字符串并对它进行编密码转换。
课程设计说明书题目: 代码转换程序院系:计算机科学与工程学院专业班级:学号:学生姓名:指导教师:2010 年12 月26 日安徽理工大学课程设计(论文)任务书计算机科学与工程院系计算机硬件教研室学号学生姓名专业(班级)设计题目代码转换程序设计技术参数1.熟悉汇编指令、宏汇编语言的编程方法2. BIOS中断调用、系统功能中断调用方法3.磁盘文件、及文件内容操作设计要求1.程序分七个模块编写,不同模块实现不同功能1为主模块,调用模块5和模块7,模块5又调用模块2、3、4和模块6四个模块,其中:模块2实现小写字母向大写字母的转换,模块3实现大写字母向小写字母的转换,模块4实现二进制数向十进制数的转换,模块6实现十六进制数向二进制数的转换,模块7实现十进制数向十六进制数的转换。
按“q”键退出2.运行程序后,屏幕上要有选择哪种转换的提示菜单3.显示结果,十进制数后要加D,十六进制数后要加H表示;二进制数要以二进制形式输出,后面要加B工作量1.完成所选题目的软件设计2.课程设计说明书1500字(不包括程序源代码)左右。
工作计划1. 首先认真研究老师所给的题目,了解题目要求做什么。
2. 查阅资料,解决难题。
3. 编写源程序并调试之。
4. 写课程设计说明书参考资料[1] 李敬兆.汇编语言程序设计.中国科学技术大学出版社,2008[2] 李敬兆.汇编语言程序设计实验教程.中国科学技术大学出版社,2008[3] 龙尚福.微型计算机汇编语言程序设计.电子科技大学出版社[4] 张海藩. 软件工程.北京:人民邮电出版社,2009指导教师签字教研室主任签字2010年 12月26日安徽理工大学课程设计(论文)成绩指导教师评语:成绩:指导教师:年月日摘要本课程设计是代码转换程序,能够根据菜单选择具体实现小写字母转大写字母,大写字母转小写字母,二进制数转换成十进制数,十六进制数转换成二进制数,十进制数转换成十六进制数。
这些功能的实现,是在基本的汇编指令及高级汇编的基础上,通过各种BIOS 调用和数据段、栈段、代码段、各模块之间的调用等的熟练运用,从而实现了此程序的功能。
cop8000汇编课程设计一、课程目标知识目标:1. 理解并掌握COB8000汇编语言的基本概念和指令系统;2. 学会使用汇编语言进行程序设计和调试;3. 掌握汇编语言中的寄存器、内存寻址方式及其应用;4. 了解汇编语言与硬件的密切关系,理解程序执行的底层原理。
技能目标:1. 能够运用汇编语言编写简单的程序,实现基础的计算和控制功能;2. 能够进行汇编程序的调试和优化,提高程序执行效率;3. 能够分析并解决汇编程序中常见的问题,提升编程技能。
情感态度价值观目标:1. 培养学生对计算机底层原理的兴趣,激发学习积极性;2. 培养学生的团队合作意识,学会在编程过程中相互交流、协作;3. 培养学生严谨、细心的编程习惯,提高对程序质量的追求。
课程性质:本课程为计算机科学与技术专业选修课程,侧重于汇编语言的实践应用和底层原理探究。
学生特点:学生已具备一定的计算机基础和编程能力,对底层原理有一定了解,但汇编语言学习经验不足。
教学要求:结合课程性质和学生特点,注重理论与实践相结合,以实例教学为主,引导学生掌握汇编语言的核心知识,提高编程实践能力。
在教学过程中,关注学生的学习反馈,适时调整教学策略,确保课程目标的达成。
通过本课程的学习,使学生能够独立完成简单的汇编程序设计,为后续相关课程打下坚实基础。
二、教学内容1. 汇编语言概述:介绍汇编语言的发展历程、特点及应用场景,引导学生了解汇编语言的重要性。
- 教材章节:第一章 汇编语言概述2. COB8000汇编指令系统:讲解汇编指令的分类、格式及功能,重点掌握常用指令的使用方法。
- 教材章节:第二章 COB8000汇编指令系统3. 寄存器与内存寻址:介绍寄存器的分类、用途,讲解内存寻址方式,为程序设计打下基础。
- 教材章节:第三章 寄存器与内存寻址4. 汇编语言程序设计:通过实例讲解汇编程序的结构、编写方法和调试技巧,提高学生的编程实践能力。
- 教材章节:第四章 汇编语言程序设计5. 汇编程序调试与优化:分析汇编程序中常见的问题,介绍调试方法和优化策略,提升程序质量。
Intel汇编语言程序设计第五版课程设计一、前言汇编语言编程作为计算机科学专业的一门基础课程,对于学生深入理解计算机底层技术,提高计算机编程能力具有重要的作用。
本文档为Intel汇编语言程序设计第五版课程设计的报告,旨在总结课程学习成果,展示编写的程序和分析设计思路。
二、程序设计1. 程序功能本次课程设计要求编写一个基于Intel汇编语言的计算器程序,可以进行简单的四则运算(加减乘除)并能够处理整数和小数。
程序应该具有友好的用户界面和自动错误检测功能,避免用户输入或计算出错。
2. 程序设计思路根据课程要求,本次程序的设计采用基于Intel汇编语言的实现。
在选择汇编语言的同时,考虑到程序设计的功能和界面友好度,我们决定采用Win32控制台应用程序开发,以实现计算器程序的基本功能和友好用户界面。
1. 界面设计我们使用了Windows API和MASM汇编语言开发环境,以实现程序的界面和交互功能。
在实现从用户处获取输入的过程中,我们采用Windows API中的ReadConsole函数,从控制台读取用户输入,并将其存储到有限长度的缓冲区中。
该函数将用户输入的每个字符读入缓冲区,直到空格、回车键或达到缓冲区长度才终止。
随后,我们使用字符串操作函数,比如strcmp和atof(将字符串转换成浮点数)来判断用户输入的内容并进行处理。
2. 运算功能实现计算器程序运算功能的实现是本次程序设计的核心部分。
在处理用户输入之后,我们使用算术逻辑单元(ALU)实现四则运算和浮点数的处理。
其中,加法、减法、乘法和除法分别用add,sub,mul和div执行,并使用fild、faddp、fmulp和fdivp来处理浮点数。
对于除法操作,程序需要进行除数是否为零和求余的判断,并进行错误提示。
3. 可执行的程序使用MASM编译器、Linker、和Windows SDK开发环境编译、链接程序代码,得到了可执行文件Calc.exe。
汇编语言编写乐曲课程设计一、课程目标知识目标:1. 学生能够理解汇编语言的基本概念,掌握其语法结构和指令集;2. 学生能够运用汇编语言编写简单的乐曲程序,并了解其在音乐制作中的应用;3. 学生了解计算机音乐的基本原理,如音阶、音长、音量等,并能够通过汇编语言实现乐曲的基本控制。
技能目标:1. 学生掌握汇编语言的编程技巧,能够独立编写简单的乐曲程序;2. 学生通过实践操作,培养解决问题的能力和逻辑思维能力;3. 学生能够运用所学知识,结合音乐创作需求,设计出具有个性化的汇编语言乐曲。
情感态度价值观目标:1. 学生培养对计算机编程的兴趣,提高学习主动性和积极性;2. 学生通过创作乐曲,培养创新精神和团队协作意识;3. 学生在创作过程中,体验计算机科学与艺术的结合,提升审美素养。
课程性质:本课程为选修课,旨在让学生在掌握汇编语言基础知识的基础上,运用所学创作乐曲,提高学生的实践能力和创新能力。
学生特点:学生处于高年级阶段,已具备一定的计算机编程基础和音乐素养,对新鲜事物充满好奇心,具备一定的自主学习能力。
教学要求:教师应注重理论与实践相结合,引导学生通过实践探索,培养其编程能力和音乐创作能力。
同时,关注学生的个体差异,因材施教,激发学生的学习兴趣和潜能。
通过本课程的学习,使学生在知识、技能和情感态度价值观方面均取得具体的学习成果。
二、教学内容本课程教学内容分为三个部分:第一部分:汇编语言基础1. 汇编语言概述:了解汇编语言的发展历程、特点及应用领域;2. 计算机组成原理:学习计算机硬件组成,理解汇编语言与硬件的关系;3. 指令集与语法:掌握汇编语言的基本指令、寄存器、操作数等概念,学习汇编语言的语法结构。
第二部分:汇编语言编程技巧1. 程序结构:学习汇编语言程序的基本结构,掌握汇编程序的编写、编译和链接过程;2. 控制语句:学习汇编语言的条件判断、循环等控制语句;3. 子程序:了解子程序的概念,学会编写和调用子程序。
目录第1 章需求分析 (1)1.1 设计题目 (1)1.2 设计目的 (1)1.3 程序运行环境及开发工具 (1)1.3.1 运行环境 (1)1.3.2 开发工具 (1)1.4 课程设计任务及要求 (1)1.4.1 设计任务 (1)1.4.2 设计要求 (1)第2 章概要设计 (2)2.1 设计思想和原理 (2)2.1.1 设计思想 (2)2.1.2 设计原理 (2)2.2 系统流程图 (2)第3 章详细设计 (5)3.1 数据段的设计 (5)3.1.1 数据段定义(DATA SEGMENT) (5)3.2 主程序的设计与实现 (5)3.3 子程序的设计与实现 (5)3.3.1 键盘输入成绩模块 (5)3.3.2 冒泡排序模块 (5)3.3.3,数据输出模块 (6)第4 章系统调试与操作说明 (7)第5 章设计中存在的问题及解决方法 (9)第6 章总结与体会 (10)参考文献: (10)附录:源程序 (12)第1章需求分析成绩分段统计(2)1.1 设计题目1.2 设计目的在此课程设计中,通过对成绩统计分段程序的设计,来实现键盘输入,排序,输出功能,熟悉常用系统功能调用和常用算法的实现。
如01H功能调用,02H功能调用以及BIOS功能调用的09H调用;掌握常用排序算法的汇编实现,如本设计中的冒泡排序算法实现降序排列。
汇编语言程序设计课程设计是计算机教学实践基础上的一次重要的大型实验,也是对汇编语言程序设计课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计与调试出具有实际功能的应用程序,并且在实验的基本技能方面上进行一次全面的训练。
培养学生综合运用所学知识独立完成汇编程序课题的能力,使学生能够比较全面巩固和应用课堂中所学的基本理论和程序设计方法,能够比较熟练完成汇编程序的设计和调试。
提高学生对工作认真负责,一丝不苟,和在遇到难题时的协同合作的素质,培养学生从资料文献,科学实验中获得知识的能力,初步培养工程意识和创新能力,培养学生勇于探索,严谨推理,实事求是的素质。
课程设计论文优秀4篇c语言课程设计优秀论文篇一摘要:一般在较大的程序设计当中,如果把汇编语言与高级语言程序结合起来使用,把两种语言的优点都发挥出来,充分利用两种的优势,进行混合编程,则可以很多的难以解决的难题。
在程序设计的实践当中,C语言和汇编语言可以相互调用,C语言可以调用汇编语言,汇编语言可以调用C语言,也可以把其中一种语言程序嵌入到另一种程序语言当中。
本文就是探讨把C语言与汇编语言两种语言进行混合编程,实现两者的最佳组合,从而解决一些实践难题。
关键词:汇编语言;C语言;混合编程汇编语言的优势就是速度快,占用存储空间不大,而且可以随时控制硬件,这些优点是其它的程序语言无法取代的。
汇编语言也有不足之处,就是在高级程序的编写与调试时存在着较大的困难,特别是在处理一些数据或者一些混合运算时显得更加困难。
C语言,它的优势就是在于功能全面,表达形式多样且灵活,开发使用效率很高,具有其它高级语言无法具有的优势。
通常在软件开发过程中,大部分程序采用高级语言编写,以提高程序的开发效率;但在要求执行速度快、占用空间少或要求直接控制硬件的场合,则利用汇编语言编写,以提高程序的运行效率。
1.汇编语言和C语言混合编程的方法C语言和汇编语言混合编程的具体方法有以下几种。
2.1参数传递汇编语言程序和C语言程序在调用时会涉及到参数传递,一般采用堆栈进行传递。
在汇编语言中将BP作为基址寄存器,调用程序先将来自于C语言程序中的参数依次压入堆栈中,然后当需要使用这些参数时,再用BP加上不同的偏移量依次对堆栈中的数据进行存取操作。
2.2调用关系的确定对于将要涉及到调用的过程或函数需要事先说明和建立调用与被调用关系。
被调用的过程或函数应预先说明为外部类型,以便被外部模块引用,而调用程序也需要在程序中说明将要引用的外部模块的名称。
在说明调用关系时还应根据不同的存储模式确定相应的汇编语言格式。
C程序小模式对应汇编程序的近类型过程,而C程序大模式则对应汇编程序的远类型过程。
汇编语言程序设计基于arm体系结构课程设计介绍汇编语言是一种底层的计算机语言,它直接与计算机硬件进行交互,可以对计算机进行更精细、更高效的控制。
在ARM体系结构中,汇编语言也起着至关重要的作用。
因此,学习ARM汇编语言编程是每个计算机科学专业学生必备的技能之一。
本课程设计旨在帮助学生掌握汇编语言在ARM体系结构中的应用,同时提高学生对计算机底层原理的理解与掌握。
在本课程设计中,我们将使用现代汇编语言,设计并实现一些实用的程序,包括算法、文件操作、输入输出等。
课程设计要求1. 基本要求本课程设计的基本要求是学生利用ARM汇编语言编写一个完整的程序,包括以下要求:•确定程序的主题和目标,设计算法并实现。
•实现程序的控制流程,包括输入输出、文件操作等。
•使用ARM汇编语言编写程序,并测试程序的正确性。
2. 提高要求为了挑战学生的编程能力,本课程设计还有一些额外的提高要求:•对程序进行性能优化,提高程序的效率。
•实现程序的图形化界面。
•尝试使用ARM汇编语言编写操作系统或驱动程序。
课程设计内容本课程设计包括以下几个部分:1. 算法设计与实现在此部分中,学生需要根据自己所选的主题,设计算法并实现。
选择一个好的算法可以帮助你更好地掌握汇编语言的编程技巧和思维方式。
2. 程序控制流程在此部分中,学生需要实现程序的控制流程,包括输入输出、文件操作、流程控制等。
这是程序实现的关键步骤之一,学生需要掌握汇编语言的底层控制逻辑。
3. 程序性能优化在此部分中,学生需要对程序进行性能优化,提高程序的效率。
学生需要了解ARM体系结构中的CPU指令集,并通过对程序的优化来提高程序的性能。
4. 程序图形化界面在此部分中,学生可以尝试使用其他语言或者库来实现程序的图形化界面。
这有助于学生了解汇编语言的局限性,以及不同编程语言之间的差异。
5. 操作系统或驱动程序实现在此部分中,学生可以尝试使用ARM汇编语言实现操作系统或驱动程序。
燕山大学课程设计报告汇编语言与接口课程设计学院信息学院年级专业级计算机学生姓名指导教师提交日期2014燕山大学课程设计报告摘要本次课设一共分为两个部分,第一部分是汇编语言,考察掌握汇编语言的熟练程度,了解汇编程序、连接程序、DOS 系统装入和返回功能。
第二部分为接口,根据所用接口电路芯片设计出完整的接口电路及程序,了解汇编语言和硬件的关系,用8254定时器发出频率使扬声器发声。
关键词DOS Wmd86目录摘要IAbstract ..................................................................... 错误!未定义书签。
第1章绪论 (1)1.1课题内容 (1)1.1.1 光标轨迹程序draw要求 (1)1.1.2 乐曲程序要求 (1)第2章光标轨迹程序draw (1)2.1程序 (1)2.2结果截图 (3)第3章乐曲程序 (5)3.1设计重点 (5)3.2乐曲简谱 (5)3.3 程序 (6)结论 (10)参考文献 (11)燕山大学课程设计报告第1章绪论1.1 课题内容汇编语言题目是光标轨迹程序draw,接口技术题目是乐曲程序。
1.1.1 光标轨迹程序draw要求程序能在屏幕上画出光标移动的轨迹,画城墙,水平线等图。
光标的移动受键盘上光标键的控制,如果键入ESC键,则程序结束,返回DOS。
1.1.1.1 乐曲程序要求利用定时器产生声音的方法编写程序,使PC机奏出《两只老虎》的乐曲。
第2章光标轨迹程序draw2.1 程序TITLE DRAW---PROGRAM TO DRAW ON SCREEN WITHUP EQU 48HDOWN EQU 50HRIGHT EQU 4DHLEFT EQU 4BHBLOCK EQU 41HESC1 EQU 1BHDATA SEGMENT AT 0B800HW_BUFF LABEL WORDB_BUFF DB 80*25*2 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AXMOV CX,80*25MOV BX,0CLEAR:MOV DS:[W_BUFF+BX],0700HINC BXINC BXLOOP CLEARMOV CH,12DMOV CL,40DGET_CHAR:MOV AH,0INT 16HCMP AL,ESC1JZ EXITMOV AL,AHCMP AL,UPJNZ NOT_UPDEC CHNOT_UP:CMP AL,DOWN燕山大学课程设计报告JNZ NOT_DOWNINC CHNOT_DOWN:CMP AL,RIGHTJNZ NOT_RIGHTINC CLNOT_RIGHT:CMP AL,LEFTJNZ CHARDEC CLCHAR:MOV AL,160DMUL CHMOV BL,CLROL BL,1MOV BH,0ADD BX,AXMOV AL,BLOCKMOV DS:[B_BUFF+BX],ALJMP GET_CHAREXIT:MOV AH,4CHINT 21HCODE ENDSEND START2.2 结果截图把BLOCK的值改为30H时(即0的ASCII码),运行结果为下图:退出时界面出现如下提示:第3章乐曲程序3.1 设计重点(1)乐谱中的每个音符具有音高和音长两种属性,按照乐谱将每个音符的频率和节拍定义成两个数据表,程序从频率表中取出一个音符的频率值以产生一定音高的声音,同时取出相应的节拍计数值以控制这一频率的声音延长的时间。
课程设计报告课程名称:汇编语言程序设计课题名称:成绩评定姓名:班级:带教老师:报告日期:2009年电子信息学院目录第一章前言 (3)1.1 背景 (3)1.2基本功能要求 (3)第二章程序设计 (4)2.1题目基本内容 (4)2.2系统流程框图 (5)2.3课程设计的具体内容说明 (6)2.4课程设计中关键内容的分析设计说明 (6)第三章课程设计小结 (7)参考文献 (8)附录: (9)源程序代码 (9)第一章前言1.1 背景课程设计的主要目的是提高实践能力,包括对硬件的理解分析能力和汇编语言的编程能力。
与其他课程不同的是,本课程对硬件有较高的依赖性,因此课程设计的灵活性受到了一定的限制,最好有相应的实验平台支持(尤其是硬件部分),本次课程设计主要是汇编语言部分的练习,通过这部分的练习,学生应该熟悉汇编语言的寻址方式和指令系统,掌握BIOS和DOS系统的功能调用,编制较大程序时的基本方法和熟悉宏汇编的编程环境。
使学生既具备完备的理论知识,也能够解决实际学习中碰到的问题。
1.2基本功能要求1.显示简易的数字菜单,并根据选择的菜单号执行相应的分支程序,并得到正确的结果。
2.从键盘输入一个成绩能评定成绩的等级,并显示其结果。
第二章程序设计2.1题目基本内容设计题目:成绩评定具体要求:(1)显示简易数字菜单(2)输入成绩,显示成绩评定的等级(90-100为优,80-90为良,70-80为中,60-70为及格,60分以下为不及格)2.2系统流程框图图2.2.12.3课程设计的具体内容说明根据课题的要求,主要完成一下几方面的设计:1.显示简易数字菜单,根据选择的菜单号,执行相应的分支程序2.从键盘输入一个十进制数字(编写一个子程序)3.对输入的数据进行比较,显示相应成绩等级(优,良,中,及格,不及格可以分别用A,B,C,D,E表示)2.4课程设计中关键内容的分析设计说明1.简易数字菜单只有两个选择号(1~2),选择1表示就跳转到执行成绩评定的程序,选择2就返回到DOS窗口。
基于汇编语言的课程设计一、课程目标知识目标:1. 掌握汇编语言的基本概念,包括寄存器、指令、寻址方式等;2. 了解汇编语言的编程流程,能够阅读和分析简单的汇编程序;3. 了解汇编语言与硬件的关系,理解汇编指令对硬件操作的影响。
技能目标:1. 能够使用汇编语言编写简单的程序,实现基本的输入输出、运算和控制流程;2. 学会运用汇编语言进行程序调试,查找并修复程序中的错误;3. 能够运用汇编语言解决实际问题,如编写系统调用、中断处理等。
情感态度价值观目标:1. 培养学生对计算机底层原理的兴趣,激发他们探究硬件与软件关系的热情;2. 培养学生的编程思维,提高他们分析问题、解决问题的能力;3. 增强学生的团队合作意识,培养他们在编程过程中相互帮助、共同进步的精神。
课程性质:本课程为计算机科学与技术专业选修课,旨在帮助学生深入理解计算机硬件与软件的底层原理,提高编程技能。
学生特点:学生已具备一定的编程基础,熟悉高级编程语言,但对汇编语言了解较少。
教学要求:结合学生特点,课程设计注重理论与实践相结合,以实例为主线,引导学生掌握汇编语言的编程方法和技巧。
通过课程学习,使学生能够独立编写简单的汇编程序,并具备进一步深入学习汇编语言的能力。
教学过程中注重激发学生的学习兴趣,培养他们的编程素养和团队协作能力。
最终,将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 汇编语言基础知识:寄存器、指令、寻址方式、汇编语言编程环境搭建;教材章节:第一章至第二章2. 汇编语言编程流程:汇编程序的编写、汇编、链接和调试;教材章节:第三章3. 汇编语言基本指令:数据传输指令、算术运算指令、逻辑运算指令、控制流指令;教材章节:第四章4. 汇编语言程序设计:顺序结构、分支结构、循环结构、子程序设计;教材章节:第五章至第六章5. 汇编语言与硬件操作:中断处理、系统调用、I/O操作;教材章节:第七章6. 汇编语言综合实例:简单操作系统、驱动程序编写;教材章节:第八章教学内容安排和进度:1. 基础知识部分(2周):讲解寄存器、指令和寻址方式,引导学生搭建汇编语言编程环境;2. 编程流程部分(2周):学习汇编程序的编写、汇编、链接和调试;3. 基本指令部分(3周):深入学习各种汇编指令;4. 程序设计部分(4周):学习汇编语言的程序设计方法;5. 硬件操作部分(3周):了解汇编语言在硬件操作中的应用;6. 综合实例部分(4周):通过实例巩固所学知识。
学号:200840410118课程设计题目显示系统日期时间程序设计教学院计算机学院专业计算机科学与技术班级2008级(1班姓名张超凡指导教师姚莉、杨斐2010年12月28日汇编语言课程设计任务书2009~2010学年第一学期学生姓名:张超凡专业班级:计算机科学与技术(1班指导教师:姚莉、杨斐工作部门:计算机学院一、设计题目:显示系统日期时间程序设计二、设计目的《显示日期时间程序设计》课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。
1.使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。
2.培养学生综合运用所学知识独立完成汇编程序课题的能力。
3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。
5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。
三、课程设计内容要求完成一个显示系统当前日期和时间的程序,即通过按下键盘上某个按键就可以显示系统的日期和时间或者终止程序。
(比如:在出现的提示信息后输入大写字母“D”,显示系统当前日期;输入大写字母“T”,显示系统当前时间;输入大写字母“Q”,结束程序。
此程序涉及到对DOS和BIOS的常用功能的调用,要求学生掌握使用汇编语言对I/O中断的使用。
四、进度安排2010年12月13日~2010年12月14日,指导教师进行与课题相关的基础知识点讲解;2010年12月15日~2010年12月17日,小组进行分组并选定课程设计题目,教师指导各组根据选定题目准备资料;2010年12月18日~2010年12月19日,设计小组进行总体方案设计和任务分工;2010年12月20日~2010年12月22日,每人完成自己承担的程序模块并通过独立编译;2010年12月23日~2010年12月26日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行以及撰写课程设计报告;2010年12月27日~2010年12月28日,验收、修订课程设计报告、答辩及总结。
目录一.概述 (3)二.总体方案设计 (6)三.详细设计 (9)四.程序的调试与运行结果说明 (13)五.课程设计总结 (14)附录 (15)参考文献 (24)一概述汇编语言是计算机能够提供给用户使用的最快而有效的语言,也是能够利用计算机所有特性并能直接控制硬件的唯一语言。
借助于汇编程序,计算机本身可以自动地把汇编源程序翻译成用机器语言表示的目的程序,从而实现了程序设计工作的部分自动化。
1课程设计的目的1.理解和掌握该课程中的有关基本概念,程序设计思想和方法。
2.培养综合运用所学知识独立完成课题的能力。
3.培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
4.掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
5.掌握利用单片机接口技术解决问题的基本方法2课程设计的要求1、需要的基本知识与技能。
具备汇编语言设计、编写、调试和运行程序的方法和技巧。
在PC机上运行汇编程序需要经过以下几个阶段:编辑源程序。
利用文本编辑工具编辑源程序,生成一个汇编语言的纯文本文件。
文件的扩展名为.ASM汇编源程序。
用汇编器汇编源程序生成目标代码文件,目标代码文件的扩展名是.OBJ,汇编器还可以生成列表文件和交叉参考文件。
汇编器相当于高级语言中的编译器。
汇编语言按照汇编语言的语法检查源程序,如果源程序语法有错误,汇编器就不生成目标代码文件,这时,必须重新编辑源程序,修改语法错误。
当发现源程序有的行含有不确定因素,汇编器会给出警告信,但按却省处理方法生成目标代码文件。
此时,可以重新编辑源程序,消去不确定因素。
连接目标程序。
利用连接器连接目标代码程序和库函数代码生成可执行程序文件。
一般单个模块的连接可以顺利地生成可执行程序文件。
当多个模块连接,或者库函数连接时,如果在目标代码中找不到所需的连接信息,连接器就会发生错误提示信息,而不是生成可执行文件。
汇编课程设计一、教学目标本课程的教学目标是使学生掌握XX学科的基本概念、原理和方法,能够运用所学知识解决实际问题。
具体包括:1.知识目标:学生能够准确地掌握XX学科的基本概念、原理和方法,了解学科的发展趋势和应用领域。
2.技能目标:学生能够运用所学知识解决实际问题,具备一定的实践操作能力。
3.情感态度价值观目标:学生对XX学科产生浓厚的兴趣,树立科学的世界观和价值观。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.XX学科的基本概念:介绍学科的基本定义、特点和意义,使学生对学科有一个整体的认识。
2.XX学科的基本原理:讲解学科的核心原理,并通过实例进行分析,帮助学生理解并掌握。
3.XX学科的方法和技术:介绍学科常用的方法和技术,并引导学生运用这些方法和技术解决实际问题。
4.学科发展趋势和应用领域:介绍学科的最新发展动态和应用领域,激发学生的学习兴趣和应用能力。
三、教学方法为了实现课程目标,本课程将采用多种教学方法,包括:1.讲授法:教师通过讲解、阐述,引导学生理解和掌握学科知识。
2.讨论法:学生分组讨论,交流心得,培养学生的思考能力和团队协作精神。
3.案例分析法:通过分析实际案例,使学生学会运用所学知识解决实际问题。
4.实验法:学生进行实验,培养学生的实践操作能力和科学探究精神。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的学习材料。
2.参考书:推荐学生阅读相关参考书,丰富学生的知识储备。
3.多媒体资料:制作多媒体课件,生动形象地展示学科知识,提高学生的学习兴趣。
4.实验设备:准备实验所需的设备器材,确保实验教学的顺利进行。
五、教学评估本课程的评估方式包括平时表现、作业和考试等。
具体评估标准如下:1.平时表现:包括课堂参与度、提问回答、小组讨论等,占总评的30%。
2.作业:布置适量作业,检查学生对知识点的理解和应用能力,占总评的30%。
目录第1章需求分析 (1)1.1 设计题目 (1)1.2 设计目的 (1)1.3 程序运行环境及开发工具 (1)1.3.1 运行环境 (1)1.3.2 开发工具 (1)1.4 课程设计任务及要求 (1)1.4.1 设计任务 (1)1.4.2 设计要求 (1)第2章概要设计 (2)2.1 设计思想和原理 (2)2.1.1 设计思想 (2)2.1.2 设计原理 (2)2.2 系统流程图 (2)第3章详细设计 (5)3.1 数据段的设计 (5)3.1.1 数据段定义(DATA SEGMENT) (5)3.2 主程序的设计与实现 (5)3.3 子程序的设计与实现 (5)3.3.1 键盘输入成绩模块 (5)3.3.2 冒泡排序模块 (5)3.3.3,数据输出模块 (6)第4章系统调试与操作说明 (7)第5章设计中存在的问题及解决方法 (9)第6章总结与体会 (10)参考文献: (10)附录:源程序 (12)第1章需求分析1.1 设计题目成绩分段统计(2)1.2 设计目的在此课程设计中,通过对成绩统计分段程序的设计,来实现键盘输入,排序,输出功能,熟悉常用系统功能调用和常用算法的实现。
如01H功能调用,02H 功能调用以及BIOS功能调用的09H调用;掌握常用排序算法的汇编实现,如本设计中的冒泡排序算法实现降序排列。
汇编语言程序设计课程设计是计算机教学实践基础上的一次重要的大型实验,也是对汇编语言程序设计课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计与调试出具有实际功能的应用程序,并且在实验的基本技能方面上进行一次全面的训练。
培养学生综合运用所学知识独立完成汇编程序课题的能力,使学生能够比较全面巩固和应用课堂中所学的基本理论和程序设计方法,能够比较熟练完成汇编程序的设计和调试。
提高学生对工作认真负责,一丝不苟,和在遇到难题时的协同合作的素质,培养学生从资料文献,科学实验中获得知识的能力,初步培养工程意识和创新能力,培养学生勇于探索,严谨推理,实事求是的素质。
目录一概述 (1)1.前言 (1)2.课程设计的目的 (1)3课程设计的要求 (2)4.汇编语言的介绍 (3)5.开发平台 (3)6.本章小结 (4)二总体方案设计 (5)1. 程序设计的整体设计思路 (5)2. 算法的整体设计思路 (6)3.程序的主要特点 (6)4. 我所承担部分的设计工作以及解决的关键性问题 (6)5.本章小结 (7)三详细设计 (8)1.流程图 (8)2.密码程序部分 (9)3.主界面 (9)4.表示击中的函数 (10)5. 取随机数 (11)6. 清屏子程序设计 (12)7.暂停过程的实现 (13)8.本章小结 (13)四程序的调试与运行结果说明 (14)1. 进入程序运行界面后,将会出现以下界面: (14)2. 输入密码后,进入主界面: (14)3.按ENTER键后,进入等级选择界面 (15)4.选择等级后,进入游戏界面 (15)5.击中字母后,字母变成白色 (16)6.本章小结 (16)五课程设计总结 (17)参考文献 (18)程序部分功能的实现与改进.................................... 错误!未定义书签。
一概述1.前言汇编语言是计算机能够提供给用户使用最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
因而,对程序的空间和时间要求很高的场合,汇编语言的应用是必不可少的。
至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了。
并且随着当代计算机的不断更新发展,计算机在各个领域的应用越来越多,更多的软件开发人员和相关技术人员在程序设计的过程中应用汇编程序或编制汇编语言。
而汇编语言作为计算机专业大学生必修课,每个作为本专业的学生对汇编的理解和学习就显得尤为重要。
汇编语言是计算机能够提供用户使用的最快而又最好最有效的与言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
因而,对程序的空间和时间要求很高的场合,汇编语言的应用就显得必不可少了,一些直接控制硬件的应用场合,则更是非用汇编语言不可了。
所以,汇编语言在计算机以后的发展中是必不可少的工具,对于计算机专业的学生来说,不管将来是朝着硬件方向还是软件方向发展,我们都应该学好这门直接和接和硬件打交道的编程语言,只有这样,我们才能在计算机前进的道路上越走越远,越飞越高。
2.课程设计的目的《打字练习程序设计》课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。
(1).使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。
(2).培养学生综合运用所学知识独立完成汇编程序课题的能力。
(3).培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
(4).提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基本素质。
(5).培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
(6).对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。
3课程设计的要求汇编语言是计算机能够提供给用户的最便捷和最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的一种语言。
本次课程设计要求我们设计一个打字练习程序,即在规定的时间内按下屏幕上显示的字母,字母就消失,否则字母一直移动到屏幕底端。
(比如:运行程序时,出现菜单主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按ESC键返回主界面;按空格键暂停;按‘E’退出。
)此程序涉及到宏和I/O中断的调用,要求学生掌握对宏的定义和使用,使用汇编语言对I/O中断的使用。
通过这次实验要求我们:(1). 了解背景颜色的设置。
(2). 了解清屏函数的用法。
(3). 学会使用宏定义,宏过程,宏函数以及参数的调用。
(4). 能够熟练地使用BIOS功能或DOS功能的调用。
(5). 学会用汇编语言编辑中断程序。
通过打字练习程序的编写熟悉并掌握用汇编语言编程的方法与特点,借此来比较高级语言与低级语言的优缺点,以便能更好的利用各种语言来开发应用软件,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能够独立阅读、编辑和调试具有一定规模的汇编语言程序的能力,能够熟练运用汇编语言的三大结构,进一步掌握各种指令的功能,能掌握子程序的定义与调用,包括段间调用与段内调用,以及正确运用DEBUG命令,进一步理解和掌握程序直接控制I/O方式。
4.汇编语言的介绍汇编语言(Assembly Language)是面向机器的程序设计语言,汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
在汇编语言中,用助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。
这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。
因此汇编语言亦称为符号语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。
汇编语言编译器把汇编程序翻译成机器语言的过程称为汇编。
汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。
但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。
汇编语言的特点:(1).面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。
(2).保持了机器语言的优点,具有直接和简捷的特点。
(3).可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。
(4).目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。
(5).经常与高级语言配合使用,应用十分广泛。
汇编语言的应用:a.70%以上的系统软件是用汇编语言编写的。
b.某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写的。
c.某些高级绘图程序、视频游戏程序是用汇编语言编写的。
汇编语言直接描述机器指令,比机器指令容易记忆和理解。
通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。
5.开发平台开发环境:Windows平台+MASM环境运行环境:Windows全系列开发语言:汇编语言6.本章小结本章内容先对计算机的发展前景做了基本的介绍,阐明了汇编语言在当代计算机发展中的重要地位,也明确的指出学习汇编语言对计算机专业学生的重要性。
简洁的说明了此次课程设计的目的和要求,并对汇编语言和课程设计的开发平台做了简单的说明。
二总体方案设计1. 程序设计的整体设计思路要求完成一个打字练习程序,即在规定的时间内按下屏幕上显示的字母,字母就消失,否则字母一直移动到屏幕底端。
(比如:运行程序时,出现菜单主界面,按回车键出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失;按ESC键返回主界面;按空格见暂停;按‘E’退出。
)在设计本课题之前,要考虑两个问题:一是如何从键盘输入并显示字符;二是如何在输入时进行计时。
考虑第一个问题,在PC中,对键盘的管理是通过中断机构和8255可编程序外围接口芯片来实现的。
在我的设计中,我采用的是第一种思路。
由于系统在BIOS中已配备了键盘的服务功能,因此可通过调用键盘的DOS和BIOS功能编程。
而且设计中使用的都是软件中断,故在具体的程序设计时,需要禁止硬件中断。
再考虑第二个问题,计时部分也可通过定时器的中断来实现。
由于定时器中断优先级比键盘高,只要在键盘中断处理程序中用一条STI指令允许高级中断,那么在整个打字的过程中,定时器会以每秒18.2次的频率产生中断。
根据计时的需要,在整个打字过程中,再使用自编的中断例行程序可把定时器中断的次数转换成时间。
在键盘打字时采用09类型的键盘中断,来取得输入字符并将字符显示在屏幕上。
程序设计时,预先设置的堆栈中存放一些字符串例句,每次打字之前,屏幕上先显示出一个例句,然后打字员按照例句,将句中字符通过键盘输入。
这个过程可反复进行,当键入一个功能键时,退出打字计时程序。
自行编制键盘中断和时间中断处理程序,并保存原中断向量。
程序运行时,使用自编的中断向量处理程序。
程序退出时,恢复中断向量。
自编中断处理程序也是本课题需要考虑的重要问题。
虽然系统自带了许多中断例行程序可以由INT指令来执行,但在本课题中需要对原中断例行程序的功能进行扩充才可。
该打字程序包括以下五个子程序:(1)主界面的显示模块;(2)打字练习模块;(3)设置速度模块;(4)密码模块;(5)清屏模块。
其中的打字练习模块又分为以下三个子程序:(a)游戏界面模块(b)功能模块(c)等级选择模块2. 算法的整体设计思路此程序涉及到宏和I/O中断的调用,通过对宏的定义和使用以及对I/O中断的使用,实现程序的相应功能。
利用宏,实现各个界面的显示,采用中断,实现各个子程序的相互转换。
其中最主要的是打字程序:运行程序,打字界面中出现由26个字母组成的乱序行,这时其中会有任一字母落下,在键盘上输入该字母,字母消失,分数值加1,否则字母一直移动到屏幕底端,然后消失,生命值减1。
当生命值减为零且未在字母下落到屏幕底端之前输入该下落字母时,打字练习结束,显示结束界面。
3.程序的主要特点本程序最大的特点就是具有较好的人机交互功能。
在主界面中,首先显示出来的是提示用户输入进入游戏界面的密码,正确输入密码后,进入打字游戏主界面。
进入打字练习主界面后,用户可以选择不同的游戏等级,他们能够根据自己的实际打字速度,选择相匹配的等级进行打字练习。
在打字练习过程中,被击中的字母会有原先的黄色变成白色表示击中,并且用户还可以对游戏随时进行暂停。
在游戏界面的右侧,可以看见用户当前的得分情况,并且当分数达到一定的数值后,游戏自动进入下一个等级较高、难度较大的打字游戏中。
由于我们小组成员水平有限,加之时间仓促,代码中的疏漏和不完美在所难免,恳请指导老师和同学们提出宝贵修改意见。
如果用户对我们设计的程序有不明白的地方,可以选择帮助进行求解,并能与我们联系,讨论程序的不足,寻求改进,或者分享程序中的精妙之处。
4. 我所承担部分的设计工作以及解决的关键性问题在本次的课程设计任务中,我主要负责的是密码的输入及判断、清屏、击中字母和随机取字母,其他一些比较简单的问题没有专门的人负责,我们就自己解决了。