BIOS 中断大全(INT 10H—1AH)
1、 显示服务(Video Service——INT 10H)
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=显示器模式,见下表所示
出口参数:无
可用的显示模式如下所列:
AL 显示模式 属性
00H:40×25 16 色 文本
01H:40×25 16 色 文本
02H:80×25 16 色 文本
03H:80×25 16 色 文本
04H:320×200 4 色
05H:320×200 4 色
06H:640×200 2 色
07H:80×25 2 色 文本
08H:160×200 16 色
09H:320×200 16 色
0AH:640×200 4 色
0BH:保留
0CH:保留
0DH:320×200 16 色
0EH:640×200 16 色
0FH:640×350 2(单色)
10H:640×350 4 色
10H:640×350 16 色
11H:640×480 2 色
12H:640×480 16 色
13H:640×480 256 色
对于超级 VGA 显示卡,我们可用 AX=4F02H 和下列 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~7 CGA、EGA、MCGA、VGA
02H、03H 0~3 CGA
02H、03H 0~7 EGA、MCGA、VGA
07H 0~7 EGA、VGA
0DH 0~7 EGA、VGA
0EH 0~3 EGA、VGA
0FH 0~1 EGA、VGA
10H 0~1 EGA、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 有效,在此从略
2、直接磁盘服务(Direct Disk Service——INT 13H)
00H — 磁盘系统复位
01H — 读取磁盘系统状态
02H — 读扇区
03H — 写扇区
04H — 检验扇区
05H — 格式化磁道
06H — 格式化坏磁道
07H — 格式化驱动器
08H — 读取驱动器参数
09H — 初始化硬盘参数
0AH — 读长扇区
0BH — 写长扇区
0CH — 查寻
0DH — 硬盘系统复位
0EH — 读扇区缓冲区
0FH — 写扇区缓冲区
10H — 读取驱动器状态
11H — 校准驱动器
12H — 控制器 RAM 诊断
13H — 控制器驱动诊断
14H — 控制器内部诊断
15H — 读取磁盘类型
16H — 读取磁盘变化状态
17H — 设置磁盘类型
18H — 设置格式化媒体类型
19H — 磁头保护
1AH — 格式化 ESDI 驱动器
(1)、功能 00H
功能描述:磁盘系统复位
入口参数:AH=00H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号 01H 中的说明
(2)、功能 01H
功能描述:读取磁盘系统状态
入口参数:AH=01H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:AH=00H,AL=状态代码,其定义如下:
00H — 无错
01H — 非法命令
02H — 地址目标未发现
03H — 磁盘写保护(软盘)
04H — 扇区未发现
05H — 复位失败(硬盘)
06H — 软盘取出(软盘)
07H — 错误的参数表(硬盘)
08H — DMA 越界(软盘)
09H — DMA 超过 64K 界限
0AH — 错误的扇区标志(硬盘)
0BH — 错误的磁道标志(硬盘)
0CH — 介质类型未发现(软盘)
0DH — 格式化时非法扇区号(硬盘)
0EH — 控制数据地址目标被发现(硬盘)
0FH — DMA 仲裁越界(硬盘)
10H — 不正确的 CRC 或 ECC 编码
11H — ECC 校正数据错(硬盘)
CRC:Cyclic Redundancy Check code
ECC:Error Checking & Correcting code
20H — 控制器失败
40H — 查找失败
80H — 磁盘超时(未响应)
AAH — 驱动器未准备好(硬盘)
BBH — 未定义的错误(硬盘)
CCH — 写错误(硬盘)
E0H — 状态寄存器错(硬盘)
FFH — 检测操作失败(硬盘)
(3)、功能 02H
功能描述:读扇区
入口参数:AH=02H
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见
功能号 01H 中的说明
(4)、功能 03H
功能描述:写扇区
入口参数:AH=03H
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见
功能号 01H 中的说明
(5)、功能 04H
功能描述:检验扇区
入口参数:AH=04H
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=被检验的扇区数,否则,AH=状态代码,参
见功能号 01H 中的说明
(6)、功能 05H
功能描述:格式化磁道
入口参数:AH=05H
AL=交替(Interleave)
CH=柱面
DH=磁头
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
ES:BX=地址域列表的地址
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号 01H 中的说明
(7)、功能 06H
功能描述:格式化坏磁道
入口参数:AH=06H
AL=交替
CH=柱面
DH=磁头
DL=80H~0FFH:硬盘
ES:BX=地址域列表的地址
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号 01H 中的说明
(8)、功能 07H
功能描述:格式化驱动器
入口参数:AH=07H
AL=交替
CH=柱面
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号 01H 中的说明
(9)、功能 08H
功能描述:读取驱动器参数
入口参数:AH=08H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=1——操作失败,AH=状态代码,参见功能号 01H 中的说明,否则, BL=01H
— 360K
=02H — 1.2M
=03H — 720K
=04H — 1.44M
CH=柱面数的低 8 位
CL 的位 7-6=柱面数的高 2 位
CL 的位 5-0=扇区数
DH=磁头数
DL=驱动器数
ES:DI=磁盘驱动器参数表地址
(10)、功能 09H
功能描述:初始化硬盘参数
入口参数:AH=09H
DL=80H~0FFH:硬盘(还有有关参数表问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,在此从略)
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号 01H 中的说明
(11)、功能 0AH
功能描述:读长扇区,每个扇区随带四个字节的 ECC 编码
入口参数:AH=0AH
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见
功能号 01H 中的说明
(12)、功能 0BH
功能描述:写长扇区,每个扇区随带四个字节的 ECC 编码
入口参数:AH=0BH
AL=扇区数
CH=柱面
CL=扇区
DH=磁头
DL=80H~0FFH:硬盘
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见
功能号 01H 中的说明
(13)、功能 0CH
功能描述:查寻长扇区
入口参数:AH=0CH
CH=柱面的低 8 位
CL(7-6 位)=柱面的高 2位
DH=磁头
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号 01H 中的说明
(14)、功能 0DH
功能描述:硬盘系统复位
入口参数:AH=0DH
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号 01H 中的说明
(15)、功能 0EH
功能描述:读扇区缓冲区
入口参数:AH=0EH
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号 01H 中的说明
(16)、功能 0FH
功能描述:写扇区缓冲区
入口参数:AH=0FH
ES:BX=缓冲区的地址
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号 01H 中的说明
(17)、功能 10H
功能描述:读取驱动器状态
入口参数:AH=10H
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号 01H 中的说明
(18)、功能 11H
功能描述:校准驱动器
入口参数:AH=11H
DL=80H~0FFH:硬盘
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态代码,参见功能号 01H 中的说明
(19)、功能 12H
功能描述:控制器 RAM 诊断
入口参数:AH=12H
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号 01H 中的说明
(20)、功能 13H
功能描述:控制器驱动诊断
入口参数:AH=13H
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号 01H 中的说明
(21)、功能 14H
功能描述:控制器内部诊断
入口参数:AH=14H
出口参数:CF=0——操作成功,否则,AH=状态代码,参见功能号 01H 中的说明
(22)、功能 15H
功能描述:读取磁盘类型
入口参数:AH=15H
DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
出口参数:CF=1——操作失败,AH=状态代码,参见功能号 01H 中的说明, 否则,AH=00H
— 未安装驱动器
=01H — 无改变线支持的软盘驱动器
=02H — 带有改变线支持的软盘驱动器
=03H — 硬盘,CX:DX=512 字节的扇区数
(23)、功能 16H
功能描述:读取磁盘变化状态
入口参数:AH=16H
DL=00H~7FH:软盘
出口参数:CF=0——磁盘未改变,AH=00H,否则,AH=06H,参见功能号 01H 中的说明
(24)、功能 17H
功能描述:设置磁盘类型
入口参数:AH=17H
DL=00H~7FH:软盘 AL=00H — 未用
=01H — 360K 在 360K 驱动器中
=02H — 360K 在 1.2M 驱动器中
=03H — 1.2M 在 1.2M 驱动器中
=04H — 720K 在 720K 驱动器中
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态编码,参见功能号 01H 中的说明
(25)、功能 18H
功能描述:设置格式化媒体类型
入口参数:AH=18H
CH=柱面数
CL=每磁道的扇区数
DL=00H~7FH:软盘
出口参数:CF=0——操作成功,AH=00H,ES:DI=介质类型参数表地址,否则,AH=状态
编码,参见功能号 01H 中的说明
(26)、功能 19H
功能描述:磁头保护,仅在 PS/2 中有效,在此从略
(27)、功能 1AH
功能描述:格式化 ESDI 驱动器,仅在 PS/2 中有效,在此从略
3、串行口服务(Serial Port Service——INT 14H)
00H —初始化通信口
01H —向通信口输出字符
02H —从通信口读入字符
03H —读取通信口状态
04H —扩充初始化通信口
(1)、功能 00H
功能描述:初始化通信口
入口参数:AH=00H
DX=初始化通信口号(0=COM1,1=COM2,……)
AL=初始化参数,参数的说明如下:
波特率 奇偶位 停止位 字的位数
76543210
000 = 110 X0 = None 0 = 1 bit1 0 = 7 bits
001 = 150 01 = Odd 1 = 2 bits1 1 = 8 bits
010 = 300 11 = Even
011 = 600
100 = 1200
101 = 2400
110 = 4800
111 = 9600
对于 PS/2,可用 INT 14H 之功能 04H 和 05H 来初始化其通信速率大于 9600。
出口参数:AH=通信口状态,各状态位为 1 时的含义如下:
位 7— 超时
位 6— 传递移位寄存器为空
位 5— 传递保持寄存器为空
位 4— 发现终止
位 3— 发现帧错误
位 2— 发现奇偶错
位 1— 发现越界错
位 0— 接受数据准备好
AL=Modem 状态
位 7— 接受单线信号诊断
位 6— 环指示器
位 5— 数据发送准备好
位 4— 清除数据,再发送
位 3— 改变在接受线上的信号诊断
位 2— 后边界环指示器
位 1— 改变“数据准备好”状态
位 0— 改变“清除—发送”状态
(2)、功能 01H
功能描述:向通信口输出字符
入口参数:AH=01H
AL=字符
DX=初始化通信口号(0=COM1,1=COM2,……)
出口参数:AL 的值不变
AH 的位 7=0——操作成功,通信口状态,AH 的位 6~0 是其状态位
(3)、功能 02H
功能描述:从通信口读入字符
入口参数:AH=02H
DX=初始化通信口号(0=COM1,1=COM2,……)
出口参数:AL=接受的字符
AH 的位 7=0——操作成功,通信口状态,AH 的位 6~0 是其状态位
(4)、功能 03H
功能描述:读取通信口状态
入口参数:AH=03H
DX=初始化通信口号(0=COM1,1=COM2,……)
出口参数:AH=通信口状态,AL=Modem 状态,参见功能号 00H 中的说明
(5)、功能 04H
功能描述:扩充初始化通信口,仅在 PS/2 中有效,在此从略
4、杂项系统服务(Miscellaneous System Service——INT 15H)
00H — 开盒式磁带机马达
01H — 关盒式磁带机马达
02H — 读盒式磁带机
03H — 写盒式磁带机
0FH — 格式化 ESDI 驱动器定期中断
21H — 读/写自检(POST)错误记录
4FH — 键盘截听
80H — 设备打开
81H — 设备关闭
82H — 进程终止
83H — 事件等待
84H — 读游戏杆
85H — 系统请求(SysReq)键
86H — 延迟
87H — 移动扩展内存块
88H — 读取扩展内存大小
89H — 进入保护模式
90H — 设备等待
91H — 设备加电自检
C0H — 读取系统环境
C1H — 读取扩展 BIOS 数据区地址
C2H — 鼠标图形
C3H — 设置 WatcHdog 超时
C4H — 可编程选项选择
(1)、功能 00H
功能描述:开盒式磁带机马达
入口参数:AH=00H
出口参数:CF=0——操作成功,否则,AH=状态(86H,若未安装盒式磁带机)
(2)、功能 01H
功能描述:关盒式磁带机马达
入口参数:AH=01H
出口参数:CF=0——操作成功,否则,AH=状态(86H,若未安装盒式磁带机)
(3)、功能 02H
功能描述:读盒式磁带机
入口参数:AH=02H
CX=读入的字节数
ES:BX=存放数据的缓冲区地址
出口参数:CF=0——操作成功,DX=实际读入的字节数,ES:BX 指向最后一个字节的后面
地址,否则,AH=状态码,其值含义如下: 01H——CRC 校验码错 80H——非法命令
02H——位信号混乱 86H——未安装盒式磁带机 04H——无发现数据
(4)、功能 03H
功能描述:写盒式磁带机
入口参数:AH=03H
CX=要写入的字节数
ES:BX=已存数据的缓冲区地址
出口参数:CF=0——操作成功,CX=00H,ES:BX 指向最后一个字节的后面地址,否则,AH
=状态码,其值含义如下: 80H——非法命令 86H——未安装盒式磁带机
(5)、功能 0FH
功能描述:格式化 ESDI 驱动器定期中断,仅在 PS/2 中有效,在此从略
(6)、功能 21H
功能描述:读/写自检(POST)错误记录,仅在 PS/2 中有效,在此从略
(7)、功能 4FH
功能描述:键盘截听,仅在 PS/2 中有效,在此从略
(8)、功能 80H
功能描述:打开设备
入口参数:AH=80H
BX=设备号
CX=进程号
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码
(9)、功能 81H
功能描述:关闭设备
入口参数:AH=81H
BX=设备号
CX=进程号
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码
(10)、功能 82H
功能描述:进程终止
入口参数:AH=81H
BX=进程号
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码
(11)、功能 83H
功能描述:事件等待
入口参数:AH=83H 若需要事件等待,则:AL=00H
CX:DX=千分秒
ES:BX=信号量字节的地址
否则,调用参数为 AL=01H
出口参数:若调用时,AL=00H,操作成功——CF=0,否则,CF=1
(12)、功能 84H
功能描述:读游戏杆
入口参数:AH=84H
DX=00H——读取开关设置
=01H——读取阻力输入
出口参数:CF=1H——操作失败,否则,
DX=00H 时,AL=开关设置(位 7~4)
DX=01H 时,AX、BX、CX 和 DX 分别为 A(x)、A(y)、B(x)和 B(y)的值
(13)、功能 85H
功能描述:系统请求(SysReq)键
入口参数:AH=85H
AL=00H——键按下
=01H——键放开
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码
(14)、功能 86H
功能描述:延迟
入口参数:AH=86H
CX:DX=千分秒
出口参数:CF=0——操作成功,AH=00H
(15)、功能 87H
功能描述:从常规内存和扩展内存之间移动扩展内存块
入口参数:AH=87H
CX=移动的字数
ES:SI=GDT(Global Descriptor Table)的地址,其结构定义如下:
偏移量 存储的信息
00h-0Fh 保留,但现全为 0
10h-11h 段的长度(2CX-1 或更大)
12h-14h24 位源地址
15h 访问权限字节(其值为 93h)
16h-17h 保留,但现全为 0
18h-19h 段的长度(2CX-1 或更大)
1Ah-1Ch 24 位目标源地址
1Dh 访问权限字节(其值为 93h)
1Eh-2Fh 保留,但现全为 0
出口参数:CF=0——操作成功,AH=00H,否则,AH=状态码,其含义如下:
01H —— RAM 奇偶错
02H —— 异常中断错
03H —— 20 号线门地址失败
(16)、功能 88H
功能描述:读取扩展内存大小
入口参数:AH=88H
出口参数:AX=扩展内存字节数(以 K为单位)
(17)、功能 89H
功能描述:进入保护模式,CPU 从实模式进入保护模式
入口参数:AH=89H
BH=IRQ0 的中断号
BL=IRQ8 的中断号
ES:SI=GDT 的地址(参见功能号 87H)
出口参数:CF=1——操作失败,AH=0FFH,否则,AH=00H,CS、DS、ES 和 SS 都是用户定
义的选择器
(18)、功能 90H
功能描述:设备等待
入口参数:AH=90H AL=驱动器类型,具体的驱动器类型定义如下:
=00H~7FH——串行再重用设备
=80H~0BFH——可重入式设备
=0C0H~0FFH——等待访问设备,没有自检功能
00h — 磁盘
02h — 键盘
80h — 网络
FDh — 软盘马达启动
01h — 软盘
03h — 点设备(Pointing Device)
FCh — 硬盘复位
FEh — 打印机
ES:BX=对驱动器类型 80H~0FFH 的请求块地址
出口参数:CF=1——操作失败,否则,AH=00H
(19)、功能 91H
功能描述:设备加电自检
入口参数:AH=91H
AL=00H~7FH——串行再重用设备
=80H~0BFH——可重入式设备
出口参数:AH=00H
(20)、功能 0C0H
功能描述:读取系统环境
入口参数:AH=0C0H
出口参数:ES:BX=配置表地址,配置表的定义如下: 偏移量含义说明
00h-01h 表的大小(字节数)
02h 系统模型
03h 系统子模型
04hBIOS 版本号
05h 配置标志,其各位为 1 时的说明如下:
位 7— DMA 通道 3 使用
位 6— 存在从属 8259
位 5— 实时时钟有效
位 4— 键盘截听有效
位 3— 等待外部事件有效
位 2— 扩展 BIOS 数据区
位 1— 微通道设施
位 0— 保留
06h-09h 保留
(21)、功能 C1H
功能描述:读取扩展 BIOS 数据区地址,仅在 PS/2 中有效,在此从略
(22)、功能 C2H
功能描述:鼠标图形,仅在 PS/2 中有效,在此从略
(23)、功能 C3H
功能描述:设置 WatcHdog 超时,仅在 PS/2 中有效,在此从略
(24)、功能 C4H
功能描述:可编程选项选择,仅在 PS/2 中有效,在此从略
5、键盘服务(Keyboard Service——INT 16H)
00H、10H — 从键盘读入字符
01H、11H — 读取键盘状态
02H, 12H — 读取键盘标志
03H — 设置重复率
04H — 设置键盘点击
05H — 字符及其扫描码进栈
(1)、功能 00H 和 10H
功能描述:从键盘读入字符
入口参数:AH=00H——读键盘
=10H——读扩展键盘,可根据 0000:0496H 单元的
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
判断:扩展键盘是否有效
出口参数:AH=键盘的扫描码
AL=字符的 ASCII 码
(2)、功能 01H 和 11H
功能描述:读取键盘状态
入口参数:AH=01H——检查普通键盘
=11H——检查扩展键盘
出口参数:ZF=1——无字符输入,否则,AH=键盘的扫描码,AL=ASCII 码。
(3)、功能 02H 和 12H
功能描述:读取键盘标志
入口参数:AH=02H——普通键盘的移位标志
=12H——扩展键盘的移位标志
出口参数:AL=键盘标志(02H 和 12H 都有效),其各位之值为 1 时的含义如下:
位 7—INS 开状态 位 3—ALT 键按下
位 6—CAPS LOCK 开状态 位 2—CTRL 键按下
位 5—NUM LOCK 开状态 位 1—左 SHIFT 键按下
位 4—SCROLL LOCK 开状态 位 0—右 SHIFT 键按下
AH=扩展键盘的标志(12H 有效),其各位之值为 1 时的含义如下:
位 7—SysReq 键按下 位 3—右 ALT 键按下
位 6—CAPS LOCK 键按下 位 2—右 CTRL 键按下
位 5—NUM LOCK 键按下 位 1—左 ALT 键按下
位 4—SCROLL 键按下 位 0—左 CTRL 键按下
(4)、功能 03H
功能描述:设置重复率
入口参数:AH=03H 对于 PC/AT 和 PS/2:AL=05H
BH=重复延迟
BL=重复率
对于 PCjr:AL=00H——装入缺省的速率和延迟
=01H——增加初始延迟
=02H——重复频率降低一半
=03H——增加延迟和降低一半重复频率
=04H——关闭键盘重复功能
出口参数:无
(5)、功能 04H
功能描述:设置键盘点击
入口参数:AH=04H AL=00H——关闭键盘点击功能
=01H——打开键盘点击功能
出口参数:无
(6)、功能 05H
功能描述:字符及其扫描码进栈
入口参数:AH=05H
CH=字符的描述码
CL=字符的 ASCII 码
出口参数:CF=1——操作成功,AL=00H,否则,AL=01H
6、并行口服务(Parallel Port Service——INT 17H)
00H —向打印机输出字符
01H —初始化打印机端口
02H —读取打印机状态
(1)、功能 00H
功能描述:向打印机输出字符
入口参数:AH=00H
AL=输出的字符
DX=打印机号(0—LPT1,1—LPT2,2—LPT3,……)
出口参数:AH=打印机状态。其各位为 1 时的含义如下:
位 7—打印机空闲 位 3—I/O 错误
位 6—打印机响应 位 2—保留
位 5—无纸 位 1—保留
位 4—打印机被选 位 0—打印机超时
(2)、功能 01H
功能描述:初始化打印机端口
入口参数:AH=01H
DX=打印机号(0—LPT1,1—LPT2,2—LPT3,……)
出口参数:AH=打印机状态。各位定义如下功能 00H 所示
(3)、功能 02H
功能描述:读取打印机状态
入口参数:AH=02H
DX=打印机号(0—LPT1,1—LPT2,2—LPT3,……)
出口参数:AH=打印机状态。各位定义如下功能 00H 所示
7、时钟服务(Clock Service——INT 1AH)
00H — 读取时钟“滴答”计数
01H — 设置时钟“滴答”计数
02H — 读取时间
03H — 设置时间
04H — 读取日期
05H — 设置日期
06H — 设置闹钟
07H — 闹钟复位
0AH — 读取天数计数
0BH — 设置天数计数
80H — 设置声音源信息
(1)、功能 00H
功能描述:读取时钟“滴答”计数
入口参数:AH=00H
出口参数:AL=00H——未过午夜,否则,表示已过午夜
CX:DX=时钟“滴答”计数
(2)、功能 01H
功能描述:设置时钟“滴答”计数
入口参数:AH=01H
CX:DX=时钟“滴答”计数
出口参数:无
(3)、功能 02H
功能描述:读取时间
入口参数:AH=02H
出口参数:CH=BCD 码格式的小时
CL=BCD 码格式的分钟
DH=BCD 码格式的秒
DL=00H——标准时间,否则,夏令时
CF=0——时钟在走,否则,时钟停止
(4)、功能 03H
功能描述:设置时间
入口参数:AH=03H
CH=BCD 码格式的小时
CL=BCD 码格式的分钟
DH=BCD 码格式的秒
DL=00H——标准时间,否则,夏令时
出口参数:无
(5)、功能 04H
功能描述:读取日期
入口参数:AH=04H
出口参数:CH=BCD 码格式的世纪
CL=BCD 码格式的年
DH=BCD 码格式的月
DL=BCD 码格式的日
CF=0——时钟在走,否则,时钟停止
(6)、功能 05H
功能描述:设置日期
入口参数:AH=05H
CH=BCD 码格式的世纪
CL=BCD 码格式的年
DH=BCD 码格式的月
DL=BCD 码格式的日
出口参数:无
(7)、功能 06H
功能描述:设置闹钟
入口参数:AH=06H
CH=BCD 码格式的小时
CL=BCD 码格式的分钟
DH=BCD 码格式的秒
出口参数:CF=0——操作成功,否则,闹钟已设置或时钟已停止
(8)、功能 07H
功能描述:闹钟复位
入口参数:AH=07H
出口参数:无
(9)、功能 0AH
功能描述:读取天数计数,仅在 PS/2 有效,在此从略
(10)、功能 0BH
功能描述:设置天数计数,仅在 PS/2 有效,在此从略
(11)、功能 80H
功能描述:设置声音源信息
入口参数:AH=80H
AL=声音源
=00H——8253 可编程计时器,通道 2
=01H——盒式磁带输入
=02H——I/O 通道上的"Audio In"
=03H——声音产生芯片
出口参数:无
8、直接系统服务(Direct System Service)
INT 00H —“0”作除数
INT 01H — 单步中断
INT 02H — 非屏蔽中断(NMI)
INT 03H — 断点中断
INT 04H — 算术溢出错误
INT 05H — 打印屏幕和 BOUND 越界
INT 06H — 非法指令错误
INT 07H — 处理器扩展无效
INT 08H — 时钟中断
INT 09H — 键盘输入
INT 0BH — 通信口(COM2:)
INT 0CH — 通信口(COM1:)
INT 0EH — 磁盘驱动器输入/输出
INT 11H — 读取设备配置
INT 12H — 读取常规内存大小(返回值 AX 为内存容量,以 K为单位)
INT 18H — ROM BASIC
INT 19H — 重启动系统
INT 1BH — CTRL+BREAK 处理程序
INT 1CH — 用户时钟服务
INT 1DH — 指向显示器参数表指针
INT 1EH — 指向磁盘驱动器参数表指针
INT 1FH — 指向图形字符模式表指针