转自:https://blog.csdn.net/jxfgh/article/details/5521861

BIOS中断大全

BIOS中断:

1、显示服务(Video Service——INT 10H) 

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

(1)、功能00H

功能描述:设置显示器模式

入口参数:AH=00H

AL=显示器模式,见下表所示

出口参数:无

可用的显示模式如下所列: 

显示模式显示模式属性显示模式显示模式属性

00H 40×25 16色 文本 01H 40×25 16色 文本

02H80×2516色 文本03H80×2516色 文本

04H320×2004色05H320×2004色

06H640×2002色07H80×252色 文本

08H160×20016色09H320×20016色

0AH640×2004色0BH保留 

0CH保留0DH320×20016色

0EH640×20016色0FH640×3502(单色)

10H640×3504色10H640×35016色

11H640×4802色12H640×48016色

13H640×480256色

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

BX显示模式属性BX显示模式属性

100H640×400256色101H640×480256色

102H800×60016色103H800×600256色

104H1024×76816色105H1024×768256色

106H1280×102416色107H1280×1024256色

108H80×60文本模式109H132×25文本模式

10AH132×43文本模式10BH132×50文本模式

10CH132×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、01H0~7CGA、EGA、MCGA、VGA

02H、03H0~3CGA

02H、03H0~7EGA、MCGA、VGA

07H0~7EGA、VGA

0DH0~7EGA、VGA

0EH0~3EGA、VGA

0FH0~1EGA、VGA

10H0~1EGA、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 —磁盘系统复位0EH —读扇区缓冲区

01H —读取磁盘系统状态0FH —写扇区缓冲区

02H —读扇区10H —读取驱动器状态

03H —写扇区11H —校准驱动器

04H —检验扇区12H —控制器RAM诊断

05H —格式化磁道13H —控制器驱动诊断

06H —格式化坏磁道14H —控制器内部诊断

07H —格式化驱动器15H —读取磁盘类型

08H —读取驱动器参数16H —读取磁盘变化状态

09H —初始化硬盘参数17H —设置磁盘类型

0AH —读长扇区18H —设置格式化媒体类型

0BH —写长扇区19H —磁头保护

0CH —查寻1AH —格式化ESDI驱动器

0DH —硬盘系统复位

(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位

欢迎关注我的公众号“灯珑”,让我们一起了解更多的事物~

你也可能喜欢

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注