资源描述:
《汇编语言程序设计 教学课件 作者 董少明 第8章 应用系统开发.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汇编语言程序设计第8章应用系统开发第8章应用系统开发8.1图形显示及动画程序设计8.2音乐程序设计8.3磁盘操作程序设计小结提示:微型机算计系统与外界的数据通讯是通过外部设备(简称外设或I/O设备)进行的,且传输数据的速率相差很大。为了使这些I/O设备能按微型计算机的要求有序的工作,就必须在微型计算机与I/O之间设立一个I/O接口,负责按CPU的指示启动或停止I/O设备的工作,了解I/O设备的工作状况、发出相应的I/O控制命令、完成数据的I/O交换。现代微型计算机系统中采用可编程I/O接口芯片、专用I/O接口板和标准化
2、的总线插槽等技术为微型计算机应用奠定了硬件基础。本章主要介绍单色和彩色图形显示、音乐程序设计和通用I/O接口芯片及其应用。8.1图形显示及动画程序设计IBMPC的标准显示器适配器有单色显示器和彩色/图形监视适配器2种,单色显示器只能显示黑白字母、数字、符号等简单的图形字符,是以文本形式工作的;彩色/图形监视适配器能以文本与图形2种方式工作,既可以显示黑白图形又可以显示彩色图形。下例是将显示方式设置为彩色文本方式:MOVAH,00MOVAL,03INT10H8.1.1显示方式1.文本方式文本方式通常用于在屏幕上处理字母、
3、数字以及一些字符图形。对应的屏幕上的每一个字符位置有两个存储器字节,一个是ASCII码字节,另一个是属性字节。在文本方式下,属性字节对单色显示和彩色显示都是有效的。对单色文本属性提供了闪烁、反相和高亮度。对彩色文本属性字节能选择前景和背景颜色,每个字符的前景可以选择16种颜色中的一种,背景可以选择8种颜色中的一种。彩色文本显示的属性字节如图8-1所示。前景的16种颜色由位0~3组合,RGB分别表示红、绿、兰;I表示亮度,I=0为一般亮度,I=1为增强亮度;BL表示闪烁,当BL=0为不闪烁,BL=1为闪烁。图8-2列出了
4、色彩显示组合原理。a)三基色组合色彩图b)彩色属性显示组合原理图图8-2色彩组合原理例8-1在品红背景下,显示5个浅绿色闪烁的星号。MOVAH,09;具体功能见附表C-1MOVAL,‘*’MOVBH,0MOVBL,0DAHMOVCX,5INT10H2.字符图形文本方式一般用来显示信息,然而利用字符集中的方块图形字符也能产生一些简单的图形,多个方块图形字符也能组装成一个较为复杂的图形,显示的方法和显示一个字符一样,调用BIOS的字符显示功能,如INT10H的AH=9,AH=0AH等。例8-2字符显示方式的设置和获取。(1
5、)用BIOS中断设置80×25彩色显示方式:MOVAH,0;设置显示方式MOVAL,3;80×25彩色显示方式码INT10H;BIOS中断(2)用BIOS中断取得当前显示方式代码:MODE-DISPDB?;保存方式码NUMR-COLSDB?;保存显示列数CURT-PAGEDB?;保存当前页数…MOVAH,15;获取显示方式INT10H;BIOS中断MOVMODE-DISP,AL;保存方式码MOVNUMR-COLS,AH;保存显示列数MOVCURT-PAGE,BH;保存但前页数8.1.2动画显示的基础在屏幕上显示动画可以
6、分为下面5个步骤:1)在屏幕上显示图形(单字符或多字符)。2)延迟一个时间周期(时间的延迟可以通过指令的循环来实现)。3)清除图形(清除图形可以通过清除部分屏幕来实现,也可以用空字符在原位置重画一次来实现)。4)改变图形的行列坐标。5)返回1,重复上述过程。例8-3综合应用:小鸟、汽车动画运行。DATASEGMENTINFO1DB0DH,0AH,‘INPUT1,2,OR3:(1:BIRD,2:CAR,3:EXIT)$’BUFADB200DB?DB200DUP(0)BUFBDB200DUP(?)BIRDDB76H,10,
7、0,0;小鸟的字符图形表DB0C4H,07,0,1DB76H,10,-2,2DB0C4H,07,0,1DB76H,10,-2,2DB0C4H,07,0,1DB76H,10,-2,2DB0C4H,07,0,1DB76H,10,2,-2DB0C4H,07,0,1DB76H,10,2,-2DB0C4H,07,0,1DB76H,10,2,-2DB0C4H,07,0,1CARDB7;小汽车的字符图形表DB52H,7,0,0DB0B1H,7,0,1DB0DBH,7,0,1DB0DBH,7,0,1DB4FH,7,1,0DB4FH,7
8、,0,-3DB2,7,-2,1CHAR_CNTDW?POINTERDW?LINE_ONDB?COL_ONDB?DATAENDSSTACKSEGMENTSTACKDB200DUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXM