资源描述:
《汇编语言动态小车课设报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、■-1-1动态小车功能简介-2-1.1功能简介-2-1.2程序流程图-2-2.预备知识-3-3.任务分析-4-3.1.程序功能分析-4-3.2程序设计意义-4-4.程序设计说明-4-4.1设计小车的形状-4-4.2完成对小车的一次显示-4-4.3调用擦除子程序-5-4.4动态监测键盘输入-6-4.4延时子程序-6-5.实际效果显示图-8-6.总结与体会-8-P付录-9-摘要木课程设计主耍是基于《微机原理与接UI技术》的学的基础上实现的,程序设计主耍是巾汇编语言兑成。汇编语言(AssemblyLanguage)是
2、面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,如此就增强了程序的可读性并且降低了编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能寅接识别,还耍巾汇编程序或者叫汇编语言编译器转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。木设计是根据汇编语言的特性,完成小车的动态显示的功能,并且结合实际情况,增加
3、某些附加功能,以使设计更加完善,形成具存一定功能的完整的应用程序。关键词:动态小车汇编80861动态小车功能简介1.1功能简介本课程设计采用16位微处理器8086CPU以及86系列微型计算机指令系统,使用MasmforWindows集成实验环境进行汇编并在DOSBox软件中运行,完成了动态小车的显示,实时监测键盘输入,并且根据相应输入完成对应的功能。1.2程序流程图2.预备知识该程序所涉及的关键指令及分析如下:指令1:MOVAll,0911LEADX,STR1(或MOVDX,OFFSETSTR1)INT21H分
4、析:DOS显示操作INT21H的功能9是显示字符串,它要求被显示输出的字符以$字符(24H)作为定界符。而DS:DX=缓冲区首地址,所以将字符串的首地址附给DX。作用:显示字符串。例如:显示出界而的字符串,让玩家知道如何操作界而。指令2:MOVAH,02HMOVBH,0MOVDll,8MOVDL,0INT10H分析:BIOS中断类型10H的功能2设置光标位置。光标位置的行号设在DH寄存器中,列号设在DL中。而BH是包含的页号。作用:使字符在屏幕的相应位置中输出,同时也能使小车有相应的位置输出,显示出小车图形。其
5、中,小车移动,就是改变当屮的列号,使列号增或减。简单的说,就是确定输出的位置。指令3:MOVAH,07HINT2111分析:DOS键盘操作(INT21H)的功能07能等待从键盘输入一个字符,但是输入字符不回显,而且不进彳了Ctrl_C或Ctrl_Break的检査处理。作用:U:操作者可以通过键盘控制小车,例如上、下、左、右的操纵小车費•MOVAH,09HMOVAL,MOVBL,08EHMOVCX,1INT1011分析.•10H的功能9能把一个字符送到显示屏幕,并且该功能能输出字符串的属性和输出次数,其屮,AL存
6、放的是字符,BL存放是属性,CX存放的是次数。作用:逐个字符输出,是全部字符输出后显示一个小车的图案。同是利用此条指令也能输出公路的图案。2.任务分析3.1.程序功能分析第第第,,,一二三,,,四五六第第第清屏,显示出背景属性。置光标位置显示字符及其属性,显示出小车图像判断键盘输入,检杳是否宥按键按K,并且检测到相应的按键石,给特定的标志变量赋特定值。擦除这一时刻屏幕妞示的小车。根据标志变量的值对小车的下一吋刻位置给予对应的操作。循环第二至第五的功能。3.2程序设计意义根据课堂讲授内容,学生做相应的Q主练习,消
7、化课堂所讲解的内容;通过调试典型例题或•>」题积累调试汇编语言程序的经验;通过完成木次课程设计的要求,逐渐培养学生的编程能力、用计算机解决实际问题的能力3.程序设计说明4.1设计小车的形状CARDB7DBODBH,7,0,0DB0B1H,5,0,1DBODBH,6,0,1DBODBH,18,0,1DB4FH,11,1,0DB4FH,11,0,-3DB2,10,-2,14.2完成对小车的一次显示PLOT_NEXT:ADDDH,[DI+2];改变行列指针ADDDL,[DI+3]MOVCRSR:MOVAH,2INT1
8、0HMOVAL,[DI]MOVBL,[DI+1]PUSHCXMOVCX,1MOVAH,09INT10HPOPCXADDDI,4LOOPPLOTNEXT;移动光标位置;取字符值及属性;显示字符DI指向下一个字符4.3调用擦除子程序ERASE1MOVMOVMOVMOVERASE1ADDADDMOVINTMOVMOVPUSHMOVMOVINTPOPADDLOOPMOVMOVMOVDECCMP