BIOS 屏幕显示int10

BIOS 屏幕显示I/O int10 有以下几个功能:

  • 00H —设置显示器模式
  • 01H —设置光标形状
  • 02H —设置光标位置
  • 03H —读取光标信息
  • 04H —读取光笔位置
  • 05H —设置显示页
  • 06H、07H —初始化或滚屏
  • 08H —读光标处的字符及其属性
  • 09H —在光标处按指定属性显示字符
  • 0AH —在当前光标处显示字符
  • 0BH —设置调色板、背景色或边框
  • 0CH —写图形象素
  • 0DH —读图形象素
  • 0EH —在Teletype模式下显示字符
  • 0FH —读取显示器模式
  • 10H —颜色
  • 11H —字体
  • 12H —显示器的配置
  • 13H —在Teletype模式下显示字符串
  • 1AH —读取/设置显示组合编码
  • 1BH —读取功能/状态信息
  • 1CH —保存/恢复显示器状态
(1)、功能00H

功能描述:设置显示器模式
入口参数:AH=00H
AL=显示器模式,见下表所示
出口参数:无
可用的显示模式如下所列:

显示模式 显示模式属性 显示模式 显示模式属性
0H 40×25 16色 文本 01H 40×25 16色 文本
2H 80×25 16色 文本 03H 80×25 16色 文本
4H 320×200 4色 05H 320×200 4色
6H 640×200 2色 07H 80×25 2色 文本
8H 160×200 16色 09H 320×200 16色
AH 640×200 4色 0BH 保留 
CH 保留 0DH 320×200 16色
EH 640×200 16色 0FH 640×350 2(单色)
0H 640×350 4色 10H 640×350 16色
1H 640×480 2色 12H 640×480 16色
3H 640×480 256色

对于超级VGA显示卡,我们可用AX=4F02H和下列BX的值来设置其显示模式。

BX显示模式 属性 BX显示模式 属性
100H 640×400 256色 101H 640×480 256色
102H 800×600 16色 103H 800×600 256色
104H 1024×768 16色 105H 1024×768 256色
106H 1280×1024 16色 107H 1280×1024 256色
108H 80×60 文本模式 109H 132×25 文本模式
10AH 132×43 文本模式 10BH 132×50 文本模式
10CH 132×60 文本模式
(2)、功能01H

功能描述:设置光标形状
入口参数:AH=01H
CH低四位=光标的起始行
CL低四位=光标的终止行
出口参数:无

(3)、功能02H

功能描述:用文本坐标下设置光标位置
入口参数:AH=02H
BH=显示页码
DH=行(Y坐标)
DL=列(X坐标)
出口参数:无

(4)、功能03H

功能描述:在文本坐标下,读取光标各种信息
入口参数:AH=03H
BH=显示页码
出口参数:CH=光标的起始行
CL=光标的终止行
DH=行(Y坐标)
DL=列(X坐标)

(5)、功能04H

功能描述:获取当前状态和光笔位置
入口参数:AH=04H
出口参数:AH=00h——光笔未按下/未触发,01h——光笔已按下/已触发
BX=象素列(图形X坐标)
CH=象素行(图形Y坐标,显示模式:04H~06H)
CX=象素行(图形Y坐标,显示模式:0DH~10H)
DH=字符行(文本Y坐标)
DL=字符列(文本X坐标)

(6)、功能05H

功能描述:设置显示页,即选择活动的显示页
入口参数:AH=05H
AL=显示页
对于CGA、EGA、MCGA和VGA,其显示页如下表所列:

模式 页数 显示器类型
00H、01H 0~7C GA、EGA、MCGA、VGA
02H、03H 0~3C GA
02H、03H 0~7E GA、MCGA、VGA
07H 0~7E GA、VGA
0DH 0~7E GA、VGA
0EH 0~3E GA、VGA
0FH 0~1 EGA、VGA
10H 0~1E GA、VGA

对于PCjr:
AL=80H——读取CRT/CPU页寄存器
81H——设置CPU页寄存器
82H——设置CRT页寄存器
83H——设置CRT/CPU页寄存器
BH=CRT页(子功能号82H和83H)
BL=CPU页(子功能号81H和83H)
出口参数:对于前者,无出口参数,但对PCjr在子功能80H~83H调用下,有:BH=CRT页寄存器,BL=CPU页寄存器

(7)、功能06H和07H

功能描述:初始化屏幕或滚屏
入口参数:AH=06H——向上滚屏,07H——向下滚屏
AL=滚动行数(0——清窗口)
BH=空白区域的缺省属性
(CH、CL)=窗口的左上角位置(Y坐标,X坐标)
(DH、DL)=窗口的右下角位置(Y坐标,X坐标)
出口参数:无

(8)、功能08H

功能描述:读光标处的字符及其属性
入口参数:AH=08H
BH=显示页码
出口参数:AH=属性
AL=字符

(9)、功能09H

功能描述:在当前光标处按指定属性显示字符
入口参数:AH=09H
AL=字符
BH=显示页码
BL=属性(文本模式)或颜色(图形模式)
CX=重复输出字符的次数
出口参数:无

(10)、功能0AH

功能描述:在当前光标处按原有属性显示字符
入口参数:AH=0AH
AL=字符
BH=显示页码
BL=颜色(图形模式,仅适用于PCjr)
CX=重复输出字符的次数
出口参数:无

(11)、功能0BH

功能描述:设置调色板、背景色或边框
入口参数:AH=0BH
设置颜色:BH=00H,BL=颜色
选择调色板:BH=01H,BL=调色板(320×200、4种颜色的图形模式)
出口参数:无

(12)、功能0CH

功能描述:写图形象素
入口参数:AH=0CH
AL=象素值
BH=页码
(CX、DX)=图形坐标列(X)、行(Y)
出口参数:无

(13)、功能0DH

功能描述:读图形象素
入口参数:AH=0DH
BH=页码
(CX、DX)=图形坐标列(X)、行(Y)
出口参数:AL=象素值

(14)、功能0EH

功能描述:在Teletype模式下显示字符
入口参数:AH=0EH
AL=字符
BH=页码
BL=前景色(图形模式)
出口参数:无

(15)、功能0FH

功能描述:读取显示器模式
入口参数:AH=0FH
出口参数:AH=屏幕字符的列数
AL=显示模式(参见功能00H中的说明)
BH=页码

(16)、功能10H

功能描述:颜色中断。
其子功能说明如下:

功能号  子功能名称 功能号  子功能名称
00H 设置调色板寄存器 01H 设置边框颜色
02H 设置调色板和边框 03H 触发闪烁/亮显位
07H 读取调色板寄存器 08H 读取边框颜色
09H 读取调色板和边框 10H 设置颜色寄存器
12H 设置颜色寄存器块 13H 设置颜色页状态
15H 读取颜色寄存器 17H 读取颜色寄存器块
1AH 读取颜色页状态 1BH 设置灰度值
(17)、功能11H

功能描述:字体中断。其子功能说明如下:

子功能号 子功能名称
00H 装入用户字体和可编程控制器
10H 装入用户字体和可编程控制器
01H 装入8×14 ROM字体和可编程控制器
11H 装入8×14 ROM字体和可编程控制器
02H 装入8×8 ROM字体和可编程控制器
12H 装入8×8 ROM字体和可编程控制器
03H 设置块指示器
04H 装入8×16 ROM字体和可编程控制器
14H 装入8×16 ROM字体和可编程控制器
20H 设置INT 1Fh字体指针
21H 为用户字体设置INT 43h
22H 为8×14 ROM字体设置INT 43H
23H 为8×8 ROM字体设置INT 43H
24H 为8×16 ROM字体设置INT 43H
30H 读取字体信息
(18)、功能12H

功能描述:显示器的配置中断。其子功能说明如下:

功能号 功能名称 功能号 功能名称
10H 读取配置信息 20H 选择屏幕打印
30H 设置扫描行 31H 允许/禁止装入缺省调色板
32H 允许/禁止显示 33H 允许/禁止灰度求和
34H 允许/禁止光标模拟 35H 切换活动显示
36H 允许/禁止屏幕刷新
(19)、功能13H

功能描述:在Teletype模式下显示字符串
入口参数:AH=13H
BH=页码
BL=属性(若AL=00H或01H)
CX=显示字符串长度
(DH、DL)=坐标(行、列)
ES:BP=显示字符串的地址 AL=显示输出方式
0——字符串中只含显示字符,其显示属性在BL中。显示后,光标位置不变
1——字符串中只含显示字符,其显示属性在BL中。显示后,光标位置改变
2——字符串中含显示字符和显示属性。显示后,光标位置不变
3——字符串中含显示字符和显示属性。显示后,光标位置改变
出口参数:无

(20)、功能1AH

功能描述:读取/设置显示组合编码,仅PS/2有效,在此从略

(21)、功能1BH

功能描述:读取功能/状态信息,仅PS/2有效,在此从略

(22)、功能1CH

功能描述:保存/恢复显示器状态,仅PS/2有效,在此从略