文档介绍:视频显示系统程序设计
摘要:在微型计算机的图形显示方面,汇编语言具有极大的优势,这是因为显示在屏幕上的图形是由成千上万个像素组成的,对图形处理也需要复杂的算法和大量的指令。与高级语言相比,虽然表面上汇编语言显得复杂、凌乱和可读性差,但就速度而言,汇编语言最快。用汇编语言设计出来的图形显示有着直观、醒目和反应快速的优点,并且一旦掌握汇编语言显示技术的思路和基本显示模块,编程的工作仅是模块的运用和参数的修正。
显示方式
显示方式与显示适配器及显示器密切相关,因此,必须熟悉和掌握显示器和与显示适配器相关的性能与技术指标。
1. 显示适配器
IBM–PC系列微机中,先后提供了多种显示适配器(显示卡),表1-1介绍了这些适配器的基本技术指标。
显示适配器的功能基本是向下兼容,即新型显示卡功能包括前一档次显示卡的显示功能,而又有所增强。此外,实用中各厂家不同型号的产品性能不尽相同。
表1-1 显示适配器的基本技术指标
类型
分辨率
彩色度(灰度)
字符
图形
单色字符显示适配器(MDA)
9×14
720×350
2
彩色图形适配器(CGA)
8×8
320×200
640×200
16选4
高分辨率单色适配器(HGC)
720×200
640×350
16选4
增强型图形适配器(EGA)
8×14
640×350
64选16
多色图形阵列(MCGA)
8×14
640×400
256
视频图形阵列(VGA)
9×16
640×480
256
高级视频图形阵列(TVGA)
800×600
64 K
超级视频图形适配器(SVGA)
1024×768
1280×1024
1680×1280
16 M
局部高性能总线显示卡(PCI)
1024×768
1024
1680×1280
16 M
图形加速阵列
(AGP)
1024×768
1280×1024
1680×1280
4 G
显示模式
信号模式
其他
7
TTL
0~6
TTL
7、F
TTL
0~6、D~F、10
TTL
0~6、D~F、10
模拟
0~6、D~F、11~13
模拟
0~6、D~F、11~13
模拟
0~6、D~F、
11~13
模拟
标准、非标准
模拟
图形加速
标准、非标准
模拟
图形加速
2. 显示器
目前,Intel公司80x86/Pentium的微型机主要使用两种类型的显示器:数字(TTL)显示器和模拟显示器。
1) 数字(TTL)显示器
该类型显示器的彩色分辨是用“1”和“0”来决定的。若某彩色信号为“1”,则在屏幕上呈现出这一彩色,否则屏幕上不显示这一彩色。TTL显示器上能显示的彩色种类与彩色信号输入线的多少有关。
如CGA与彩色有关的信号线有红(R)、绿(G)、蓝(B)和亮度(I),这四种信号可组合成2~16种不同的颜色,字符的显示可从其中选择做前景或背景色。CGA和EGA适配器仅能支持TTL显示器。
2) 模拟显示器
模拟显示器有3种彩色信号输入线(红、绿、蓝),加在每个输入线上的电平的高低级别决定了显示在屏幕上的那种彩色的数量。从理论上讲,它能显示的彩色数量是无限的,但实际应用中却是有限的,这主要取决于显示适配器的能力。
由于彩色数量的无限性,模拟显示器被认为是一种优秀的显示技术。VGA及以上显示方式必须配置模拟显示器。目前386及其以上的机型基本上选用VGA适配器和模拟显示器。
3) 显示器分辨率
分辨率是显示器的重要指标,它关系到显示器的性能和图像质量。图像质量由两个主要因素决定:其一是屏幕上扫描图像的速度;其二是屏幕上的像素数,像素数又称分辨率,以屏幕行像素数(x)×列像素数(y)的形式表示。
例如,表1-1中VGA的分辨率是640×480,就是说,这种方式下,每行可以分辨640个像素点,每列可以分辨480个像素点。
显示器分辨率也有着向下兼容的问题,高分辨率显示器可以由低分辨率的适配器驱动。例如,SVGA显示器上显示VGA信号。而低分辨率显示器则不可以由高分辨率的适配器驱动,如果这样做了,轻则显示器行不同步,看不见图像,重则将造成显示器烧毁。
3. 显示方式
由于设置或改变PC机的显示方式对时间的要求不严格,而要编写设置或改变显示方式的程序很困难,因此一般由DOS或BIOS调用来完成。
BIOS显示例程提供了设置显示方式的功能,程序只要给出调用参数,使用BIOS的
INT 10H即可建立某种显示方式。表1-2列出了几种常用的显示方式。
表1-2 INT 10H设置显示方式功能表(AH=00)
调用参数
(A