1、第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程91 串行通讯口串行通讯口IO 在现实生活和工作中,常会有将两台计算机实现资源共享和数据交换的在现实生活和工作中,常会有将两台计算机实现资源共享和数据交换的要求。微机双机直接通讯的方法有很多种,根据两台微机的距离远近,可分要求。微机双机直接通讯的方法有很多种,根据两台微机的距离远近,可分为为近程通讯近程通讯和和远程通讯远程通讯,如果两台通讯的微机在同一间屋内或相距在几十米,如果两台通讯的微机在同一间屋内或相距在几十米到一两百米内,称为近程通讯;如果两台微机相距在几百米到几千米甚至更到一两百米内,称为近程通讯
2、;如果两台微机相距在几百米到几千米甚至更远,则把它们之间的通讯称为远程通讯。远,则把它们之间的通讯称为远程通讯。由于计算机通讯的广泛应用,串行接口已成为个人计算机必备的部件,由于计算机通讯的广泛应用,串行接口已成为个人计算机必备的部件,IBM PC机内装有通讯适配器板,这使得机内装有通讯适配器板,这使得PC机可以和其它配有串行通讯接机可以和其它配有串行通讯接口的计算机或设备进行通讯。口的计算机或设备进行通讯。串行接口每次由串行接口每次由CPU得到得到8位的数据位的数据,然后串然后串行地通过一条线路,每次发送一位将该数据发送出去行地通过一条线路,每次发送一位将该数据发送出去。最常用于个人计算机上
3、的串行接口是标准的最常用于个人计算机上的串行接口是标准的RS一一232串行接口,它装于串行接口,它装于PC机内的通讯适配器板上。这个标准串行接口既可用于近程或远程的数据通机内的通讯适配器板上。这个标准串行接口既可用于近程或远程的数据通讯,每个系统中可以有两个或多个串行控制器连接到不同的外设上,如讯,每个系统中可以有两个或多个串行控制器连接到不同的外设上,如IBM PC可连接两个串行接口可连接两个串行接口(COM1和和COM2),但是程序每次只能对一个串口进,但是程序每次只能对一个串口进行存取。行存取。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程 两台
4、两台PC机或设备进行近机或设备进行近距离通讯时,可直接将它距离通讯时,可直接将它们连接。当它们进行远距们连接。当它们进行远距离通讯时,要使用调制解离通讯时,要使用调制解调器调器(MODEN)连接到电话连接到电话线上,因为线上,因为RS一一232标准串标准串行接口输出的是电压信号,行接口输出的是电压信号,不能直接接到电话线上,不能直接接到电话线上,调制解调器把代表逻辑调制解调器把代表逻辑1和和逻辑逻辑0的电压信号转换成能的电压信号转换成能在电话线上传输的不同频在电话线上传输的不同频率的信号:电话线另一端率的信号:电话线另一端的调制解调器又把这些不的调制解调器又把这些不同频率的信号转换成接口同频率
5、的信号转换成接口要求的电压信号。左图为要求的电压信号。左图为两种连接方式的示意图。两种连接方式的示意图。串口的连接方式串口的连接方式第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程串口的典型结构串口的典型结构许多外部设备和计算机许多外部设备和计算机是按照串行方式来进行是按照串行方式来进行通信的。即数据是通信的。即数据是1位位1位进行传输的,在传输位进行传输的,在传输过程中,每过程中,每1位数据都位数据都占据一个固定的时间长占据一个固定的时间长度。这种情况下,就要度。这种情况下,就要用串行接口把这个外部用串行接口把这个外部设备连接到总线上。设备连接到总线上
6、。当前,可编程的串行接当前,可编程的串行接口有许多种。左图是串口有许多种。左图是串行接口部件的典型结构,行接口部件的典型结构,从图中可以看到,串行从图中可以看到,串行接口部件内部有接口部件内部有4个主个主要寄存器,即控制寄存要寄存器,即控制寄存器、状态寄存器、数据器、状态寄存器、数据输入寄存器和数据输出输入寄存器和数据输出寄存器寄存器。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程控制寄存器控制寄存器用来容纳用来容纳CPU送给此接口的各种控制信息,而控制信息决定接口的工送给此接口的各种控制信息,而控制信息决定接口的工作方式。作方式。状态寄存器状态寄存器
7、的各位叫状态位,每一个状态值都可以用来指示传输过程中的某一种的各位叫状态位,每一个状态值都可以用来指示传输过程中的某一种错误或者当前传输状态。错误或者当前传输状态。数据输入寄存器数据输入寄存器总是和串行输入并行输出移位寄存器配对使用的。在输入过程总是和串行输入并行输出移位寄存器配对使用的。在输入过程中,数据中,数据1位位1位从外部设备进入接口的位从外部设备进入接口的移位寄存器移位寄存器,当接收完,当接收完1个字符以后,数个字符以后,数据就从移位寄存器送到数据输入寄存器,再等待据就从移位寄存器送到数据输入寄存器,再等待CPU来取走。来取走。数据输出寄存器数据输出寄存器和并行输入串行输出和并行输入
8、串行输出移位寄存器移位寄存器配对使用。当配对使用。当CPU往数据输出往数据输出寄存器中输出寄存器中输出1个数据后,数据使传输到移位寄存器,然后个数据后,数据使传输到移位寄存器,然后1位位1位地通过输出线位地通过输出线送到外设。送到外设。CPU可以访问串行接口中的可以访问串行接口中的4个主要寄存器。从原则来说,对这个主要寄存器。从原则来说,对这4个个寄存器可以通过不同的地址来访问,不过,因为控制寄存器和数据寄存器可以通过不同的地址来访问,不过,因为控制寄存器和数据输出寄存器是只写的,状态寄存器和数据入寄存器是只读的,所以,输出寄存器是只写的,状态寄存器和数据入寄存器是只读的,所以,可以用读信号和
9、写信号来区分这两组寄存器,再用可以用读信号和写信号来区分这两组寄存器,再用1位地址来区分位地址来区分2个只读寄存器或个只读寄存器或2个只写寄存器。个只写寄存器。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程九针串口线的连接方式九针串口线的连接方式9针串行口的针脚功能。针串行口的针脚功能。:针脚针脚 功能针脚功能功能针脚功能:1载波检测载波检测(DCD)6 数据准备好数据准备好(DSR):2接受数据接受数据(RXD)7 请求发送请求发送(RTS):3发出数据发出数据(TXD)8 清除发送清除发送(CTS):4数据终端准备好数据终端准备好(DTR)9 振铃
10、指示振铃指示(RI):5信号地线信号地线(SG)通讯电缆制作原理:通讯电缆制作原理::串行通讯电缆的制作方法:其串行通讯电缆连接时都遵循下列对接关串行通讯电缆的制作方法:其串行通讯电缆连接时都遵循下列对接关系:系::SGSG:TXDRXDRXDTXD:RTSCTSCTSRTS:DTRDSRDSRDTR:根据上述对接关系,就可以非常方便地连接串行通讯电缆。根据上述对接关系,就可以非常方便地连接串行通讯电缆。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程注意事项注意事项注意事项注意事项::为了保证传输的信号正确、完整,导线的长度最好不要超过为了保证传输的信
11、号正确、完整,导线的长度最好不要超过2米;并且宜米;并且宜选用计算机专用电缆。选用计算机专用电缆。:导线必须焊接到所对应的位置,焊头连接必须牢固,并且注意不要短路。导线必须焊接到所对应的位置,焊头连接必须牢固,并且注意不要短路。:对于串行通讯电缆,也可使用对于串行通讯电缆,也可使用9针到针到25针转换接头来连接其中的一个或两针转换接头来连接其中的一个或两个串口。个串口。:电脑商店也有卖电脑商店也有卖“串口通讯电缆串口通讯电缆”和和“并口通讯电缆并口通讯电缆”的,购买时要注意的,购买时要注意弄清楚是微机与微机相连的还是微机与外设相连的,这两种线的内部接法有点不弄清楚是微机与微机相连的还是微机与外
12、设相连的,这两种线的内部接法有点不同,弄错了会造成通讯失败。同,弄错了会造成通讯失败。:不用于连接电缆的接头不用于连接电缆的接头(如如1、9接头等接头等)宜悬空。这一点对于自己改造从电宜悬空。这一点对于自己改造从电脑商店买来的所谓脑商店买来的所谓“串行通讯电缆串行通讯电缆”和和“并行通讯电缆并行通讯电缆”尤其重要。尤其重要。:并口线不可能太长,串口线速率又较慢。因此本法所制电缆只适合于那些并口线不可能太长,串口线速率又较慢。因此本法所制电缆只适合于那些放得很近并有空闲串并口的微机。对于随身携带笔记本电脑要与其它计算交换数放得很近并有空闲串并口的微机。对于随身携带笔记本电脑要与其它计算交换数据的
13、用户,本法最适合。据的用户,本法最适合。把串行或并行电缆两端插到两台机器对应端口上,还不能立即进行把串行或并行电缆两端插到两台机器对应端口上,还不能立即进行数据通讯,还必须有通讯软件的支持。数据通讯,还必须有通讯软件的支持。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程DOS串行通讯口功能串行通讯口功能 串行通讯接口为辅助设备,串行通讯接口为辅助设备,DOS中断操作如下中断操作如下。读取操作:读取操作:INT 21H的功能的功能03H是从捕助设备是从捕助设备(第一个串行口第一个串行口COM1)读一个读一个字符到寄存器字符到寄存器AL。发送操作:功能发送
14、操作:功能04H将将DL寄存器中的字符传送给串行设备,如果输出设备寄存器中的字符传送给串行设备,如果输出设备正忙,该功能调用等待,直到设备准备好接收字符。正忙,该功能调用等待,直到设备准备好接收字符。注意注意:在多数在多数DOS系统中,串行设备没有缓冲和中断,如果串行通讯口或其它辅助设备系统中,串行设备没有缓冲和中断,如果串行通讯口或其它辅助设备送的数据比程序处理数据快,字符可能丢失。在送的数据比程序处理数据快,字符可能丢失。在PC系统中,第一个串行口系统中,第一个串行口COM1被初始被初始化为化为2400波特(波特(所谓传输率就是指每秒传输多少位,传输率也常叫波特率。所谓传输率就是指每秒传输
15、多少位,传输率也常叫波特率。),无奇偶),无奇偶校验位,校验位,1个终止位和个终止位和8位数据。其它机器上的位数据。其它机器上的DOS实现可能有不同的初始化。实现可能有不同的初始化。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程 注意:注意:DOS没有提供读辅助设备的状态和没有提供读辅助设备的状态和检测检测IO错误错误(如丢失字符等如丢失字符等)的功能,但的功能,但ROM中中BIOS INT 14H提供了这些功能。提供了这些功能。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程BIOS串行通讯口功能串行通讯口功能
16、 IBM PC的的BIOS串行通讯串行通讯提供如下操作:提供如下操作:通过通过INT 14H调用调用ROM BIOS串行通讯串行通讯口例行程序。该口例行程序。该例行程序包括将例行程序包括将串行口初始化为串行口初始化为指定的字节结构指定的字节结构和传输速率,检和传输速率,检查控制器的状态,查控制器的状态,读写字符等功能。读写字符等功能。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程INT 14H AH0功能功能 把指定的串行通讯口初始化为希望的波特率,奇偶性,字长和终止位的位数。把指定的串行通讯口初始化为希望的波特率,奇偶性,字长和终止位的位数。这些初始
17、化参数设置在这些初始化参数设置在AL寄存器。其各位的含义如下图所示。寄存器。其各位的含义如下图所示。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程例例 要求要求0号通讯口的传输率为号通讯口的传输率为2400波特,字长为波特,字长为8位,位,1位终止位,无奇偶校验位终止位,无奇偶校验 串口通讯中的错误检测功能串口通讯中的错误检测功能 在接口设计中,常常要考虑对错误的检测问题。当前多数可编程接口,一般能检在接口设计中,常常要考虑对错误的检测问题。当前多数可编程接口,一般能检测下列两类错误。测下列两类错误。一类是传输错误。因为接口和设备之间的连线常常受噪声干
18、扰,从而引起传线错误,一类是传输错误。因为接口和设备之间的连线常常受噪声干扰,从而引起传线错误,所以一般传输信息时,接口采用奇偶校验位对传输错误进行检测。传输时,如果用所以一般传输信息时,接口采用奇偶校验位对传输错误进行检测。传输时,如果用奇奇校验校验,那么使信息中,那么使信息中1的数目的数目(包括校验位包括校验位)为奇数。也就是说,所传输的数据中如果为奇数。也就是说,所传输的数据中如果1的个数为奇数则使校验位为的个数为奇数则使校验位为0,所传输的数据中如果,所传输的数据中如果1的个数为偶数则使校验位的个数为偶数则使校验位为为1,这样,在传输一个数据时,这样,在传输一个数据时,1的总数目总是为
19、奇数。同样的道理,如果用偶校验的总数目总是为奇数。同样的道理,如果用偶校验那么,信息中那么,信息中1的数目的数目(包括校验位包括校验位)为偶数。为偶数。接口在传输过程中,对信息校验之后,接口在传输过程中,对信息校验之后,如果发现有错误,则对状态寄存器中的相应位进行设置。而状态杏存器的内容可以通过如果发现有错误,则对状态寄存器中的相应位进行设置。而状态杏存器的内容可以通过程序进行读取和检测。程序进行读取和检测。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程另一类是复盖错误。我们知道,当计算机输入数据时,实际上是从接口的输入缓冲寄存另一类是复盖错误。我们知
20、道,当计算机输入数据时,实际上是从接口的输入缓冲寄存器中取数。如果计算机还没有取走数据,输入缓冲寄存器由于某种原因又被装上了新的器中取数。如果计算机还没有取走数据,输入缓冲寄存器由于某种原因又被装上了新的数据,那么,就全产生一个复盖错误。在输出时,也会有类似的情况。数据,那么,就全产生一个复盖错误。在输出时,也会有类似的情况。返回参数中通讯口状态字节各位置返回参数中通讯口状态字节各位置1的含义如下图的含义如下图所示:所示:在接收和发送过程,错误状态位在接收和发送过程,错误状态位(1,2,3,4位位)一旦被置为一旦被置为1,则读入的接收数,则读入的接收数据已不是有效数据,所以在串行通讯应用程序中
21、,应检测数据传输是否出错。据已不是有效数据,所以在串行通讯应用程序中,应检测数据传输是否出错。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程状态错误信息状态错误信息奇偶错;通信线上奇偶错;通信线上(尤其是用电话线传输时尤其是用电话线传输时)的噪音引起某些数据位的改变,产生的噪音引起某些数据位的改变,产生奇偶错通常检测出奇偶错时,要求正在接收的数据至少应重新发送一段。奇偶错通常检测出奇偶错时,要求正在接收的数据至少应重新发送一段。超越错:在上一个字符还未被处理机取走,又有字符要传送到数据寄存器里,则超越错:在上一个字符还未被处理机取走,又有字符要传送到数
22、据寄存器里,则会引起超越错。如果处理机处理字符的速度小于串行通讯口的波持率,则会产生会引起超越错。如果处理机处理字符的速度小于串行通讯口的波持率,则会产生这种错误。这种错误。帧格式错:当接收发送器未接收到一个字符数据的停止位,则会引起帧格式帧格式错:当接收发送器未接收到一个字符数据的停止位,则会引起帧格式错。这种错误可能是由于通信线上的噪音引起停止位的丢失,或者是由于接收方错。这种错误可能是由于通信线上的噪音引起停止位的丢失,或者是由于接收方和发送方初始化不匹配。和发送方初始化不匹配。间断;间断有时候并不能算是一个错误,而是为某些特殊的通讯环境设置的间断;间断有时候并不能算是一个错误,而是为某
23、些特殊的通讯环境设置的“空格空格”状态。当间断位为状态。当间断位为1时,说明接收的时,说明接收的“空格空格”状态超过了一个完整的数状态超过了一个完整的数据字传输时间。据字传输时间。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程例例 从通讯口从通讯口0读入字符并把它们显示出来,如果字符没有准备好则等待,如果读入字符并把它们显示出来,如果字符没有准备好则等待,如果传送有错则显示出错信息传送有错则显示出错信息“?”。第一章第一章 基础知识基础知识第九章第九章 彩色图形适配器及其编程彩色图形适配器及其编程9.2 显示器显示器I/O 显示器是计算机系统的基本显示
24、设备。显卡VGA的色彩表现能力、编程方便性和显示速度等性能都直接影响显示性能。当前流行的都是高分辨率(分辨率为1024768、12801024等)Super VGA显示器。本节主要介绍VGA及其以上的Super VGA显示器原理和基本I/O操作控制方法。显示器任一时刻都必须工作在某一显示模式下,显示模式分为两大类:文本模式 图形模式文本显示模式I/O 文本模式:由一屏所能显示字符的行、列数及字符属性确定。例如,文本模式3:80(列)25(行)彩色文本显示模式 显存中保存着当前正显示的一整屏图像数据,VGA在显存与屏幕之间建立了一种自动映射关系,只要向显存写入显示数据,屏幕上将立刻显示出字符或图
25、形。实际上显存又被映射到主机系统的一段内存地址空间上,这段内存地址空间称为视频缓冲区。彩色文本模式下,视频缓冲区首地址为B800:0000H。程序读写视频缓冲区,就等效于读写显存。屏幕上每个显示字符都对应视频缓冲区中的两个字节单元:第一个单元存显示字符的ASCII码 第二个单元存该显示字符的属性 分辨率越高的显示模式需占用的视频缓冲区存储空间越大。1)字符属性 字符的属性确定了该字符的显示方式:显示字符的颜色、背景颜色及是否闪烁、高亮度。next 对于文本模式3,全屏幕有2000字符,需占用视频缓冲区存储空间4000字节。返回例2:采用文本模式3在全屏幕上显示闪烁的蓝底红色字符A,其属性字节为
26、:94H例1:闪烁的蓝底红色字符属性字节:94H=(10010100)2VGA编程方法:(1)直接读写视频存储器 (2)利用BIOS中的视频中断调用功能(INT 10H)(3)对VGA的寄存器操作+读写视频缓冲区其中:方法(1)速度快,可利用Super VGA的扩展性能 方法(2)方便、简单,但时间开销较大 方法(3)速度快,操作更低层,要求对硬件熟悉2)彩色文本模式的BIOS中断调用 BIOS中的显示中断调用INT 10H有大部分功能是处理文本显示。计算机开机或热启动时,初始模式是彩色文本模式3(参见下表)。用直接写视频缓冲区的方法完成上述功能:mov ax,0b800h mov es,ax
27、 mov di,0 ;视频缓冲区偏移地址送di mov cx,2000 ;一屏显示字符的个数送cx mov ah,10010100b ;显示属性:闪烁,蓝底红字 mov al,A ;显示字符A rep stosw ;字符A显示到屏幕上 mov ah,00000111b ;清屏mov al,AH功 能调用参数返回参数/注释0设置显示方式AL=00:40 x25黑白文本方式AL=01:40 x25彩色文本方式AL=02:80 x25黑白文本方式AL=03:80 x25彩色文本方式AL=04:320 x200彩色图形方式AL=05:320 x200黑白图形方式AL=06:640 x200黑白图形方式
28、AL=07:80 x25黑白文本方式AL=0D:320 x200彩色图形方式(EGA)AL=0E:640 x200彩色图形方式(EGA)AL=0F:640 x350黑白图形方式(EGA)AL=10:640 x350彩色图形方式(EGA)AL=11:640 x480黑白图形方式(VGA)AL=12:640 x480彩色图形方式(VGA)AL=13:320 x200,256色图形方式(VGA)10H中断功能调用-1 1置光标类型置光标类型(CH)03=光标开光标开始行始行(CL)03=光标结光标结束行束行2置光标位置置光标位置BH=页号页号 DH=行行DL=列列 3读光标位置读光标位置BH=页号页
29、号CH=光标开始行光标开始行CL=光标结束行光标结束行DH=行行DL=列列4置显示页置显示页AL=显示页号显示页号5屏幕初始化或上卷屏幕初始化或上卷6屏幕初始化或上卷屏幕初始化或上卷AL=上卷行数上卷行数 AL=0全屏幕为空白全屏幕为空白 BH=卷入行属性卷入行属性CH=左上角行号左上角行号 CL=左上角列号左上角列号 DH=右下角行号右下角行号 DL=右下角列号右下角列号7屏幕初始化或下卷屏幕初始化或下卷AL=下卷行数下卷行数AL=0全屏幕为空白全屏幕为空白 BH=卷入行属性卷入行属性CH=左上角行号左上角行号 CL=左上角列号左上角列号 DH=右下角行号右下角行号 DL=右下角列号右下角列
30、号10H中断功能调用-28读光标位置的属性和读光标位置的属性和字符字符BH=显示页显示页AH=属性属性AL=字符字符9在光标位置显示字符在光标位置显示字符及其属性及其属性BH=显示页显示页AL=字符字符BL=属性属性CX=字符重复次数字符重复次数A在光标位置只显示字在光标位置只显示字符符BH=显示页显示页AL=字符字符 CX=字符重复次数字符重复次数E显示字符显示字符(光标前移光标前移)AL=字符字符BL=前景色前景色光标跟随字符移光标跟随字符移动动13显示字符串显示字符串ES:BP=串地址串地址 CX=串长度串长度 DH,DL=起始行列起始行列 BH=页号页号AL=0,BL=属性属性 串:串
31、:Char,char,charAL=1,BL=属性属性 串:串:Char,char,char AL=2 串:串:Char,attr,char,attr AL=3 串:串:Char,attr,char,attr光标返回起始位光标返回起始位置置光标跟随移动光标跟随移动光标返回起始位光标返回起始位置置光标跟随串移动光标跟随串移动10H中断功能调用-3图形显示模式I/O 本节讨论有关显示器图形显示模式的基本概念、基本原理、图形显示技术及其程序设计方法。1)图形显示模式 图形模式:利用显示屏上的像素点来构成图形或图像。主机 显卡显示器 数字信号 模拟信号 模拟信号 为减少显存需求量,VGA采用了一种间接
32、色彩模式(假彩色):R(6位)G(6位)B(6位)012666666666颜色索引值 显存中只存各颜色在色彩查找表中的颜色索引值,由颜色索引值在色彩查找表中确定像素点的颜色,使显存空间大大减少。色彩查找表(18位RGB值)随着技术发展,现在 VGA又采用了直接用RGB三基色亮度值确定像素点颜色的直接色彩模式:(1)高彩色模式:用15位或16位定义一个像素点颜色的模式。每个基色亮度值占5位或6位:有32级或64级亮度值,可表示32K或64K种颜色。(2)真彩色模式:用24位定义一个像素点颜色的模式。每个基色亮度值用8位表示:有256级亮度值,可表示16M种颜色。真彩色模式已达到显示器色彩表现能力
33、的极限。一种图形模式一般表示为:水平像素点数垂直像素点数色彩模式 每种显示模式都有一定的显存空间需求量,计算公式为:显存空间需求量=水平像素点数垂直像素点数每个像素值占用的二进制位数 显存所映射的视频缓冲区地址空间为 A000H:0000HA000H:FFFFH VGA采用了位面技术和显存分页机制来解决上述问题:例如,标准VGA的显示模式12H表示为:64048016C6404804(Bit)=153KB 视频缓冲区空间仅仅为64KB,而12H模式(分辨率低)的显存需求空间就已远超过64KB,这就产生了地址空间的矛盾。(1)彩色位面法(只用于VGA的16色模式)VGA将多段大小为64KB的显存
34、同时映射到一个64KB的视频地址空间,每段64KB的显存区称为一个位面,每一个位面用来提供一个二进制像素点颜色值的一位,所以显示屏上的像素点的颜色由几个位面的值共同确定。如何通过小小的视频缓冲区地址空间访问到整个显存呢?彩色位面法 1 0 1 0 1 1 0 1 0 1 1 0 1 1 0 01 1 0 0 1 1 0 10 0 1 1 0 0 1 1 0位面(64 k)0101 品红0110 棕色1位面2位面 3位面A000:0HA000:0HA000:0HA000:0H屏幕显存(2)压缩像素法(主要用于256色的显示模式)每个像素值用8位表示,取值0-255,可以表示256种颜色。每个像素
35、值占用一个字节,并且按字节连续存放,所以视频缓冲区中的一个字节对应显示屏上的一个像素点。例:VGA 13H模式(320200256色)的直接写像点子程序。入口参数:AX=行坐标,BX=列坐标,CH=颜色值(像素值)vga_color256 proc near mov dx,0a000h mov es,dx mov dx,320 mul dx add ax,bx mov di,ax mov es:di,ch ret vga_color256 endpnext显存分页 1 0 1 0 1 1 0 1 0 1 1 0 1 1 0 01 1 0 0 1 1 0 10 0 1 1 0 0 1 10页(6
36、4 k)1页2页A000:0H显存0页1页2页压缩像素法返回2)BIOS图形功能调用 在BIOS的INT 10H中断调用中的图形显示功能,使用简单方便,当分辨率较高时也不用考虑换页操作,具体功能如表所示。打印机I/O 打印机接口是一个并行接口,一次可以从处理器接收8位数据。IBM PC系列机使用的打印机接口符合CENTRONICS接口标准,凡是符合这种接口标准的外部设备,都可以连接到打印接口上。5.6.1 打印中断调用 通过调用DOS INT 21H 或BIOS INT 17H可以实现对打印机的操作。下表是有关打印机I/O的中断操作。打印字符:MOV AH,0MOV AL,AMOV DX,0INT 17H
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。