汇编语言程序设计课程设计指导书.doc_第1页
汇编语言程序设计课程设计指导书.doc_第2页
汇编语言程序设计课程设计指导书.doc_第3页
汇编语言程序设计课程设计指导书.doc_第4页
汇编语言程序设计课程设计指导书.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编语言程序设计课程设计指导书一设计目的本课程设计是“汇编语言程序设计”课程的后续教学环节,其宗旨是使学生通过对一个较大型的、综合性的应用程序进行阅读、修改、添加功能等工作,对汇编语言程序设计有进一步的认识,提高编程技巧和阅读理解复杂程序的能力。二设计内容、步骤及要点typetest.asm是一个功能相对简单的打字练习程序,要求学生在理解源程序的基础上,增添更多的功能模块,使程序更具实用性。课程设计内容本课程设计包含两大部分内容:课程设计报告和设计软件。其中设计软件在题目验收时由指导教师检查,课程设计报告作为书面材料提交。设计报告的主要内容有:1、基本任务:l 认真阅读“typetest.asm”源程序, 理解程序每一条指令在程序中的作用。绘制程序流程图(简略总图,各模块详细流程图),给程序中的关键语句(后跟分号)作注释。l 设置输入界面, 用户输入密码后才能进入主菜单 ;l 修改主菜单, 在主菜单上显示当天日期 ;l 修改主菜单, 增加可供用户选择难度级别的选项。l 为用户打分,正确输入字母使用时间越少,得分越高。l 修改程序, 在屏幕右上角显示用户得分、已输入字母数、正确数。l 将程序中的“置光标位置”程序段落用宏调用完成, 添加“置光标位置”宏定义。2、扩展任务:设置限定时间,到达该时间,用户尚未得到要求的分数时,游戏停止。到达限定时间,用户得分达到预设的值时, 自动提高难度等级, 屏幕变色。修改程序,底行的笑脸字母消失后,不再在该列下落字母(提示:设置数组记录笑脸字母的存在与否)。笑脸字母全部消失后, 游戏停止, 显示告别画面,显示用户成绩。3、其他任务:自行设计新的功能。设计步骤和要点 首先仔细阅读所给的源程序,并在重要处写出注释,在充分理解源程序后,进行修改和功能模块的添加工作。本设计多处设计DOS 功能调用及BIOS功能调用,在使用这些调用前,要弄清楚入口参数和出口参数。每次修改程序前要保存旧版本程序,修改处最好有标记,以便调试。注意用堆栈保护寄存器的内容。三课程设计报告的装订等要求1、装订要求:封面后是任务书、目录、课程设计正文、附录(若有)。2、分析原“typetest.asm”程序结构: 画出主程序粗略的流程图和各个模块的详细流程图,每个功能模块用文字说明他们的功能(与对应流程图放在一起);3、对你已经实现的功能(修改的、新编写的)做详细的说明, 并附上流程图及程序清单(修改/增加的指令请使用大写字母,以示区别);4、自己对该“打字练习程序”的进一步设想;5、对于有设想但最终未实现的功能的大致编程思路的阐述;6、论述在设计过程中遇到的并且对你具有启发性的问题。四设计工作进度安排周一:教师布置任务,讲解本课设模块。学生细读原始源程序,在重要行添加注解。画出主程序粗略的流程图和各个模块的详细流程图。周二周三:设计程序、调试程序、同时着手撰写报告。周四: 完成设计,提交报告,接受教师考评。(报告提交手写版,程序提交电子文档)。五设计的考核方法本次课程设计的考核方法是以个人为单位进行测试检查,每个同学均参加答辩,并提交个人的设计报告。答辩的内容主要为每个同学叙述系统的功能及其编程中的问题,指导教师可能根据学生答辩的具体情况随机提出问题,每个同学的最后得分以其设计报告质量和完成系统的工作质量为评判标准。六设计评分标准优:完成(或超额完成)任务书规定的全部任务,所承担的课程设计任务难度较大,工作量饱满;设计方案正确,具有独立工作能力及一定的创造性,工作态度认真,设计报告内容充实,主题突出,层次分明,图表清晰,分析透彻,格式规范。良:完成任务书规定的任务,所承担的课程设计任务具有一定的难度,工作量较饱满;设计方案正确,具有一定的独立工作能力,对某些问题有见解,工作态度较认真,设计报告的内容完整,观点明确,层次分明,图表清晰,但分析不够深入。中:能完成任务书规定的任务,所承担的课程设计任务难度和工作量一般;设计方案基本正确,有一些分析问题的能力,工作态度尚认真,设计报告的内容尚完整,但分析不够深入。及格:基本能完成任务书规定的任务,所承担的课程设计任务难度较易,无工作依赖性,工作态度一般,设计报告的内容不太完整,图表无原则性错误,条理欠清晰,格式较规范。不及格:没有完成任务书规定的设计任务,所承担的课程设计任务难度未达到要求,工作量不足;工作态度不认真,设计报告的内容不太完整,条理不清晰。七其他说明1 参加课程设计的学生应端正学习态度,独立完成设计任务,严禁抄袭、剽窃他人成果或找人代做等行为,一经发现,其成绩按不及格计。2 指导教师每天考勤,学生不得迟到、早退或旷课,因事或因病不能参加设计,应按照学院相关请假手续事先请假或事后补假。八附录 打字练习程序汇编语言源程序清单; Assembly program for test your type skills ; Writed by in 06/24/2003; Modified by Mi shuang in 06/06/2005; -Init_boardermacrorow, col, char, dhdl, count;Localllmovcx, count movdh, rowmovdl, colll:movah, 02hmovbh, 00hint10hpushcxmovah, 0ahmoval, char movbh, 00hmovcx, 01hint10hpopcxincdhdlloopll endm; -clear_screenmacrotop, left, bottom, right; 清屏宏定义movah, 06h moval, 00hmovbh, 07hmovch, topmovcl, leftmovdh, bottommovdl, rightint10hmovah, 02hmovbh, 00hmovdh, 00hmovdl, 00hint10hendm; -menumacrorow, col, text; 菜单显示宏定义 movah, 02hmovbh, 00hmovdh, rowmovdl, colint10hmovah, 09hleadx, textint21hendm; =DatasegmentZKdbWELCOME TO PLAY$ datedbDate:2003/6/24$mes0dbPress Enter key to continue.$mes1dbWhen a letter is dropping,please hit it!$mes2dbPress space key to pause!$mes3dbPress ESC key to return main interface!$mes4dbPress letter E to exit!$Speeddw3000HLettersdbjwmilzoeucgpravskntxhdyqfbdbiytpkwnxlsvxrmofzhgaebudjqdbnwimzoexrphysfqtvdcgljukdaPresent_positiondb1db0;Dataends; =codesegmentmainprocfarassumecs: code, ds: datastart:movax, datamovds, axmoves, axmovcx, 1000hmovah, 01hint10h;clear_screen00d, 00d, 24d, 79d;Init_boarder00d, 00d, 0ah, dl, 80dInit_boarder24d, 00d, 0ah, dl, 80dInit_boarder00d, 00d, 0ah, dh, 25dInit_boarder00d, 79d, 0ah, dh, 25d;menu05d, 15d, ZK; 显示菜单menu07h, 15d, datemenu09d, 15d, mes0menu11d, 18d, mes1menu13d, 18d, mes2menu15d, 18d, mes3menu17d, 15d, mes4movah, 02h; 设置光标位置movbh, 00hmovdh, 22dmovdl, 33dint10hkeyin:movah, 07h; 从键盘输入命令字符int21hcmpal, 0dh;jebegin;cmpal, E;jeexit;jmpkeyin;exit:movax, 4c00hint21hbegin:clear_screen01d, 01d, 23d, 78d ; 清屏Init_boarder23d, 01d, 01h, dl, 78d; movah, 02hmovbh, 00hmovdh, 01hmovdl, 01hint10h;movcx, 78 leasi, lettersnextletter:movah, 02h; 显示字母movdl, siint21hincsiloopnextletterstart_game:movah, 2chint21h;incdl;cmpdl, 78jnasg1subdl, 78sg1:movpresent_position, dlleadi, lettersadddi, word ptr present_position;decdi;movdl, present_position;movah, 02hmovbh, 00hmovdh, 01hint10h;movcx, 21d;nextrow:pushcxmovcx, speed;wait_for_key:; 延迟pushcxmovcx,1000delay:loopdelaypushdxmovah, 06h; 从键盘输入字符movdl, 0ffhint21hpopdxjzpasscmpal, 1bh; 如果键入ESC,则返回主菜单jeto_startcmpal, ; 如果键入SPACE,则游戏暂停jnepass0pause:pushdx; 暂停处理movah, 06hmovdl, 0ffhint21hpopdxcmpal, ;jnepause;jmppassto_start:jmpstartpass0:cmpal,di; 输入字母正确!则字母消失jedisappearpass:popcx;LOOPwait_for_key;down:movah, 0ah; 在当前光标位置写空格moval, movbh, 00hmovcx, 01hint10h;incdh;movah, 02h; 改变光标位置movbh, 00hint10hmovah, 0ah; 在当前光标位置写字母moval, dimovbh, 00hmovcx, 01hint10h;popcxloopnextrow; 下一行letter_over:;movah, 0ahmoval, movbh, 00hmovcx, 01hint10h;incdh;movah, 02hmovbh, 00hint10h;movah, 0ahmoval, ;movbh, 00hmovcx, 01hint10hjmpnext_letterdisappear:; 击中字母后输出空格popcxpopcxmovah, 0ah;moval, ;movbh, 00hmovcx, 01

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论