汇编语言课程设计_第1页
汇编语言课程设计_第2页
汇编语言课程设计_第3页
汇编语言课程设计_第4页
汇编语言课程设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

本文格式为Word版,下载可任意编辑——汇编语言课程设计课程设计说明书NO.1

“霓虹灯〞的模拟显示1课程设计的目的本次课程设计的目的是将课堂所学知识运用到实践当中去,锻炼一下我们的动手能力,利用汇编语言来编写一个能够实现霓虹灯的小程序,通过编写汇编语言程序,加深一下本学期的理论知识。利用汇编语言设计一个模拟霓虹灯的小程序,该程序可以实现字符*,向巨型的中间螺旋集聚的功能,直至形成一个矩形后,字符*和$自动消失。汇编语言是通过实际与理论相结合。通过设计开发汇编软件,不仅可以加深学生对汇编程序基本概念的了解,稳定学习成果,而且还能够提高实际动手能力及对计算机硬件的了解,把握计算机软件与硬件之间的联系。熟练把握编写汇编语言源程序的基本方法和基本框架,加深条件转移和无条件转移的理解。霓虹灯的广告价值十分的大,它是广告家族中重要的,秀美一族。在城市的制高点、商业街高楼大厦的房顶、店面雨篷,甚至连灯柱上都布满了五彩缤纷、琳琅满目的霓虹灯广告。霓虹灯广告为美化城市、点缀商业网点、为传播广告信息、引导消费都立下了汗马功劳。霓虹灯及其广告,在使城市“亮〞起来,营造庆祝气氛中功不可没。霓虹灯制作中除了在图形、编排设计方面要注意艺术处理之外,在色调上的运用是构成霓虹灯设计成功与否的十分重要的因素。各种不同的色调以及不同的色调组合能直接影响被感受者的感觉,并直接有效地吸引注意力,启发记忆,产生想象。因此,霓虹灯是一种投入较少、效果猛烈、经济实用的广告形式。2设计方案论证2.1硬件环境CPU:2.2GHz,内存:2G,硬盘大小:320G。2.2软件环境系统:WINDOWS7。(1)使用编辑软件TE.EXE进行源程序的编写。(2)使用汇编软件MASM.EXE对源程序汇编。(3)使用连接软件LINK.EXE对目标文件进行连接。(4)使用调试软件DEBUG.EXE对可执行程序进行调试。沈阳大学课程设计说明书NO.2

2.3MASM的介绍

MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必

再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度十分好,但是在其他平台上就有所限制,使用MASM的开发人员必需在windows下进行开发,历经二三十年的发展,目前MASM的版本已升至6.15,支持MMXPentium、PentiumII、PentiumIII及Pentium4等指令系统。

2.4总体设计功能

本次课程设计的内容是采用汇编语言设计一个运行于计算机的“霓虹灯〞的模拟显示程序,由$及*字符相间,从两侧向中间螺旋集聚直至形成一个矩形,这就要求该霓虹灯能够动态地进行变化;霓虹灯模拟显示程序主要是进行程序循环调用,可以通过CMP、JMP、JZ、RET等命令进行跳转。由于是霓虹灯的模拟显示,因此在进行程序循环调用前需要进行数据段定义,以使子程序在进行调用时能够根据数据段的定义来执行,最终显示结果。

定时器中断处理程序:计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms,当count计数值为18时,sec计数单元加一(为1秒)。

视频显示程序设计:一般由DOS或BIOS调用来完成。有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。用INT10H中断即可建立某种显示方式。用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄放器,然后由中断指令INT21H来实现调用。

键盘扫描程序设计:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄放器,以及检测键盘状态,有无输入,并检测输入各值。

2.5详细功能设计2.5.1主程序功能

主程序通过调用各个子程序来实现清屏,改变图形等功能,具体调用过程如图1所示。沈阳大学课程设计说明书NO.3

开始初始化数据段基地址将行号列号赋调用清屏子程序qing_ping将di指向数据S1的首地址调用子程序move_shape将di指向数据S2的首地址调用子程序move_shape1将di指向数据Star的首地址,并将di,dl赋予初值调用子程序move_shape2将CX寄放器内容弹栈终止图1主程序流程图沈阳大学课程设计说明书NO.4

2.5.2子程序功能(1)qing_ping子程序功能,qing_ping子程序主要功能是完成清屏,它是利用中断10H,将产生的*好想矩形的中间集聚知道形成一个矩形后,把屏幕中所选区域清除,qing_ping子程序流程图如图2所示。INT10H中断把右上角角坐标放入DX中把左上角坐标放入CX中中断响应MOVAH,6开始压栈保存寄放器信息终止弹栈,恢复寄放器值图2qing_ping子程序流程图(2)xunhuan_js子程序功能:xunhuan_js子程序,使用两个寄放器分别存放循环次数与延迟时间,他的主要功能是让产生的字符在移动时,能放慢速度以便于能够看见形成的结果,xunhuan_js子程序流程图如图3所示。沈阳大学课程设计说明书NO.5

将延迟时间赋初值将AX、BX、CX、DX内容压栈开始DX寄放器进行自减将循环次寄放器CX赋初始值NDX=0Y终止将寄放器DX、CX、BX、AX内容弹栈图3xunhuan_js子程序流程图(3)move_shape子程序,该子程序是用来实现改变图形形状功能的,它是通过分别于前一个行号列号进行比较,假使不同就指向下一数据,否则跳转到初始赋值处重新赋予该值,具体流程图如图4所示。沈阳大学

课程设计说明书NO.11

3.1.2运行程序(1)将霓虹灯的汇编源代码在汇编软件MASM.EXE的汇编下生产LSM.obj文件,用连接软件LINK.EXE对目标文件LSM.obj,进行连接生成可执行文件LSM.exe文件。其文件生成过程如图6、7所示。(2)在DOS的操作环境下,运行霓虹灯模拟显示这个汇编程序,运行的结果如图13、14所示。图13运行结果截图图14运行结果截图4.总结沈阳大学课程设计说明书NO.12

本次的课程设计使我对汇编语言有了更深的理解,锻炼了我的实践能力,平日在课堂上将的基本都是理论知识,很少能够有机遇去锻炼自己的实际动手操作的能力以及在动手操作时遇到的问题和困难也是平常所不能看见的。这次的课程设计我明白了什么是中断、中断该怎样定义以及中断的实现过程和原理,这是我加深并稳定了,老师在课上所讲过的以及自己从书本上学过的知识,使我能更加熟练地运用汇编语言的顺序、选择、循环三大结构,进一步把握了各个指令的功能,特别是条件转向指令,把握了INT10H中断所提供的服务,以及子程序的定义及调用,以及正确地运用DEBUG调试的指令。这次课程设计使我进一步熟悉了汇编语言的结构和使用方法,基本达到了能独立阅读、编制和调试一定规模的汇编语言程序的水平。在显示字符的时候,不知道如何定义字符才好,然后我去网络上搜寻了相关资料才了解到有个10H号中断,提供字符显示的功能。在相关的程序中,对其进行了详细的分析,才知道如何显示特定的字符、特定的颜色和特定的位置。同时我也理解到了10H号中断所用到的各个参数,也知道了字符的属性等参数的意义和用法。本次的程序主要实现的功能是用*字符穿梭于用$事先形成的竖直条,由左向右向中间集聚直至形成一个矩形,然后退出屏幕。在这个程序设计的过程通过延时程序的完善,我使用了*字符,并使其向中间移动集聚的速度进行了放慢,那样就可以看见具体矩形的形成过程了,总之我在不断发现问题并且不断的去解决它们,来完善霓虹灯模拟这个程序的不足。5课程设计说明书NO.16

int10hpopdxpopcxpopbxpopaxretqing_pingendp;move_shapeprocnearpushaxpushbxpushcxpushdxpushdimovah,0fhint10hsubch,chmovcl,[di]incdimovchar_cnt,cxmovpointer,dimovline_on,dhmovcol_on,dlplot_next:adddh,[di+2]adddl,[di+3]cmpchar_cnt,28jeexit1cmpdl,77jbmov_crsrjmpexit2exit1:cmpdl,5jamov_crsrexit2:popdipopdxpopcxpopbxpopaxretmov_crsr:movah,2int10hmoval,[di]沈阳大学课程设计说明书NO.17

movbl,[di+1]pushcxmovcx,1movah,09int10hpopcxadddi,4loopplot_nextcallxunhuan_jscmpchar_cnt,28jeexit3cmpdl,3jeexit4cmpdl,5jeexit4cmpdl,77jeexit4deccount_cx1jeexit7callerasejmpexit4exit7:movcount_cx1,5exit4:addcol_on,2movdl,col_onmovcx,char_cntmovdi,pointermovdh,line_onjmpshortplot_nextexit3:deccount_cx2jeexit5callerasejmpexit6exit5:subcol_on,2movcount_cx2,6exit6:subcol_on,2movdl,col_onmovcx,char_cntmovdi,pointermovdh,line_onjmpplot_nextmove_shapeendp沈阳大学课程设计说明书NO.18

;move_shape1procnearpushaxpushbxpushcxpushdxpushdimovah,0fhint10hsubch,chmovcl,[di]incdimovchar_cnt,cxmovpointer,dimovline_on,dhmovcol_on,dlmovchar0,2plot_next1:adddh,[di+2]adddl,[di+3]cmpchar0,1jeexit0cmpdl,18jeexit8cmpdl,32jeexit8cmpdl,46jeexit8cmpdl,60jeexit8cmpdl,char2jeexit9jmpmov_crsr1exit9:decdlincdhcmpdh,char4jeexit18jmpmov_crsr1exit8:adddl,4jmpmov_crsr1exit18:decchar0exit0:cmpdl,63jeexit10沈阳大学课程设计说明书NO.19

cmpdl,49jeexit10cmpdl,35jeexit10cmpdl,21jeexit10cmpdl,char1jeexit11jmpmov_crsr1exit10:subdl,4jmpmov_crsr1exit11:incdldecdhcmpdh,char3jeexit12jmpmov_crsr1exit12:incchar3decchar4incchar1cmpchar1,18jneexit13addchar1,4exit13:decchar2cmpchar2,63jneexit14subchar2,4exit14:movdh,char3movdl,char1incchar0mov_crsr1:movah,2int10hmoval,[di]movbl,[di+1]pushcxmovcx,1movah,09int10hpopcxexit19:deccount_cxjeexit20callxunhuan_jsjmpexit19沈阳大学课程设计说明书NO.20

exit20:movcount_cx,5cmpchar0,1jeexit15incdlcmpdh,10jeexit16jmpplot_next1exit16:cmpdl,68jeexit17jmpplot_next1exit15:decdljmpplot_next1exit17:popdipopdxpopcxpopbxpopaxretmove_shape1endp;move_shape2procnearpushaxpushbxpushcxpushdxpushdimovah,0fhint10hsubch,chmovcl,[di]incdimovchar_cnt,cxmovpointer,dimovline_on,dhmovcol_on,dldeccolplot_next2:adddh,[di+2]adddl,[di+3]cmpdl,1jamov_crsr2callerasepopdi沈阳大学

课程设计说明书NO.21

popdxpopcxpopbxpopaxretmov_crsr2:movah,2int10hmoval,[di]movbl,[di+1]pushcxmovcx,1movah,09int10hpopcxadddi,4loopplot_next2callxunhuan_jscallerasejmpshortplot_next2move_shape2endp;;eraseprocnearmovcx,char_cntmovdi,pointermovdh,line_onmovdl,col_onerase_next:adddh,[di+2]adddl,[di+3]movah,2int10hmoval,'*'movbl,0

温馨提示

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

评论

0/150

提交评论