首页 汇编语言实验报告

汇编语言实验报告

举报
开通vip

汇编语言实验报告汇编语言课程设计实验报告姓名:学号:0906160212学院:信息科学与工程学院班级:目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc328469063"目录PAGEREF_Toc328469063\h1HYPERLINK\l"_Toc328469064"前言PAGEREF_Toc328469064\h2HYPERLINK\l"_Toc328469065"第1章系统分析PAGEREF_Toc328469065\h3HYPERLINK\l"_Toc3284...

汇编语言实验报告
汇编语言课程设计实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 姓名:学号:0906160212学院:信息科学与工程学院班级:目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc328469063"目录PAGEREF_Toc328469063\h1HYPERLINK\l"_Toc328469064"前言PAGEREF_Toc328469064\h2HYPERLINK\l"_Toc328469065"第1章系统分析PAGEREF_Toc328469065\h3HYPERLINK\l"_Toc328469066"第2章系统总体设计PAGEREF_Toc328469066\h4HYPERLINK\l"_Toc328469067"2.1打字程序包括以下五个子程序:PAGEREF_Toc328469067\h4HYPERLINK\l"_Toc328469068"2.2算法的整体设计思路PAGEREF_Toc328469068\h4HYPERLINK\l"_Toc328469069"2.3程序的主要特点PAGEREF_Toc328469069\h4HYPERLINK\l"_Toc328469070"第3章详细设计PAGEREF_Toc328469070\h5HYPERLINK\l"_Toc328469071"3.1主界面伪代码PAGEREF_Toc328469071\h5HYPERLINK\l"_Toc328469072"3.2等级界面伪代码PAGEREF_Toc328469072\h5HYPERLINK\l"_Toc328469073"3.3游戏界面伪代码PAGEREF_Toc328469073\h6HYPERLINK\l"_Toc328469074"3.4清屏子程序设计PAGEREF_Toc328469074\h6HYPERLINK\l"_Toc328469075"3.5密码程序设计PAGEREF_Toc328469075\h7HYPERLINK\l"_Toc328469076"3.6宏代码PAGEREF_Toc328469076\h8HYPERLINK\l"_Toc328469077"3.6.1在指定位置显示彩色字符串PAGEREF_Toc328469077\h8HYPERLINK\l"_Toc328469078"3.6.2显示背景PAGEREF_Toc328469078\h9HYPERLINK\l"_Toc328469079"3.6.3画横向边框的宏PAGEREF_Toc328469079\h9HYPERLINK\l"_Toc328469080"3.6.4画竖边框的宏PAGEREF_Toc328469080\h10HYPERLINK\l"_Toc328469081"3.7功能的进一步完善PAGEREF_Toc328469081\h11HYPERLINK\l"_Toc328469082"3.7.1完善代码一PAGEREF_Toc328469082\h11HYPERLINK\l"_Toc328469083"3.7.2完善代码二PAGEREF_Toc328469083\h12HYPERLINK\l"_Toc328469084"3.7.3完善代码三PAGEREF_Toc328469084\h12HYPERLINK\l"_Toc328469085"第4章软件使用说明书PAGEREF_Toc328469085\h14HYPERLINK\l"_Toc328469086"4.1密码界面图:PAGEREF_Toc328469086\h14HYPERLINK\l"_Toc328469087"4.2主界面图:PAGEREF_Toc328469087\h14HYPERLINK\l"_Toc328469088"4.3等级选择界面:PAGEREF_Toc328469088\h14HYPERLINK\l"_Toc328469089"4.4游戏界面:PAGEREF_Toc328469089\h15HYPERLINK\l"_Toc328469090"参考文献PAGEREF_Toc328469090\h17HYPERLINK\l"_Toc328469091"致谢PAGEREF_Toc328469091\h18HYPERLINK\l"_Toc328469092"源代码:PAGEREF_Toc328469092\h19前言随着计算机的不断更新发展,计算机在各个领域的应用越来越多,更多的软件开发人员和相关技术人员在程序设计的过程中应用汇编程序或编制汇编语言。而汇编语言作为计算机专业大学生必修课,每个作为本专业的学生对汇编的理解和学习就显得尤为重要。汇编语言是计算机能够提供用户使用的最快而又最好最有效的与言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间要求很高的场合,汇编语言的应用就显得必不可少了,一些直接控制硬件的应用场合,则更是非用汇编语言不可了。《打字游戏程序设计》课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。因此,要求我们能综合应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。通过具体的问题分析、设计、调试、运行程序。在实际问题中锻炼提高自己,增加了对本门课程内容的理解,锻炼了动手能力。就这个程序具体而言:调用宏,显示背景和主界面,通过选择不同的选项,可以进入不同的界面;采用BIOS功能的中断,可以在任何时候退出当前所在的界面并通过选择进入其他的界面。这个程序最终通过菜单所提示的信息选取所要进入的界面,获得所要的功能。第1章系统分析实验目的:汇编语言实现打字游戏基本功能:1.开始界面的提示信息:进入游戏,退出打字游戏:字母从屏幕上方下落,若用户在字母下落过程中输入正确字母,字母消失,输入不正确,字母继续下落空格键退出游戏程序运行图开始主界面速度选择e退出ESC返回主界面Space暂停游戏界面第2章系统总体设计2.1打字程序包括以下四个子程序:(1)主界面的显示模块;(2)打字练习模块;(3)设置速度模块;(4)清屏模块。其中的打字练习模块又分为以下三个子程序:(a)游戏界面模(b)功能模块2.2算法的整体设计思路此程序涉及到宏和I/O中断的调用,通过对宏的定义和使用以及对I/O中断的使用,实现程序的相应功能。利用宏,实现各个界面的显示,采用中断,实现各个子程序的相互转换。其中最主要的是打字程序:运行程序,打字界面中出现由26个字母组成的乱序行,这时其中会有任一字母落下,在键盘上输入该字母,字母消失,分数值加1,否则字母一直移动到屏幕底端,然后消失,生命值减1。当生命值减为零且未在字母下落到屏幕底端之前输入该下落字母时,打字练习结束,显示结束界面。2.3程序的主要特点本程序最大的特点就是具有较好的人机交互功能。在主界面中,可以选择不同的游戏等级,能够根据自己的实际打字速度,选择相匹配的等级进行打字练习。第3章详细设计3.1主界面伪代码系统的主界面主要是显示欢迎语,制作人,时间,速度选择等主界面信息。方便用户了解信息并进行选择操作。用户密码为“111111”。在用户输入正确的密码之后即可进入游戏进入下一选择菜单。STR1DB'Welcometoplaychars',0AH,0DH,'$'STR2DB'Madebyliudaoqing',0AH,0DH,'$'STR3DB'2018/1/18',0AH,0DH,'$'STR4DB'Pleasechoosespeeding',0AH,0DH,'$'STR5DB'PleasepressEntertocintinue...',0AH,0DH,'$'STRADB'<------Pleasechoose----->',0AH,0DH,'$'STRBDB'score:','i',0AH,0DH,'$'STRCDB'Youchoose:',0AH,0DH,'$'STRDDB'hqfuvodepfdjygnhtrwgaerjrklubgsnyrsbntrsbngtrdjykuahtrgregfytjgfjytjktru','$'STREDB'RIGHT:','$'MES5DB"PLEASEENTERYOURPASSWORD:$"PASSWORDDB"111111"PASSWORD1DB6DUP(?)3.2等级界面伪代码在主界面中选择2,进入等级界面的设置,其中有3个等级,代表不同的难易程度。用户可选则其中的任意一个级别,按Enter键表示确定并返回主界面,若用户输入的错误的等级,则一直等待,直到输入了正确的等级。以下是等级界面的伪代码:STR7DB'speed1',0AH,0DH,'$'STR8DB'speed2',0AH,0DH,'$'STR9DB'speed3',0AH,0DH,'$'STR0DB'Selectthenumberamong1-3',0AH,0DH,'$'3.3游戏界面伪代码此伪代码显示的是进入打字界面的提示信息:ST1DB'RIGHT:Pause',0AH,0DH,'$'ST2DB'E:Quit',0AH,0DH,'$'ST8DB'Esc:Back',0AH,0DH,'$'ST3DB'FunctionMeun',0AH,0DH,'$'ST4DB'pleaseinput...',0AH,0DH,'$'ST5DB'SPACE:Continue',0AH,0DH,'$'ST6DB'ThankYou!',0AH,0DH,'$'ST10DB'',0AH,0DH,'$'ST9DB'VREYGOOD!',0AH,0DH,'$'3.4清屏子程序设计BIOS功能调用中的INT10H功能6能使屏幕内容上卷指定的行,这个功能需要设置4个参数,分别代表清屏区域的左上角的坐标和右下角的坐标。如果屏幕的其实行列不为(0,0)结束的行列不为(24,79),则屏幕上只有指定的一部分具有上卷的功能,这个屏幕伤的部分区域叫做窗口(window)像这样的窗口可以在屏幕上设置多个,这些窗口都可以独立使用。如果上卷超过指定窗口的顶部,这些行的内容就消失,出现在窗口底部的新行被填为空格,其属性用BH寄存器决定。如果AL=0,则实现完成的工作是清楚屏幕的功能,它将按AL中的BH字符使指定的窗口为空白。以下是清除全屏幕的子程序:CLEARPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXMOVAH,6MOVAL,0;blankscreenMOVBH,7MOVCH,0;左上角行号MOVCL,0;左上角列号MOVDH,24;右下角行号MOVDL,79;右下角列号INT10H;屏幕初始化或上卷MOVDX,0;行列号都为0MOVAH,2INT10H;置光标位置DIS525D,10100100B;置背景色背景蓝前景红DIS525D,11110100B;置背景色背景白色前景红DIS3RETCLEARENDP3.5密码程序设计DIS1MES5,5,15LEABX,PASSWORD1MOVCX,6INPUT:MOVAH,07HINT21HMOV[BX],ALINCBXMOVAH,02HMOVDL,'*'INT21HLOOPINPUTCONTIUN:MOVAH,07HINT21HCMPAL,0DHJNECONTIUNMOVCX,6LEASI,PASSWORDLEADI,PASSWORD1CHECK:MOVAL,[SI]CMPAL,[DI]JNESTARTINCSIINCDILOOPCHECK3.6宏代码3.6.1在指定位置显示彩色字符串DIS1MACROSTRING1,Y,MMOVAH,2MOVBH,0;页号MOVDH,Y;行标MOVDL,M;列标INT10H;置光标位置MOVAH,09HMOVDX,SEGSTRING1MOVDS,DXMOVDX,OFFSETSTRING1INT21H;显示字符串ENDM3.6.2显示背景DIS5MACROS1,S2DIS2MOVAH,6MOVAL,0;blankscreenMOVAL,s1;上卷25行MOVBH,s2;绿色背景红色前景MOVCH,0MOVCL,0MOVDH,0MOVDL,80INT10H;屏幕初始化或上卷DIS3ENDM3.6.3画横向边框的宏DIS6MACROZ1,Z2,Z3,Z4LOCALC5;LOCAL为重复定义的定义符DIS2MOVCX,Z1;循环次数MOVDL,Z2;列C5:MOVAH,2MOVBH,Z3;页号MOVDH,Z4;行INT10H;置光标位置PUSHDXMOVDL,2AHINT21H;输出‘*’POPDXINCDL;列++LOOPC5DIS3ENDM3.6.4画竖边框的宏DIS7MACROQ1,Q2,Q3,Q4LOCALF1;LOCAL为重复定义的定义符DIS2MOVCX,Q4MOVDH,Q1;行F1:MOVAH,2MOVBH,Q2MOVDL,Q3;列INT10H;置光标位置MOVDL,2AHINT21HINCDHLOOPF1DIS3ENDM3.7功能的进一步完善3.7.1完善代码一修改界面背景属性;DIS525D,10100100B;置背景色背景蓝前景红DIS525D,01001111B;置背景色背景红前景白;显示背景DIS5MACROS1,S2DIS2MOVAH,6MOVAL,0;blankscreenMOVAL,s1;上卷25行MOVBH,s2;绿色背景红色前景MOVCH,0MOVCL,0MOVDH,0MOVDL,80INT10H;屏幕初始化或上卷DIS3ENDM3.7.2完善代码二击中下落字母后,使其显示不同的颜色MOVAH,2MOVBH,0INT10HPUSHaxPUSHbxmovah,9movbh,0movcx,1moval,[si]movbl,00101111B;字母击中后显示白色INT10HpopaxpopbxcallSLEEP1MOVAH,2MOVBH,0PUSHDXMOVDL,''MOVAH,02HINT21H;显示空格覆盖字母INT10H;置光标位置POPDX3.7.3完善代码三当游戏分数达到某一数值时,显示“VeryGood!”ST9DB'VREYGOOD!',0AH,0DH,'$'CMPAL,30;击中30次显示jnzTDIS1ST920,60;显示“VERYGOOD”第4章使用说明书第4章软件使用说明书4.1密码界面图:运行程序,将会出现以上界面,这个功能是通过字符串的一个一个的比较实现的,输入错误后,要重新输入,直到输入正确的密码。4.2主界面图:输入密码后,进入主界面;第一行是密码行;第二行是欢迎语句;第三行是组员名字;第四行是演示代码的时间;第五行是提示语句。4.3等级选择界面:按ENTER键后,进入等级选择界面这是一个等级选择界面,有三个等级进行选择,分别代表不同的速度,速度一次递增,只能输入1-3,直到输入正确才能开始游戏。4.4游戏界面:选择等级后,进入游戏界面;界面的左边是功能菜单,可以进行功能的选择,暂停(空格键),退出(E),返回主界面(Esc);界面的中间是游戏区,当用击中下落的字母后,字母会变为白色,并有声音发出,表示用户击中字母;界面的右边是记分功能,可以显示用户的当前分数。源代码:DIS1MACROSTRING1,Y,MMOVAH,2MOVBH,0;页号MOVDH,Y;行标MOVDL,M;列标INT10H;置光标位置MOVAH,09HMOVDX,SEGSTRING1MOVDS,DXMOVDX,OFFSETSTRING1INT21H;显示字符串ENDM;宏进栈DIS2MACROPUSHAXPUSHBXPUSHCXPUSHDXENDM;宏出栈DIS3MACROPOPDXPOPCXPOPBXPOPAXENDM;显示背景DIS5MACROS1,S2DIS2MOVAH,6MOVAL,0;blankscreenMOVAL,s1;上卷25行MOVBH,s2;绿色背景红色前景MOVCH,0MOVCL,0MOVDH,0MOVDL,80INT10H;屏幕初始化或上卷DIS3ENDM;画横向边框的宏DIS6MACROZ1,Z2,Z3,Z4LOCALC5;LOCAL为重复定义的定义符DIS2MOVCX,Z1;循环次数MOVDL,Z2;列C5:MOVAH,2MOVBH,Z3;页号MOVDH,Z4;行INT10H;置光标位置PUSHDXMOVDL,2AHINT21H;输出‘*’POPDXINCDL;列++LOOPC5DIS3ENDM;画竖边框的宏DIS7MACROQ1,Q2,Q3,Q4LOCALF1;LOCAL为重复定义的定义符DIS2MOVCX,Q4MOVDH,Q1;行F1:MOVAH,2MOVBH,Q2MOVDL,Q3;列INT10H;置光标位置MOVDL,2AHINT21HINCDHLOOPF1DIS3ENDM;=======================================================================DATASSEGMENTSTR1DB'Welcometoplaychars',0AH,0DH,'$'STR2DB'Madebyliudaoqing',0AH,0DH,'$'STR3DB'2018/1/18',0AH,0DH,'$'STR4DB'Pleasechoosespeeding',0AH,0DH,'$'STR5DB'PleasepressEntertocintinue...',0AH,0DH,'$'STR7DB'speed1',0AH,0DH,'$'STR8DB'speed2',0AH,0DH,'$'STR9DB'speed3',0AH,0DH,'$'STR0DB'Selectthenumberamong1-3',0AH,0DH,'$'STRADB'<------Pleasechoose----->',0AH,0DH,'$'STRBDB'score:','i',0AH,0DH,'$'STRCDB'Youchoose:',0AH,0DH,'$'STRDDB'hqfuvodepfdjygnhtrwgaerjrklubgsnyrsbntrsbngtrdjykuahtrgregfytjgfjytjktru','$'STREDB'RIGHT:','$'MES5DB"PLEASEENTERYOURPASSWORD:$"PASSWORDDB"111111"PASSWORD1DB6DUP(?)ST1DB'RIGHT:Pause',0AH,0DH,'$'ST2DB'E:Quit',0AH,0DH,'$'ST8DB'Esc:Back',0AH,0DH,'$'ST3DB'FunctionMeun',0AH,0DH,'$'ST4DB'pleaseinput...',0AH,0DH,'$'ST5DB'SPACE:Continue',0AH,0DH,'$'ST6DB'ThankYou!',0AH,0DH,'$'ST10DB'',0AH,0DH,'$'ST9DB'VREYGOOD!',0AH,0DH,'$'LENTHEQU$-STRD;STRD的长度MDB0NDB?ADB0;速度1选择标志BDB0;速度2选择标志VDB0;速度3选择标志DATASENDSSTACK1SEGMENTSTACKDB100DUP(?)STACK1ENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACK1START:MOVAX,DATASMOVDS,AXCALLCLEAR;调用清屏函数,清除dos界面;输入密码DIS1MES5,5,15LEABX,PASSWORD1MOVCX,6INPUT:MOVAH,07HINT21HMOV[BX],ALINCBXMOVAH,02HMOVDL,'*'INT21HLOOPINPUTCONTIUN:MOVAH,07HINT21HCMPAL,0DHJNECONTIUNMOVCX,6LEASI,PASSWORDLEADI,PASSWORD1CHECK:MOVAL,[SI]CMPAL,[DI]JNESTARTINCSIINCDILOOPCHECKCALLDISPLAY1;显示主欢迎界面AG:MOVA,0MOVB,0MOVV,0;只相应的速度标志为0TH2:MOVAH,7INT21H;无回显键盘输入字符CMPAL,0DH;如果是回车,则继续JNETH2;否则继续输入;第二屏TH1:CALLCLEAR;调用清屏函数DIS680,0,0,0;第一行‘*’DIS679,0,0,24;最后一行‘*’79DIS71,0,0,23;左DIS71,0,79,23;右DIS1STR4,10,25;宏调用显示欢迎界面及速度选择项DIS1STR7,12,30DIS1STR8,14,30DIS1STR9,16,30DIS1STR0,20,16THD:MOVAH,7INT21H;无回显键盘输入字符CMPAL,31H;判断是否为1JNEMODIFYAJMPTHB;是则转,JMP实现间接跳转MODIFYA:CMPAL,32H;判断是否为2JNEMODIFYBJMPTHC;是则转MODIFYB:CMPAL,33H;判断是否为3JNETHD;不是则重新输入MOVV,1;速度3被选中的标志JMPTHATHB:MOVA,1;速度1被选中的标志JMPTHATHC:MOVB,1;速度2被选中的标志THA:CALLCLEAR;调用清屏函数CALLPAINT;调用函数画游戏边框CALLFALL;调用下落函数JMPAG;ESC回到主界面;显示功能菜单函数DISPLAY1PROCNEARDIS1STR1,10,25DIS1STR2,13,8DIS1STR3,16,31DIS1STR5,21,19DIS680,0,0,0;第一行‘*’DIS679,0,0,24;最后一行‘*’79DIS71,0,0,23;左DIS71,0,79,23;右RETDISPLAY1ENDP;清屏函数,清除整个屏幕CLEARPROCNEARPUSHAXPUSHBXPUSHCXPUSHDXMOVAH,6MOVAL,0;blankscreenMOVBH,7MOVCH,0;左上角行号MOVCL,0;左上角列号MOVDH,24;右下角行号MOVDL,79;右下角列号INT10H;屏幕初始化或上卷MOVDX,0;行列号都为0MOVAH,2INT10H;置光标位置;DIS525D,10100100B;置背景色背景蓝前景红DIS525D,01001111B;置背景色背景白色前景红DIS3RETCLEARENDP;下落函数,核心子函数FALLPROCNEARLEASI,STRD;传递将要下落的字母子串T1:INCSI;加1以便寻找下一个字母CALLRANDOM;获得随机数函数MOVDL,AH;获得随机数AHADDDL,26;下落框起始列DL+26下落的起始位置MOVDH,1;行MOVCX,23;计数AGA:MOVAH,2MOVBH,0INT10H;置光标位置MOVAL,[SI];取下落字符PUSHDXMOVDL,ALMOVAH,02HINT21H;显示DL中的字符串[SI]字母开始出现POPDXPUSHAX;AX,CX进栈,以防干扰PUSHCXMOVCX,0;隐藏字母后面的光标MOVAH,1ORCH,00010000BINT10H;置光标类型POPCXPOPAXCALLSP_ADJMOVAH,2MOVBH,0INT10H;置光标位置PUSHDXMOVDL,''MOVAH,02HINT21H;显示空格覆盖字母INT10H;置光标位置POPDXSUBAL,ALPUSHDXMOVAH,6MOVDL,0FFH;表示要输入INT21H;直接控制台I/OAL=输入字符POPDXCMPAL,0;判断是否输入JZT0;没有CMPAL,[SI];判断是否等于下落的字母第一次比较JET7;等于下落的字母,则下落下一个字母JNEX1T7:INCMMOVAH,2MOVBH,0INT10HPUSHaxPUSHbxmovah,9movbh,0movcx,1moval,[si]movbl,00101111B;字母击中后显示白色INT10HpopaxpopbxcallSLEEP1MOVAH,2MOVBH,0PUSHDXMOVDL,''MOVAH,02HINT21H;显示空格覆盖字母INT10H;置光标位置POPDXCALLPOINTCALLBELLJMPT1X1:CMPAL,20H;e第二次比较JETA;暂停JNET3TA:CALLPAUSET3:CMPAL,45H;空格键退出第三次比较JNET0CALLEXITT0:CMPAL,1BH;ESC返回主菜单第四次比较JNET12CALLCLEARCALLDISPLAY1JMPT4T12:INCDH;行++字母在下落SUBCX,1;CX=23初始值JZMODIFYCJMPAGAMODIFYC:JMPT1;新字母下落T4:RETFALLENDP;时间延迟函数及速度1函数SLEEP1PROCPUSHCXMOVCX,550DLOOP1:PUSHCXMOVCX,550DLOOP2:PUSHCXMOVCX,550DLOOP3:NOP;运行该指令时单片机什么都不做,但是会占用一个指令的时间NOPLOOPLOOP3POPCXLOOPLOOP2POPCXLOOPLOOP1POPCXRETSLEEP1ENDP;时间延迟函数及速度2函数SLEEP2PROCPUSHCXMOVCX,400DLOOP4:PUSHCXMOVCX,400DLOOP5:PUSHCXMOVCX,400DLOOP6:NOPNOPLOOPLOOP6POPCXLOOPLOOP5POPCXLOOPLOOP4POPCXRETSLEEP2ENDP;时间延迟函数及速度3函数SLEEP3PROCPUSHCXMOVCX,280DLOOP7:PUSHCXMOVCX,280DLOOP8:PUSHCXMOVCX,280DLOOP9:NOPNOPLOOPLOOP9POPCXLOOPLOOP8POPCXLOOPLOOP7POPCXRETSLEEP3ENDP;速度选择函数SP_ADJPROCCMPA,1JES1CMPB,1JES2CMPV,1CALLSLEEP3JMPS3S1:CALLSLEEP1JMPS3S2:CALLSLEEP2S3:RETSP_ADJENDP;画游戏边框PAINTPROCNEARDIS2DIS680,0,0,0;宏调用画上边框DIS70,0,55,25;宏调用画右1边框DIS70,0,56,25;宏调用画右2边框DIS70,0,79,24;宏调用画右3边框DIS70,0,0,25;宏调用画左1边框DIS70,0,24,25;宏调用画左2边框DIS70,0,25,25;宏调用画左3边框DIS679,0,0,24;宏调用画下边框DIS1ST3,6,3DIS1ST1,9,5DIS1ST5,11,5DIS1ST2,13,5DIS1ST4,17,3DIS1STRE,11,60DIS1ST8,15,5;显示字符串DIS2MOVAH,6MOVAL,0MOVAL,23DMOVBH,01001110B;红色背景黄色前景MOVBH,000100000B;绿色背景黑色前景MOVCH,1;从左上第1行MOVCL,26;从左上第26列MOVDH,1;从右上第1行MOVDL,54;从右上第54列INT10H;置主游戏屏界面颜色DIS3DIS3RETPAINTENDP;表示击中的函数BELLPROCNEARPUSHDXPUSHAXPUSHCXMOVDX,60000D;turnon/of60000dtimesINAL,61HANDAL,11111100B;置最后2位为0SOUND:XORAL,2;01交替变化发出声音OUT61H,ALMOVCX,9FH;valueofwaitWAIT1:LOOPWAIT1DECDXJNESOUNDPOPCXPOPAXPOPDXRETBELLENDP;打印实际得分POINTPROCNEARDIS2MOVAH,2MOVBH,0MOVDH,11MOVDL,67INT10H;置光标位置计分的位置MOVAL,MCMPAL,30;击中30次显示jnzT;DIS1ST920,60;显示“VERYGOOD”T:CMPAL,10JAEX9ADDAL,30HMOVDL,ALMOVAH,02H;显示得分一位INT21HJMPX10X9:MOVAL,MMOVAH,0MOVDL,10DIVDLPUSHAXMOVAH,2MOVBH,0MOVDH,11MOVDL,67INT10H;打印十位ADDAL,'0'MOVDL,ALINT21HPOPAXMOVAL,AHMOVAH,2MOVDH,11MOVDL,68INT10HADDAL,'0'MOVDL,ALINT21HX10:DIS3RETPOINTENDP;暂停函数PAUSEPROCNEARDIS2P1:MOVAH,07HINT21H;无显示输入已暂停输入空格继续游戏CMPAL,20H;判断是否是继续空格JNEP1;不是则跳转DIS3RETPAUSEENDP;退出函数EXITPROCNEARDIS2CALLCLEAR;调用清屏函数DIS525,00001110BDIS1ST6,12,30DIS1ST10,24,1MOVAH,4CHINT21H;返回DOS界面DIS3RETEXITENDP;取随机数RANDOMPROCNEARPUSHCXPUSHDXMOVAH,2CHINT21H;取系统时间DH:秒DL:1/100秒ADDDH,DLMOVAL,DHMOVAH,0MOVDL,26;26个字母故模26DIVDL;AX/DL余数在AHPOPDXPOPCXRETRANDOMENDPCODESENDSENDSTART
本文档为【汇编语言实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
慢慢老师
暂无简介~
格式:doc
大小:92KB
软件:Word
页数:39
分类:工学
上传时间:2022-01-20
浏览量:0