欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    字符串动画显示汇编语言程序设计(共29页).doc

    • 资源ID:14247927       资源大小:216.50KB        全文页数:29页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    字符串动画显示汇编语言程序设计(共29页).doc

    精选优质文档-倾情为你奉上目 录字符串动画显示汇编语言程序设计1总体方案论证1.1题目功能分析(1)屏幕提示输入字符串;(2)输入完成后,字符动画显示,显示方式可为:从无到有,从左到右,从上到下,大小写变化、颜色变化等;(3)可连续显示或定时显示,直至单击“Q”或“q”键退出程序。1.2算法说明(1)屏幕提示输入字符串主要运用中断INT 21H的0A H功能;(2)在确定光标位置后,通过循环改变其行列数值来达到左右上下移动功能; 大小写变化则通过将输入字符与a和z比较,若为小写字母,则减去20H,否 则不变; 颜色变化则通过INT 10H的09H功能循环调用实现;(3)退出功能通过将输入Q和q与其ASC比较,跳转到退出程序;而退出程序主 要通过INT 21H的4C H功能实现。 2流程图设计及说明2.1主程序流程图设计字符串右移结束开始 段地址初始化 进入Dos窗口输出提示信息输入字符串显示输入字符串YN字符串向下移动字符串小写变大写 三色变换闪烁按Q,q?图2-1 主程序流程图 图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字符串闪烁结束Y图2-4 字符串闪烁流程图N获取字符串开始N是否输完?Y输出字符串设置起始位置延迟1设置字符串颜色次数已到?3软件设计关键问题或程序段落说明3.1提示输入字符串显示功能实现 屏幕提示输入字符串主要运用中断INT 21H的0A H功能,输入后回车则完成字符串在特定位置的显示。另外,在此段程序中,还通过用空字符串的逐个显示来完成字符从无到有的功能实现。 lea dx,buf mov ah,0ah int 21h mov bx,2 ;多字符输入,回车结束,有效内容自第三个始。 mov di,0B1: mov al,bufbx cmp al,13 ;是否是回车? je AG1 mov buff1di,al inc bx inc di jmp B1AG1: mov ah,0 mov al,2 int 10h;黑白文本OTHER: mov cx,0ffffh;AG: mov dh,7 ;hang mov dl,35 ;lie mov ah,2 mov bh,0 ;页号为0 int 10h ;置光标位置 lea dx,buff1 mov ah,9 int 21h ;显示字符串 mov dh,7 mov dl,35 mov ah,2 mov bh,0 int 10h ;置光标位置 lea dx,buff2 mov ah,9 int 21h; sub cx,1 ; jnz AG ;不等于转移3.2向右、向下移动功能实现 如流程图可知,向下和向右移动,程序基本相同,只不过一个改变的是行,另一个改变的是列,以下以向右移动为例。主要通过INT 10H 调用,且循环操作一定次数实现。其中,在下一次输出时,为了清除前一个位置的输出,用空字符串替代。另外,通过延时控制移动速度。程序如下: mov al,3 mov ah,0 int 10h ;16色文本 mov dl,0 ;字符串向右移动, 给出起始列bbb2: MOV SI,OFFSET buff1 mov di,0bbb1: mov dh,7 ;dh hang dl lie inc dl mov ah,2 int 10h ;置光标位置 2号置光标位置 9号指定输出,每次显示一个 mov ah,09 ;9号功能 inc di mov al,si inc si mov bh,0 ;显示页 mov bl,0eh ;color mov cx,01 ;显示字符的次数 int 10h cmp di,0fh ; 立即数大小取决于字符串大小 jb bbb1 call delay1 sub dl,0fh ; 设置列 mov SI,OFFSET buff2 mov di,0ccc1: mov dh,7 ;dh hang dl lie inc dl mov ah,2 int 10h ;置光标位置 mov ah,09 ;9号功能 inc di mov al,si inc si mov bh,0 ;显示页 mov bl,0eh ;color mov cx,01 ;字符重复一次 int 10h cmp di,0fh jb ccc1 call delay2 ; mov ah,07 ; int 21h 首先在一个位置输出 然后输出空白覆盖掉在输出下一个位置 cmp dl,25 jnb xiangxia ; 在这里跳出右移, 转到向下 sub dl,0dh jmp bbb23.3字符串大小写变化实现 因为在ASC表中大小写相差20H,所以通过将输入字符与a和z比较,若为小写字母,则减去20H,否则不变。程序如下:daxiaoxie: mov dl,7 mov dh,35 MOV SI,OFFSET buff1 mov di,0a1: mov al,SI cmp al,'$' je shansuo cmp al,'a' jb next cmp al,'z' ja next sub al,20h mov SI,alnext:inc SI jmp a13.4颜色变化功能实现 颜色变化功能实现相当于对字符串属性定义,表现出颜色差别,然后循环调用并插入延时。以下程序效果是三种颜色闪烁,其中aaa1表示黄色,aaa2表示绿色,aaa3表示红色。具体程序如下:shansuo: ;三种颜色闪烁 call aaa1 call delay1 call aaa2 call delay1 ;内部转换后 还是用BIOS 10h 9号功能调用 call aaa3 call delay1 jmp shansuo 3.5退出功能实现 退出功能通过将输入Q和q与其ASC比较,跳转到退出程序;而退出程序主要通过INT 21H的4C H功能实现。 mov ah,08h;q键退出 int 21H cmp AL,'Q' je exit cmp AL,'q'je exit exit: mov ah,4ch int 21h 4调试说明、结果记录及分析4.1调试说明 所谓程序调试,是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。编完计算机程序,必须送入计算机中测试。 调试过程中出现很多问题。很多次,程序更改后得不到目标文件,主要原因是编程过程中不够细心,而且没有整体把握。例如,有段名重复的错误,还有对调用不熟悉造成编程过程很痛苦。 4.2结果记录与分析 4.2.1 提示输入字符串 以下是在运行程序后窗口出现的界面,提示输入字符串以及按Q或q退出。如图3.1: 图3.1 提示输入字符串4.2.2输入后显示字符串以下是输入字符串后按回车前显示的界面。如图3.2: 图3.2 输入字符串4.2.3在特定位置从无到有显示 以下是按完回车键后依照程序设定位置,光标先跳到第七行、第三十五列,然后逐个字符循环显示字符串的界面对比。如图3.3: 图3.3 字符串从无到有4.2.4在特定位置向右移动 以下是字符串从第七行、第零列开始右移的对比界面。如图3.4: 图3.4 字符串右移4.2.5在特定位置向下移动 以下是字符串从第七行、第零列开始下移的对比界面。如图3.5: 图3.5 字符串下移4.2.6小写变成大写加闪烁 以下是字符串中所有小写字母变成大写后进行黄、绿、红依次变化现象对比界面。如图3.6: 图3.6 字符串颜色变化5课程设计收获及心得 学完微机原理与接口技术,本以为自己学到的东西挺多,直到课程设计开始,才深刻了解到自己似乎只了解个皮毛。作为微原中的核心,汇编语言的程序设计在课程学习中只有一章,而且书本上的例题与这次课程设计任务相比,难度不大。 几乎整整一周的微原课程设计结束,对于我,感受颇深,收获颇多。除了一些以前学过的指令,最深的感触是对中断INT 21H和INT 10H中一些常用功能的运用。经过此次课程设计,我通过自己查资料、自己设计编程到最后完成功能实现,最终的成就感比平时更大,因为我感受到了学以致用,将理论用于实际的效果。 在以后的学习中,我会继续保持这样良好的态度对待任何学习,不论是课程设计还是实习,抑或只是平时课程学习,我将为了提高自身实践能力而有目的的学习与收获,而不仅仅是为了应付考试或者拿到学位证。6参考文献1 彭虎等编著微机原理与接口技术(第二版)北京:电子工业出版社,20082 沈美明,温东禅IBM-PC汇编语句程序设计(第2版)北京:清华大学出版社,20013 任向明,卢惠林汇编语言程序设计实用教程北京:清华大学出版社,20094 马力妮80x86汇编语言程序设计北京:机械工业出版社,20045 艾德才Pentium系列微型计算机原理与接口技术北京:高等教育出版社,2000附录:程序清单data segmentbuff1 db ' $' buff2 db ' $'buf db 100 dup('$')buff3 db 'please input a string !',13,10,'$'buff4 db 'Press Q or q to exit!',13,10,'$'data endscode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax lea dx,buff3;显示提示信息 mov ah,09h int 21h lea dx,buff4;显示提示信息 mov ah,09h int 21h lea dx,buf mov ah,0ah int 21h mov bx,2 ;多字符输入,回车结束,有效内容自第三个始。 mov di,0B1: mov al,bufbx cmp al,13 ;是否是回车? je AG1 mov buff1di,al inc bx inc di jmp B1AG1: mov ah,0 mov al,2 int 10h;黑白文本OTHER: mov cx,0ffffh;AG: mov dh,7 ;hang mov dl,35 ;lie mov ah,2 mov bh,0 ;页号为0 int 10h ;置光标位置 lea dx,buff1 mov ah,9 int 21h ;显示字符串 mov dh,7 mov dl,35 mov ah,2 mov bh,0 int 10h ;置光标位置 lea dx,buff2 mov ah,9 int 21h; sub cx,1 ; jnz AG ;不等于转移;* mov al,3 mov ah,0 int 10h ;16色文本 mov dl,0 ;字符串向右移动, 给出起始列bbb2: MOV SI,OFFSET buff1 mov di,0bbb1: mov dh,7 ;dh hang dl lie inc dl mov ah,2 int 10h ;置光标位置 2号置光标位置 9号指定输出,每次显示一个 mov ah,09 ;9号功能 inc di mov al,si inc si mov bh,0 ;显示页 mov bl,0eh ;color mov cx,01 ;显示字符的次数 int 10h cmp di,0fh ; 立即数大小取决于字符串大小 jb bbb1 call delay1;* sub dl,0fh ; 设置列 MOV SI,OFFSET buff2 mov di,0ccc1: mov dh,7 ;dh hang dl lie inc dl mov ah,2 int 10h ;置光标位置 mov ah,09 ;9号功能 inc di mov al,si inc si mov bh,0 ;显示页 mov bl,0eh ;color mov cx,01 ;字符重复一次 int 10h cmp di,0fh jb ccc1 call delay2 ; mov ah,07 ; int 21h 首先在一个位置输出 然后输出空白覆盖掉在输出下一个位置 cmp dl,25 jnb xiangxia ; 在这里跳出右移, 转到向下 sub dl,0dh jmp bbb2xiangxia: ;字符串向下移动 mov dl,0 mov dh,7 ;dh hang dl lieddd2: MOV SI,OFFSET buff1 mov di,0eee1: inc dl mov ah,2 int 10h ;置光标位置 mov ah,09 ;9号功能 inc di mov al,si inc si mov bh,0 ;显示页 mov bl,0ah ;color mov cx,01 ;字符重复一次 int 10h cmp di,0fh jb eee1 call delay1 sub dl,0fh ; 列回到原处,输出空白覆盖 MOV SI,OFFSET buff2 mov di,0fff1: inc dl mov ah,2 int 10h ;置光标位置 mov ah,09 ;9号功能 inc di mov al,si inc si mov bh,0 ;显示页 mov bl,0eh ;color mov cx,01 ;字符重复一次 int 10h cmp di,0fh jb fff1 call delay2 cmp dh,13 ;从第7行 下移到13行 退出到大小写转换 jnb daxiaoxie inc dh sub dl,0fh jmp ddd2 ;字符串向下移动 结束daxiaoxie: mov dl,7 mov dh,35 MOV SI,OFFSET buff1 mov di,0a1: mov al,SI cmp al,'$' je shansuo cmp al,'a' jb next cmp al,'z' ja next sub al,20h mov SI,alnext:inc SI jmp a1shansuo: ;三种颜色闪烁 call aaa1 call delay1 call aaa2 call delay1 ;内部转换后 还是用BIOS 10h 9号功能调用 call aaa3 call delay1 MOV AH,08h;q键退出 INT 21H cmp AL,'Q' je exit cmp AL,'q' je exit jmp shansuo exit: mov ah,4ch int 21h ;*aaa1 proc near ;黄色 MOV SI,OFFSET buff1 mov di,0 mov dl,20aa1: mov dh,20 ;dh hang dl lie inc dl mov ah,2 int 10h ;置光标位置 mov ah,09 ;9号功能 inc di mov al,si inc si mov bh,0 ;显示页 mov bl,0eh ;color mov cx,01 ;字符重复一次 int 10h cmp di,0ch jb aa1 retaaa1 endp;*aaa2 proc near ;绿色MOV SI,OFFSET buff1mov di,0mov dl,20aa2: mov dh,20 ;dh hang dl lieinc dlmov ah,2int 10h ;置光标位置mov ah,09 ;9号功能inc dimov al,siinc simov bh,0 ;显示页mov bl,0ah ;colormov cx,01 ;字符重复一次int 10hcmp di,0chjb aa2retaaa2 endp;*aaa3 proc near ;红色MOV SI,OFFSET buff1mov di,0mov dl,20aa3: mov dh,20 ;dh hang dl lieinc dlmov ah,2int 10h ;置光标位置mov ah,09 ;9号功能inc dimov al,siinc simov bh,0 ;显示页mov bl,05h ;colormov cx,01 ;字符重复一次int 10hcmp di,0chjb aa3retaaa3 endp ;三种颜色闪烁;*delay1 proc nearpush cxpush bxmov bx,1fffhwait4: mov cx,0ffffhwait5: loop wait5dec bxjnz wait4pop bxpop cxretdelay1 endp; 延迟1 比延迟二长;*delay2 proc nearpush cxpush bxmov bx,0ffhwait2: mov cx,0ffffhwait3: loop wait3dec bxjnz wait2pop bxpop cxretdelay2 endp ;字符串向右移动结束code endsend start本科生课程设计成绩评定表姓 名张丹性 别女专业、班级 自动化专业、自动化0805班课程设计题目:字符串动画显示汇编语言程序设计课程设计答辩或质疑记录:成绩评定依据:详见成绩评分表最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日成绩评分表项目评分标准得分课程设计说明书撰写60分方案论证10分能正确分析设计内容,算法选择合理,并有详细的说明、论证。10X8能分析设计内容,算法选择满足设计要求,有简单说明7X4设计方案不太满足设计内容及要求,无说明3X0流程图设计10分流程设计正确,并有详细的说明,流程图绘制规范10X8流程设计符合设计内容及要求,并有一定说明,流程图绘制正确7X4流程设计不太满足设计内容及要求,且无说明,流程图绘制不太正确3X0软件设计说明10分程序设计关键问题或段落有详细说明,程序代码正确10X8程序设计关键问题或段落有说明,程序代码基本正确7X4程序设计关键问题或段落基本无说明,程序代码不完整或不太满足设计要求 3X0结果分析10分能正确记录调试结果,并能分析结果,给出合理的建议10X8能记录调试结果,并加以分析7X4记录调试结果,但无分析3X0心得体会10分基本上真实、客观地反映了本人课程设计的收获、心得10X6无感而发,空洞,套话。5X0报告规范10分完全按照报告格式要求,内容充实、详细,完全符合规范10X8基本按报告格式要求,内容完整,基本符合规范7X4未按报告格式要求,不太符合规范3X0程序调试10分程序上机调试运行结果完全正确 10X8程序上机调试运行结果基本满足设计要求7X4程序上机调试运行结果不太满足设计要求3X0设计答辩10分能详细完整地表述设计内容,并能正确回答问题10X8能完整地表述设计内容,并能回答相关问题7X4基本表述设计内容,但不能回答相关问题3X0难度分值10分一三题:7分四七题:8分八十二题:9分十三十七题:10分纪律及考勤10分按照课程设计进度安排完成课程设计任务,按时参加中期检查及答疑、程序演示及答辩环节。缺席一次扣5分。总评分数优秀(10090)良好(8980)中等(7970)及格(6960)不及格(60以下)专心-专注-专业

    注意事项

    本文(字符串动画显示汇编语言程序设计(共29页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开