版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号:0121110340218课程设计题目汇编打字游戏的设计与实现学院计算机科学与技术学院专业计算机科学与技术专业班级1204班姓名谢文明指导教师刘传文2014年6月18日
打字游戏的设计与实现一.设计内容(1)功能菜单由“开始”、“速度调整”、“统计成绩”和“结束”等组成。(2)游戏开始后,出现由26个字母组成的乱序行,这时其中任一字母落下,在键盘上敲入该字母,如果输入正确,字母消失,并得分;按Esc键返回主界面;按空格键暂停;按“Enter”退出。二.设计原理本次设计用的汇编语言基本知识如下:汇编语言程序结构主体程序结构框架datasegment……dataendscodesegmentassumecs:code,ds:data,es:extrastart:movax,datamovds,ax……call****……movax,4c00hint21hcodeendsendstart子程序结构框架Nameprocfar……Nameendp宏定义结构框架Namemacro<参数>……Endm本次设计主要用到算术指令,逻辑指令,控制转移指令等如loop指令,用于循环执行某条或者某块指令集直到默认的参数(CX)为零,退出循环,执行loop循环下的下一条指令。Jmp无条件跳转指令,跳转到一个指定的标号位置。条件转移指令JZ/JNZ、JE/JNE等等,用于判断相应的标志位是否满足条件,若满足则跳转,不满足就继续往下一条指令执行。CMP比较指令,用于比较两个数的大小,设置标志位,通常和条件跳转指令关联用。CALL调用指令,用于调用子程序Int中断指令,用于中断操作总体分析程序功能分析本次设计的是打字游戏,因此,在屏幕落下字母,输入字母,并且判断输入字母和落下来的字母是否相同,如果相同,则字母消失,否则字母下落到屏幕底部消失。其具体功能如下:1.按回车键以慢速度进入游戏,ESC键退出2.按1进入速度选择界面3.若进入速度设置界面,输入1或2,表示速度为慢或快4.游戏中按esc退回主菜单5.游戏过程中按space键暂停,再次按space键继续进行游Init_gamemacroop1,op2,op3,op4,op5,op6movcx,00hmovdh,op1movdl,op2op6:movah,02hmovbh,00hint10hpushcxmovah,0ahmoval,op3movbh,00hmovcx,01hint10hpopcxinccxincop4cmpcx,op5jneop6endmclear_screenmacroop1,op2,op3,op4;清屏宏定义movah,06hmoval,00hmovbh,07hmovch,op1movcl,op2movdh,op3movdl,op4int10hmovah,02hmovbh,00hmovdh,00hmovdl,00hint10hendmmenumacroop1,op2,op3;菜单显示宏定义movah,02hmovbh,00hmovdh,op1movdl,op2int10hmovah,09hleadx,op3int21hendmdatasegmentZKdb"*********WELCOMETOPLAY**********$"nodb"date:2014/6/18$"megdb"pressEnterkeytobegin.......$"meg1db"whenaletterisdropping,pleasehitit!$"meg2db"pressspacekeytopause!$"meg3db"pressESCkeytoreturnmaininterface!$"meg4db"press'Enter'toexitwhenplayinggame!$"meg5db"GameOverContinue?y/n$"meg6db"Press1.selectspeed.2.showscore$"meg7db"selectthelevel:$"meg8db"1.easy$"meg9db"2.hard$"meg10db"yourscoreis:$"meg11db"yourhistoryscoreis:$"speeddw1800d,150d;速度lettersdb"jwmilzoeucgpravskntxhdyqfb"db"iytpkwnxlsvxrmofzhgaebudjq"db"nwimzoexrphysfqtvdcgljukda"letter_counterdb0position_flagdb78dup(0)present_positiondb1scoredb?,0dataendsstacksegmentparastack'stack'db64dup(0)stackendscodesegmentmainprocfarassumecs:code,ds:data,ss:stackstart:movax,datamovds,axmovletter_counter,00hmovpresent_position,1leasi,position_flagmovah,00hmovcx,00hinit_postion_flag:mov[si],ahincsiinccxcmpcx,78djneinit_postion_flagmovcx,00hmovah,01horch,00010000bint10hclear_screen00d,00d,24d,79dInit_game00d,00d,0ah,dl,80d,nextsign1Init_game24d,00d,0ah,dl,80d,nextsign2Init_game00d,00d,0ah,dh,25d,nextsign3Init_game00d,79d,0ah,dh,25d,nextsign4menu05d,15d,ZK;菜单信息的宏调用menu07h,15d,nomenu09d,15d,megmenu11d,15d,meg1menu13d,15d,meg2menu15d,15d,meg3menu17d,15d,meg4menu18d,15d,meg6jmpputsoundfprocnearpushaxpushdxmovdx,9fffhinal,61handal,11111100btrig:xoral,2out61h,almovcx,800hdelay:loopdelaydecdxjnetrigpopdxpopaxretsoundfendpput:movah,02h;设置光标位置movbh,00hmovdh,22dmovdl,33dint10hmovah,01h;从键盘输入任意字符int21hcmpal,'1'jzsccmpal,'2'jnzprclear_screen00d,00d,24d,79dleadx,meg11movah,09hint21hcallprint_scoremovah,01hint21hcmpal,13jzl0l0:jmpstartpr:cmpal,13jzeasysc:clear_screen01d,01d,23d,78dmenu13d,15d,meg7menu14d,15d,meg8menu15d,15d,meg9movah,1int21hcmpal,31hjeeasycmpal,32hjehardjmpsceasy:movax,speed;控制速度movspeed,axjmpbeginhard:movax,speed+2;控制速度movspeed,axjmpbeginbegin:clear_screen01d,01d,23d,78d;清屏宏调用clear_screen01d,01d,23d,78dInit_game23d,01d,01h,dl,78d,nextsign5movah,02hmovbh,00hmovdh,01hmovdl,01hint10hmovcx,00hleasi,lettersjmpnextletterppp:jmpstartnext:clear_screen01d,01d,23d,78d;是否下一轮menu13d,15d,meg5menu14d,15d,meg10callprint_scoremovah,01hint21hcmpal,79hjepppcmpdl,6ehjmpexitnextletter:movah,02h;显示字母movdl,[si]int21hincsiinccxcmpcx,78djenextcyclejmpnextletterfrom_front:subpresent_position,78djmpgobackto_sifind_zero:cmpletter_counter,78djenextcmppresent_position,78djefrom_onemovah,00hnextsi:addpresent_position,01hincsicmp[si],ahjegobackto_dicmppresent_position,78djefrom_onejmpnextsifrom_one:movpresent_position,01hjmpgobackto_sirecycle:movletter_counter,00hmovpresent_position,01dleasi,position_flagmovcx,00hmovah,00hclearsi:mov[si],ahinccxcmpcx,78djenextcycleincsijmpclearsinextcycle:leadi,lettersleasi,position_flagaddpresent_position,31dcmppresent_position,78jafrom_frontgobackto_si:addsi,wordptrpresent_positiondecsimovah,[si]cmpah,01hjefind_zerogobackto_di:movah,01hmov[si],ahadddi,wordptrpresent_positiondecdimovdl,present_positionmovah,02hmovbh,00hmovdh,01hint10hmovcx,00hnextrow:pushcxmovcx,00hjmpout_cycleout_cycle:;延迟pushcxmovcx,00hjmpin_cycleggg:incscoremoval,score+1movscore,aljmpdisappearin_cycle:addcx,01hcmpcx,40000jnein_cyclepushdxmovah,06h;从键盘输入字符movdl,0ffhint21hpopdxjzpasscmpal,1bh;如果键入ESC,则返回主菜单jeto_start1cmpal,"";如果键入SPACE,则游戏暂停jepausecmpal,13jnzignorejmpexitignore:cmpal,[di];输入字母正确!则字母消失!!!!!!!jegggpass:popcxinccxcmpcx,speedjeprintjmpout_cyclepause:pushdx;暂停处理movah,06hmovdl,0ffhint21hpopdxcmpal,""jnepausejmppassto_start1:;返回主菜单jmpstartprint:movah,0ah;在当前光标位置写空格moval,""movbh,00hmovcx,01hint10hincdhmovah,02h;改变光标位置movbh,00hint10hmovah,0ah;在当前光标位置写字母moval,[di]movbh,00hmovcx,01hint10hpopcxinccxcmpcx,21djeprint_next_letterjmpnextrow;下一行disappear:;击中字母后输出空格movah,0ahmoval,""movbh,00hmovcx,01hint10hcallsoundfjmphitprint_next_letter:movah,0ahmoval,""movbh,00hmovcx,01hint10hincdhmovah,02hmovbh,00hint10hmovah,0ahmoval,""movbh,00hmovcx,01hint10hcallsoundfhit:movah,02hmovbh,00hmovdh,01hmovdl,present_positionint10haddletter_counter,01hjmpnextcycleexit:movah,4chint21hprint_scoreprocpushaxpu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年宠物宠物美容师合作协议
- 中北大学《国际商务》2025-2026学年期末试卷
- 莆田学院《药学史》2025-2026学年期末试卷
- 长春工业大学人文信息学院《设计色彩》2025-2026学年期末试卷
- 信誉楼视客为友服务
- 2026年苏教版小学二年级数学上册计算进阶练习卷含答案
- 深度解析(2026)《GBT 4169.2-2006塑料注射模零件 第2部分:直导套》
- 2026年人教版小学六年级数学上册利润问题初步卷含答案
- 深度解析(2026)《GBT 3634.2-2011氢气 第2部分:纯氢、高纯氢和超纯氢》
- 《JBT 10755-2017超声波电动机 通 用技术条件》专题研究报告
- DB22-T 389.4-2025 用水定额 第4部分:居民生活
- 贵州中医药大学时珍学院《C#程序语言设计》2023-2024学年第一学期期末试卷
- 语言运用与综合性学习-2025年中考语文专项复习(湖北专用)(原题版)
- 法院委托评估价格异议申请书
- 人工挖孔桩专项施工方案(水磨钻施工)
- 卫生事业管理学:第十一章 社会健康资源管理
- ASTM-D3359-(附著力测试标准)-中文版
- DBJ15-22-2021-T 锤击式预应力混凝土管桩工程技术规程(广东省)
- 混凝土中氯离子含量检测技术规程
- 监理大纲工程监理方案技术标投标方案
- DL-T5706-2014火力发电工程施工组织设计导则
评论
0/150
提交评论