文档介绍:该【微机研讨小鸟飞过 】是由【落意心冢】上传分享,文档一共【15】页,该文档可以免费在线阅读,需要了解更多关于【微机研讨小鸟飞过 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。微机研讨小鸟飞过
题目设想
利用汇编语言实现简易动画的途径有许多种,我们组则选择了利用Bios的调用中的显示功能来做。小鸟图形的设计方法也有很多种,可以利用打点作图,也可以以字符画的形式。由于bios有些功能模式在win7系统下不兼容,还因时间的限制,本组选择了用字符画模拟小鸟的形状,利用bios的00号功能的字符显示方式。我们最终的结果是让字符小鸟在屏幕上飞出一个V字形。
源代码选段
DATASEGMENT
INFO1DB0DH,0AH,'INPUT1OR2:(1:bird,2:exit)$'
BIRDDB2DH,10,3EH,10,4FH,10,2EH,10
DB2DH,10,3DH,10,4FH,10,2EH,10;小鸟的字符图形表
DB1000DUP(?)
DATAENDS
STACKSEGMENTstack
DB200DUP(0)
STACKENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,SS:STACK
源代码选段
START:MOVAX,DATA
MOVDS,AX
MOVAH,0;设置显示方式为黑白字符显示方式
MOVAL,0
INT10H
LEADX,INFO1;在显示器上显示字符串提示信息
MOVAH,9
INT21H
MOVAH,0;从键盘读取字符到AL寄存器
INT16H
CMPAL,31H;比较AL是否等于1
JNEA
CALLXIAO
A:CMPAL,32H;比较AL是否等于2
JNESTART
MOVAH,4CH;终止当前程序并返回调用程序
INT21H
源代码选段
xiaoproc;小鸟子程序
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAH,0;设置显示方式为黑白字符显示方式
MOVAL,0
INT10H
MOVAH,0FH;读当前显示状态
INT10H
MOVDH,0
MOVDL,0
源代码选段
BEGIN:MOVSI,2
MOVCX,1;光标位置显示图形的次数
LEADI,BIRD;DI指向小鸟字符表首字母
DISP:CMPDL,20
JAEdisp1
MOVBP,DX
MOVAH,2;设置光标位置
INT10H
MOVAH,9;显示小鸟字符图形
MOVAL,[DI]
MOVBL,[DI+1]
INT10H
MOVDX,BP
CALLDLY;延时
MOVAH,2;设置光标位置
INT10H
MOVAH,9;显示空字符图形
MOVAL,'‘
MOVDX,BP
INCDL
incdh
ADDDI,8
DECSI
JNZDISP
JMPBEGIN
源代码选段
disp1:CMPDL,40
JAEexit1
MOVBP,DX
MOVAH,2;设置光标位置
INT10H
MOVAH,9;显示小鸟-字符图形
MOVAL,[DI]
MOVBL,[DI+1]
INT10H
MOVDX,BP
CALLDLY;延时
MOVAH,2;设置光标位置
INT10H
MOVAH,9;显示空字符图形
MOVAL,''
MOVDX,BP
INCDL
DECdh
ADDDI,8
DECSI
JNZDISP1
JMPBEGIN
EXIT1:RET
XIAOENDP
源代码选段
DLYPROCNEAR;延时子程序
PUSHCX
PUSHDX
MOVDX,150
DL1:MOVCX,6801
DL2:LOOPDL2
DECDX
JNZDL1
POPDX
POPCX
RET
DLYENDP
CODEENDS
ENDSTART
让小鸟飞一会儿
Bios功能调用在书上有提到过,但是由于不是很详细,所以在应用时我们也出现了许多问题。下面给大家讲一讲我们组在编程时出现的几个典型问题。
Thankyou