微机原理字符串动画显示Word文档格式.docx

上传人:b****4 文档编号:17052305 上传时间:2022-11-28 格式:DOCX 页数:12 大小:212.52KB
下载 相关 举报
微机原理字符串动画显示Word文档格式.docx_第1页
第1页 / 共12页
微机原理字符串动画显示Word文档格式.docx_第2页
第2页 / 共12页
微机原理字符串动画显示Word文档格式.docx_第3页
第3页 / 共12页
微机原理字符串动画显示Word文档格式.docx_第4页
第4页 / 共12页
微机原理字符串动画显示Word文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

微机原理字符串动画显示Word文档格式.docx

《微机原理字符串动画显示Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理字符串动画显示Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

微机原理字符串动画显示Word文档格式.docx

字符串动画显示

年月日

一设计目的·

·

1

二设计任务和要求·

三设计内容·

四源代码以及主要代码分析·

5

五效果及功能展示·

12

六自己的贡献和心得体会·

14

字符串的动画显示程序设计

一、设计目的:

1、掌握汇编语言,会利用汇编语言编写一定功能的程序;

2、熟悉DOS环境以及在DOS下会调试编写好的汇编程序;

3、熟悉常用的DOS功能;

4、小组合作完成设计题目。

二、设计任务和要求

1、设计字符串的动画显示程序

2、程序设计基本要求

1)菜单

内容包括:

输入字符串;

字符串动画显示;

退出。

2)输入字符串

选择该项后,可以输入一个字符串。

该字符串即为动画显示时所显示的字符串。

3)字符串动画显示

所显示字符串在一矩形框内从无到有,从右至左移动,完全从框内移出后,又从右至左移动,直到有任意键按下,停止字符串动画显示返回到主菜单。

4)在主菜单中选择退出项,则结束程序返回DOS。

三、设计内容:

1、使用的DOS功能:

1)显示字符串MOVAH,09H

INT21H;

入口参数DS:

DX=缓冲区

2)键盘输入一个字符MOVAH,01H

AL=输入的字符

3)终止当前程序并返回调用程序MOVAH,4CH

AL=退出码

4)输入字符串MOVAH,0AH

2、使用工具和软件:

PC机一台,MASM汇编软件

3、流程图:

1)字符串从右向左移动

2)整体流程图

四、源代码以及主要代码分析

1、字符串从右向左移动程序

CODESEGMENT

ASSUMECS:

CODE,DS:

CODE

START:

MOVAX,CODE

MOVDS,AX

MOVAX,0B800H

MOVES,AX

CLD

AGAIN:

MOVAX,3

INT10H;

显示文字

LEADX,MENU

MOVAH,9;

输出字符串

INT21H

INPUT:

MOVAH,1

INT21H;

从键盘输入字符

CMPAL,'

1'

JNECP2

CALLSUB01

;

JMPINPUT

CP2:

2'

JNZCP3

CALLSUB02;

字符串左右移动

JMPAGAIN;

返回到主菜单

CP3:

3'

返回DOS

JNZINPUT

LEADX,MESG

MOVAH,9

MOVAH,4CH

DELAYPROC

PUSHCX

PUSHDX

MOVDX,0100

D1:

MOVCX,0FFFH

LOOP$

DECDX

JNZD1

POPDX

POPCX

RET

DELAYENDP

CSH:

MOVAL,20H

MOVCX,60;

初始化

CS1:

REPSTOSB

SUB01:

MOVAX,0E0DH

INT10H

MOVAL,0AH

LEADX,STR1

MOVAH,0AH

输入一个字符串

MOVAX,0E0AH

换行

RET

SUB02:

CMPSTR1+1,2;

取串长最短为2个字符

JNBY2

JMPQUIT

Y2:

CALLLINE;

画矩形框

MOVDX,ES

PUSHDS

POPES

MOVDI,1000H

CALLCSH

MOVCL,STR1+1

MOVCH,0;

取串长

LEASI,BUF;

指向串首

MOVDI,1000H

ADDDI,60-1

MOVNUM,DI

ADDNUM,CX

REPMOVSB;

移至显示缓冲区,重复存储字符串

SHOW:

MOVES,DX

MOVBP,1000H;

恢复数据区

Y3:

MOVSI,BP;

置源数据区指针

MOVDI,LEFT;

找屏幕位置

MOVAH,7CH

MOVCX,60-2

Y4:

LODSB

STOSW;

送显存

LOOPY4

INT16H

JNZSSS;

按任意键,返回主菜单

CALLDELAY

INCBP;

源数据区指针后移一位

CMPBP,NUM

JBSS1

SS1:

JMPY3

SSS:

MOVSTR1+1,0

QUIT:

XORDI,DI

MOVCX,80*25

MOVAX,720H

REPSTOSW;

清全屏

JMPAGAIN

LINE:

MOVDI,(18*80+10)*2;

矩形框

MOVAL,201;

左上角

MOVAH,0EH

STOSW

MOVAL,205;

横框

REPSTOSW

MOVAL,187;

右上角

ADDDI,20*2

MOVAL,186;

竖框

MOVLEFT,DI

MOVAL,20H;

空格

MOVRIGHT,DI

MOVAL,200;

左下角

MOVAL,188;

右下角

MENUDB5DUP(0AH)

DB31DUP('

'

),'

MAINMENU'

0DH,0AH

DB25DUP('

),201,21DUP(205),187,0DH,0AH

),186,'

1.InputaString...'

186,0DH,0AH

2.DisplayModel...'

3.ReturntoDOS...'

),200,21DUP(205),188,0DH,0AH

DB28DUP('

Choice(1,2,3):

$'

MESGDB0dh,0ah,0dh,0ah,9,'

Pressanykeytoexit...$'

NUMDW0

LEFTDW0

RIGHTDW0

STR1DB21

DB0

BUFDB0DH,20DUP(0)

CODEENDS

ENDSTART

五、功能效果展示

(1)运行程序后显示的主菜单

(2)按“1”显示待输入字符串状态

(3)按“2”字符串在矩形框中从右向左移动

(4)按“3”显示按任意键返回

(5)按任意键返回

六、自己的贡献和心得体会

一次微机原理课程设计,一次全新的体验,在这次课程设计中,我们获益良多。

课程设计以小组的形式进行,我们小组五人,每人负责不同的工作,于合作中追求共赢。

张思雨主要负责框图的设计,张哲主要负责设定菜单和字符串的输入,张文娟主要负责字符串移动,我负责边框的设置和程序的返回,姚博朗主要负责内容的串接、最后的检错及报告的编写。

一次程序的设计对于我们这些初入编程界的新手来说,都是一项工作量不少的作业。

在总的程序设计中,需要我们搜集相关的汇编语言,分析每一段程序与其他段之间的联系,并将它们连接起来。

然而这并不是结束,我们还要将其编辑编译运行调试,查询错误,改正错误,使程序正常运行。

说实话,刚得到课程设计题目时,我们真的有点两眼一摸黑,不知如何下手,但经过上网、图书馆查询、课本研究后,我们终于一步步设计好了程序框图,并写出来程序,虽然在程序运行过程中出现了问题,但经过学霸的帮助和相关资料的查找,我们的问题终于得到了解决,完成了本次课程设计。

时间匆匆,转眼就到了考核的日期。

经过这次课程设计,我感觉我的微原知识都经过了一次刷新,添加了更多的内容。

课程设计是一项既考验知识,又考核我们对知识运用的任务。

通过这次课设,我觉得知识不仅要学还要会用,即使老师讲的再好,我们也不能代替老师,所以学到手的知识才是属于我们自己的知识。

另外,对一个团体来说,团结合作很重要。

在这次课设中,我们分工合作,每人负责好自己的,又一起商量课设方向,相互帮助,相互关心,那样再难的问题我们都可以解决。

作为大学生我们应该,锐意进取,团结奋斗,向一个个难题迎难而上,而不悔!

同时感谢赵老师在这一年里的照顾,今后我们也会努力学习,积极进取。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1