您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 字符串动画显示汇编语言程序设计
目录1总体方案论证..............................................................................................................................11.1题目功能分析....................................................................................................................11.2算法说明............................................................................................................................12流程图设计及说明......................................................................................................................22.1主程序流程图设计............................................................................................................22.2分布具体功能实现流程图设计........................................................................................32.2.1字符串右移..............................................................................................................32.2.2字符串下移..............................................................................................................42.2.3字符串闪烁..............................................................................................................53软件设计关键问题或程序段落说明..........................................................................................53.1提示输入字符串显示功能实现........................................................................................53.2向右、向下移动功能实现................................................................................................73.3字符串大小写变化实现....................................................................................................93.4颜色变化功能实现..........................................................................................................103.5退出功能实现..................................................................................................................104调试说明、结果记录及分析....................................................................................................114.1调试说明..........................................................................................................................114.2结果记录与分析..............................................................................................................114.2.1提示输入字符串...................................................................................................114.2.2输入后显示字符串................................................................................................124.2.3在特定位置从无到有显示....................................................................................124.2.4在特定位置向右移动............................................................................................134.2.5在特定位置向下移动............................................................................................134.2.6小写变成大写加闪烁............................................................................................145课程设计收获及心得................................................................................................................156参考文献....................................................................................................................................16字符串动画显示汇编语言程序设计1总体方案论证1.1题目功能分析(1)屏幕提示输入字符串;(2)输入完成后,字符动画显示,显示方式可为:从无到有,从左到右,从上到下,大小写变化、颜色变化等;(3)可连续显示或定时显示,直至单击“Q”或“q”键退出程序。1.2算法说明(1)屏幕提示输入字符串主要运用中断INT21H的0AH功能;(2)在确定光标位置后,通过循环改变其行列数值来达到左右上下移动功能;大小写变化则通过将输入字符与‘a’和‘z’比较,若为小写字母,则减去20H,否则不变;颜色变化则通过INT10H的09H功能循环调用实现;(3)退出功能通过将输入‘Q’和‘q’与其ASC比较,跳转到退出程序;而退出程序主要通过INT21H的4CH功能实现。2流程图设计及说明2.1主程序流程图设计图2-1字符串动画总流程图字符串右移结束开始段地址初始化进入Dos窗口输出提示信息输入字符串显示输入字符串YN字符串向下移动字符串小写变大写三色变换闪烁按Q,q?图2-1主程序流程图2.2分布具体功能实现流程图设计2.2.1字符串右移结束输完?获取字符串YYN图2-2字符串右移流程图开始输出字符串设置光标起始位置延迟1输出空白覆盖字符串延迟2结束?N横坐标更新2.2.2字符串下移结束输完?获取字符串YYN图2-3字符串下移流程图开始输出字符串设置光标起始位置延迟1输出空白覆盖字符串延迟2结束?N纵坐标更新2.2.3字符串闪烁3软件设计关键问题或程序段落说明3.1提示输入字符串显示功能实现屏幕提示输入字符串主要运用中断INT21H的0AH功能,输入后回车则完成字符串在特定位置的显示。另外,在此段程序中,还通过用空字符串的逐个显示来完成字符从无到有的功能实现。leadx,bufmovah,0ah结束Y图2-4字符串闪烁流程图N获取字符串开始N是否输完?Y输出字符串设置起始位置延迟1设置字符串颜色次数已到?int21hmovbx,2;多字符输入,回车结束,有效内容自第三个始。movdi,0B1:moval,buf[bx]cmpal,13;是否是回车?jeAG1movbuff1[di],alincbxincdijmpB1AG1:movah,0moval,2int10h;黑白文本OTHER:movcx,0ffffh;AG:movdh,7;hangmovdl,35;liemovah,2movbh,0;页号为0int10h;置光标位置leadx,buff1movah,9int21h;显示字符串movdh,7movdl,35movah,2movbh,0int10h;置光标位置leadx,buff2movah,9int21h;subcx,1;jnzAG;不等于转移3.2向右、向下移动功能实现如流程图可知,向下和向右移动,程序基本相同,只不过一个改变的是行,另一个改变的是列,以下以向右移动为例。主要通过INT10H调用,且循环操作一定次数实现。其中,在下一次输出时,为了清除前一个位置的输出,用空字符串替代。另外,通过延时控制移动速度。程序如下:moval,3movah,0int10h;16色文本movdl,0;字符串向右移动,给出起始列bbb2:MOVSI,OFFSETbuff1movdi,0bbb1:movdh,7;dhhangdllieincdlmovah,2int10h;置光标位置2号置光标位置9号指定输出,每次显示一个movah,09;9号功能incdimoval,[si]incsimovbh,0;显示页movbl,0eh;colormovcx,01;显示字符的次数int10hcmpdi,0fh;立即数大小取决于字符串大小jbbbb1calldelay1subdl,0fh;设置列movSI,OFFSETbuff2movdi,0ccc1:movdh,7;dhhangdllieincdlmovah,2int10h;置光标位置movah,09;9号功能incdimoval,[si]incsimovbh,0;显示页movbl,0eh;colormovcx,01;字符重复一次int10hcmpdi,0fhjbccc1calldelay2;movah,07;int21h首先在一个位置输出然后输出空白覆盖掉在输出下一个位置cmpdl,25jnbxiangxia;在这里跳出右移,转到向下subdl,0dhjmpbbb23.3字符串大小写变化实现因为在ASC表中大小写相差20H,所以通过将输入字符与‘a’和‘z’比较,若为小写字母,则减去20H,否则不变。程序如下:daxiaoxie:movdl,7movdh,35MOVSI,OFF
本文标题:字符串动画显示汇编语言程序设计
链接地址:https://www.777doc.com/doc-7312648 .html