汇编语言动态小车课设报告.doc

汇编语言动态小车课设报告.doc

ID:55589604

大小:94.00 KB

页数:18页

时间:2020-05-19

汇编语言动态小车课设报告.doc_第1页
汇编语言动态小车课设报告.doc_第2页
汇编语言动态小车课设报告.doc_第3页
汇编语言动态小车课设报告.doc_第4页
汇编语言动态小车课设报告.doc_第5页
资源描述:

《汇编语言动态小车课设报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、摘要11动态小车功能简介21.1功能简介21.2程序流程图22.预备知识33.任务分析43.1.程序功能分析43.2程序设计意义54.程序设计说明54.1设计小车的形状54.2完成对小车的一次显示54.3调用擦除子程序64.4动态监测键盘输入74.4延时子程序75.实际效果显示图86.总结与体会8附录9摘要本课程设计主要是基于《微机原理与接口技术》的学习的基础上实现的,程序设计主要是由汇编语言完成。汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替机器指令的操作码,用地址符号(Symbol)或标号(Label

2、)代替指令或操作数的地址,如此就增强了程序的可读性并且降低了编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。本设计是根据汇编语言的特性,完成小车的动态显示的功能,并且结合实际情况,增加某些附加功能,以使设计更加完善,形成具有一定功能的完整的应用程序。关键词:动态小车汇编80861动态小车功能简介1.1功能简介本课程设计采用16位微处理器8086CPU以及86系列微型计算

3、机指令系统,使用MasmforWindows集成实验环境进行汇编并在DOSBox软件中运行,完成了动态小车的显示,实时监测键盘输入,并且根据相应输入完成对应的功能。1.2程序流程图2.预备知识该程序所涉及的关键指令及分析如下:指令1:MOVAH,09HLEADX,STR1(或MOVDX,OFFSETSTR1)INT21H分析:DOS显示操作INT21H的功能9是显示字符串,它要求被显示输出的字符以$字符(24H)作为定界符。而DS:DX=缓冲区首地址,所以将字符串的首地址附给DX。作用:显示字符串。例如:显示出界面的字符串,让玩家知道如何操作界面。指令2:MOVAH,0

4、2HMOVBH,0MOVDH,8MOVDL,0INT10H分析:BIOS中断类型10H的功能2设置光标位置。光标位置的行号设在DH寄存器中,列号设在DL中。而BH是包含的页号。作用:使字符在屏幕的相应位置中输出,同时也能使小车有相应的位置输出,显示出小车图形。其中,小车移动,就是改变当中的列号,使列号增或减。简单的说,就是确定输出的位置。指令3:MOVAH,07HINT21H分析:DOS键盘操作(INT21H)的功能07能等待从键盘输入一个字符,但是输入字符不回显,而且不进行Ctrl_C或Ctrl_Break的检查处理。作用:让操作者可以通过键盘控制小车,例如上、下、左

5、、右的操纵小车指令4:MOVAH,09HMOVAL,’@’MOVBL,08EHMOVCX,1INT10H分析:10H的功能9能把一个字符送到显示屏幕,并且该功能能输出字符串的属性和输出次数,其中,AL存放的是字符,BL存放是属性,CX存放的是次数。作用:逐个字符输出,是全部字符输出后显示一个小车的图案。同是利用此条指令也能输出公路的图案。3.任务分析3.1.程序功能分析第一,清屏,显示出背景属性。第二,置光标位置显示字符及其属性,显示出小车图像第三,判断键盘输入,检查是否有按键按下,并且检测到相应的按键后,给特定的标志变量赋特定值。第四,擦除这一时刻屏幕显示的小车。第五

6、,根据标志变量的值对小车的下一时刻位置给予对应的操作。第六,循环第二至第五的功能。3.2程序设计意义根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试汇编语言程序的经验;通过完成本次课程设计的要求,逐渐培养学生的编程能力、用计算机解决实际问题的能力4.程序设计说明4.1设计小车的形状CARDB7DB0DBH,7,0,0DB0B1H,5,0,1DB0DBH,6,0,1DB0DBH,18,0,1DB4FH,11,1,0DB4FH,11,0,-3DB2,10,-2,14.2完成对小车的一次显示PLOT_NEXT:ADDDH,[DI+2

7、];改变行列指针ADDDL,[DI+3]MOV_CRSR:MOVAH,2;移动光标位置INT10HMOVAL,[DI]MOVBL,[DI+1];取字符值及属性PUSHCXMOVCX,1MOVAH,09;显示字符INT10HPOPCXADDDI,4;DI指向下一个字符LOOPPLOT_NEXT4.3调用擦除子程序ERASE1PROCNEAR;左走MOVCX,CHAR_CNTMOVDI,POINTERMOVDH,LINE_ONMOVDL,COL_ONERASE1_NEXT:ADDDH,[DI+2];改变行列指针ADDDL,[DI+3]MOVA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。