汇编语言程序设计实例

上传人:bin****86 文档编号:54811333 上传时间:2018-09-19 格式:PPT 页数:118 大小:484KB
返回 下载 相关 举报
汇编语言程序设计实例_第1页
第1页 / 共118页
汇编语言程序设计实例_第2页
第2页 / 共118页
汇编语言程序设计实例_第3页
第3页 / 共118页
汇编语言程序设计实例_第4页
第4页 / 共118页
汇编语言程序设计实例_第5页
第5页 / 共118页
点击查看更多>>
资源描述

《汇编语言程序设计实例》由会员分享,可在线阅读,更多相关《汇编语言程序设计实例(118页珍藏版)》请在金锄头文库上搜索。

1、第10章 汇编语言程序设计实例,10.1 视频显示系统程序设计 10.2 音频发声系统程序设计 10.3 数据通信系统程序设计 习题10,10.1 视频显示系统程序设计,在微型计算机的图形显示方面,汇编语言具有极大的优势,这是因为显示在屏幕上的图形是由成千上万个像素组成的,对图形处理也需要复杂的算法和大量的指令。与高级语言相比,虽然表面上汇编语言显得复杂、凌乱和可读性差,但就速度而言,汇编语言最快。,用汇编语言设计出来的图形显示有着直观、醒目和反应快速的优点,并且一旦掌握汇编语言显示技术的思路和基本显示模块,编程的工作仅是模块的运用和参数的修正。因此,汇编程序编制图形程序是程序设计中非常有意义

2、和价值的工作之一。,10.1.1 显示方式显示方式与显示适配器及显示器密切相关,因此,必须熟悉和掌握显示器和与显示适配器相关的性能与技术指标。1. 显示适配器IBMPC系列微机中,先后提供了多种显示适配器(显示卡),表10-1介绍了这些适配器的基本技术指标。显示适配器的功能基本是向下兼容,即新型显示卡功能包括前一档次显示卡的显示功能,而又有所增强。此外,实用中各厂家不同型号的产品性能不尽相同。,表10-1 显示适配器的基本技术指标,2. 显示器目前,Intel公司80x86/Pentium的微型机主要使用两种类型的显示器:数字(TTL)显示器和模拟显示器。1) 数字(TTL)显示器该类型显示器

3、的彩色分辨是用“1”和“0”来决定的。若某彩色信号为“1”,则在屏幕上呈现出这一彩色,否则屏幕上不显示这一彩色。TTL显示器上能显示的彩色种类与彩色信号输入线的多少有关。,如CGA与彩色有关的信号线有红(R)、绿(G)、蓝(B)和亮度(I),这四种信号可组合成216种不同的颜色,字符的显示可从其中选择做前景或背景色。CGA和EGA适配器仅能支持TTL显示器。,2) 模拟显示器模拟显示器有3种彩色信号输入线(红、绿、蓝),加在每个输入线上的电平的高低级别决定了显示在屏幕上的那种彩色的数量。从理论上讲,它能显示的彩色数量是无限的,但实际应用中却是有限的,这主要取决于显示适配器的能力。由于彩色数量的

4、无限性,模拟显示器被认为是一种优秀的显示技术。VGA及以上显示方式必须配置模拟显示器。目前386及其以上的机型基本上选用VGA适配器和模拟显示器。,3) 显示器分辨率分辨率是显示器的重要指标,它关系到显示器的性能和图像质量。图像质量由两个主要因素决定:其一是屏幕上扫描图像的速度;其二是屏幕上的像素数,像素数又称分辨率,以屏幕行像素数(x)列像素数(y)的形式表示。例如,表10-1中VGA的分辨率是640480,就是说,这种方式下,每行可以分辨640个像素点,每列可以分辨480个像素点。,显示器分辨率也有着向下兼容的问题,高分辨率显示器可以由低分辨率的适配器驱动。例如,SVGA显示器上显示VGA

5、信号。而低分辨率显示器则不可以由高分辨率的适配器驱动,如果这样做了,轻则显示器行不同步,看不见图像,重则将造成显示器烧毁。,3. 显示方式由于设置或改变PC机的显示方式对时间的要求不严格,而要编写设置或改变显示方式的程序很困难,因此一般由DOS或BIOS调用来完成。BIOS显示例程提供了设置显示方式的功能,程序只要给出调用参数,使用BIOS的INT 10H即可建立某种显示方式。表10-2列出了几种常用的显示方式。,表10-2 INT 10H设置显示方式功能表(AH=00),10.1.2 DOS功能调用显示技术操作系统的核心是由许多关于I/O驱动、磁盘读写和文件管理等程序段构成的。这些程序段都编

6、了号,可由汇编语言的源程序调用。在调用时,把程序段的号(或称系统功能调用号)送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用。在这里通过几个程序举例来介绍有关I/O的功能调用,便于读者在编程中应用。,【例10-1】 在微型计算机系统上常常可以显示实时时钟,这就要求能输出数码0059。要输出多于一个字符时,要利用DOS功能调用9,它是向CRT输出字符串的子程序,要求在调用前使DX指向字符串的首地址,字符串必须以字符“”结束,则功能调用9能把字符“”之前的全部字符向CRT输出。系统调用形式如下:,MOV DX,OFFSET OUTSTRING ;首地址装入

7、DX寄存器MOV AH,9 ;系统功能调用号送入AHINT 21H ;启动DOS功能调用 程序流程图如图10.1所示。程序的清单如下: TITLE 例10-1.ASM STACK SEGMENT PARA STACK STACK,DB 100 DUP(?) STACK ENDS DATA SEGMENT BUFFER DB 3 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS: CODE,DS: DATA, SS: STACK START PROC FAR,图10.1 例10-1流程图,BEGIN: PUSH DS MOV AX,0PUSH AXMOV AX,DA

8、TAMOV DS,AXMOV CX,1000 MOV BL,0LEA SI,BUFFER PUSH BX,GOON: MOV DL,0DHMOV AH,2 INT 21HMOV DL,0AHMOV AH,2INT 21HPOP BX,MOV AL,BLINC ALDAACMP AL,60H JC NEXT MOV AL,0,NEXT: MOV BL,AL PUSH BX MOV DL,AL PUSH CXMOV CL,4SHR AL,CLOR AL,30H MOV SI,AL,INC SIMOV AL,DLAND AL,0FHOR AL,30HMOV SI,ALINC SIMOV AL,$MO

9、V SI,ALMOV DX,OFFSET BUFFERMOV AH,9,INT 21H MOV CX,0FFFFH AGAIN:DEC CXJNE AGAINPOP CXDEC CX JE DONEMOV SI,OFFSET BUFFERJMP GOON,DONE: RET START ENDP CODE ENDS END BEGIN,10.1.3 BIOS功能调用显示技术1. PC机彩色图形模式PC机彩色图形适配器有两大类模式:一种是文本(字符)模式(AN);另一种是图形模式(APA)。而每种模式又可包括不同的显示方式,可以通过BIOS的INT 10H功能调用号0来设置或改变显示模式和显示方

10、式。采用BIOS设置显示方式见8.4节。,【例10-2】 选择显示方式。程序流程图如图10.2所示。程序的清单如下: TITLE 例10-2.ASM STACK SEGMENT STACK STACKDB 100 DUP(0) STACK ENDS DATA SEGMENT,ERROR DB INPUT ERROR! TRY AGAIN,0AH,0DH,$ MSG0 DB * * * MENU * * * ,0AH,0DH,$ MSG1 DB 1, 40*25 B&W TEXT,0AH,0DH,$ MSG2 DB 2, 40*25 COLOR TEXT,0AH,0DH,$ MSG3 DB 3,

11、 80*25 B&W TEXT,0AH,0DH,$ MSG4 DB 4, 80*25 CLOOR TEXT,0AH,0DH,$ MSGS DB 5, 320*200 COLORGRAPHICS,0AH,0DH,$ MSG6 DB 6, 320*200 B&W GRAPHICS,0AH,0DH,$,COUNT EQU $-MSG6 MSG7 DB PLEASE CHOOSE:,$ OK DB 0AH,0DH,SET DISPLAY MODEL OK!,$ DATA ENDS CODE SEGMENT,图10.2 例10-2流程图,ASSUME CS:CODE,DS:DATA,SS:STACK S

12、ETMODE PROC FARPUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AX,TRV: MOV DX,OFFSET MSG0MOV DI,COUNTMOV CX,8 DMENU: CALL DISPADD DX,DILOOP DMENU MOV AH,1INT 21HCMP AL,31HJL ERR,CMP AL,36HJG ERRSUB AL,30HMOV AH,0INT 10HJMP SETOKERR: MOV DX,OFFSET ERRORCALL DISP,MOV AH,6MOV AL,0MOV BH,7MOV CX,0MOV DX,184FHIN

13、T 10HJMP TRV SETOK: MOV DX,OFFSET OK,CALL DISPRET SETMODE ENDP DISP PROC NEAR MOV AH,9INT 21HRET DISP ENDP CODE ENDSEND SETMODE,2. 在文本方式下显示字母、数字和一些字符图形对屏幕上的每一个字符,首先应给出它的ASCII码值,同时还要给出一个8 bit(位)的属性字节。这个属性字节对单色和彩色显示均有效,在单色文本下,只提供闪烁、反显和亮度方面的属性。【例10-3】 在屏幕的第10行10列以绿底红字闪烁显示“HOW DO YOU DO.”,程序流程图如图10.3所示。

14、程序的清单如下:,TITLE 例10-3.ASM STACK SEGMENT STACK STACKDB 100 DUP(0) STACK ENDS DATA SEGMENT MSG DB HOW DO YOU DO. COUNT EQU $-MSG DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATA,SS: STACK,图10.3 例10-3流程图,DISPLAY PROC FARPUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV AH,0MOV AL,3INT 10HMOV BH,0MOV DH,0AHMOV D

15、L,0AH,MOV AH,2INT 10HMOV SI,OFFSET MSGMOV DI,COUNT DISP: MOV AL,SIMOV AH,9 MOV CX,1MOV BH,0MOV BL,0A4HINT 10HINC SIINC DLMOV BH,0,MOV DH,0AHMOV AH,2INT 10HDEC DIJNZ DISPRET DISPLAY ENDP CODE ENDS END DISPLAY,10.1.4 彩色图形显示彩色图形是在图形方式下,由一组像素点在屏幕上形成的。图形方式相对于文本方式所要处理的数据量大,而且不同的显示适配器所支持的分辨率不同,因此同一彩色图形在不同分辨率的情况下,处理的数据量差别很大。,1. 彩色绘图在屏幕上绘制彩色图形,可用BIOS中INT 10H的0号、11号、12号和13号功能调用。利用INT 10H的这些功能调用,就可使屏幕上的绘图变得比较简单。通常情况下,有以下几步:,(1) 用INT 10H的0号功能将显示方式设置成 320200彩色图形方式。MOV AH,0 ;设置显示方式MOV AL,4 ;置CGA为320200彩色图形方式INT 10H ;BIOS中断调用,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号