BIOS 功能调用

INT
AH
功能
调用参数      
返回参数
10
0
设置显示方式
AL=00 40×25黑白方式
AL=01 40×25彩色方式
AL=02 80×25黑白方式
AL=03 80×25彩色方式
AL =04 320×200彩×××形方式
AL =05 320×200黑白图形方式
AL=06 640×200黑内图形方式
AL=07 80×25单色文本方式
AL =08 160×200 16×××形(PCjr)
AL=09 320×200 16×××形(PCjr)
AL=0A 640×200 16×××形(PCjr)
AL=0B 保留(EGA 3
AL=0C 保留(EGA)
AL =0D 320×200彩×××形(EGA)
AL =0E 640×200彩×××形(EGA)
AL =0F 640×350黑白图形(EGA)
AL = 10 640×350彩×××形(EGA)
AL=11 640×480单×××形(EGA)
AL=12 640×480 16×××形(EGA)
AL=13 320×200 256×××形(EGA)
AL=40 80x30彩色文本(CGE400)
AL=4l 80x50彩色文本(CGE400)
AL=42 640x400彩色文本(CGE400)
 
10
1
置光标类型
(CH) 0-3=光标起始行
(Cl) 0-3=光标结束行
 
10
2
置光标位置
BH=页号
DH,DL=行,列
 
10
3
读光标位置
BH=页号
CH=光标起始行
DH,DL=行,列
10
4
读光笔位置
 
AH=0光笔未触发
AH=1光笔触发
CH=像素行
BX=像素列
DH=字符行
DL=字符列
10
5
置显示页
AL=页号
 
10
6
屏幕初始化或上卷
AL=上卷行数
AL=0整个窗口空白
BH=卷入行属性
CH=左上角行号
CL=左上角列号
DH=右下角行号
DL=右下角列号
 
10
7
屏幕初始化或下卷
AL=下卷行数
AL=0整个窗口空白
BH=卷入行属性
CH=左上角行号
CL=左上角列号
DH=右下角行号
DL=右下角列号
 
10
8
读光标位置的字符和属性
BH=显示页
AH=属性
AL=字符
10
9
在光标位置显示字符及其属性
BH=显示页
AL=字符
BL=属性
CX=字符重复次数
 
10
A
在光标位置显示字符
BH=显示页
AL=字符
CX=字符重复次数
 
10
B
置彩色调板
(320x200图形)
BH=彩色调板ID
BL=和ID配套使用的颜色
 
10
C
写像素
DX=行(0- 199)
CX=列(0-639)
AL=像素值
 
10
D
读像素
DX=行(0-199)
CX=列(0-639)
AL=像素值
10
E
显示字符
(光标前移)
AL=字符
BL=前景色
 
10
F
取当前显示方式
 
AH=字符列数
AL=显示方式
10
13
显示字符串
(适用AT)
ES:BP=串地址
CX=申长度
DH,DL=起始行,列
BH=页号
AL=0,BL=属性
串:char,char,…
AL=1,BL=属性
串:char,char,…
AL=2
串:char,char,char,attr,…
AL=3
串:char,char,char,attr,…
 
 
 
 
光标返回起始位置
 
光标跟随移动
 
光标返回起始位置
 
光标跟随移动
11
 
设备检验
 
AX=返回值
Bit0=1,配有磁盘
Bit1=l,80287协处理
Bit4,5=01,40×25Bw(彩色板)
Bit4,5==10,80×25Bw(彩色板)
Bit4,5==11,80×25Bw(黑白板)
Bit6,7=软盘驱动器号
Bit9,10,11=RS—232板号
Bit12=游戏适配器
Bit13=串行引印机
Bit 14,15=打印机号
12
 
测定存储器容量
 
AX=字节数(kB)
13
0
软盘系统复位
 
 
13
1
读软盘状态
 
AL=状态字节
13
2
读磁盘
AL=扇区数
CH,CL=磁道号,扇区号
DH,DL=磁头号,驱动器号
ES:BX=数据缓冲区地址
读成功:AH=0,AL=读取的扇区数
读失败:AH=出错代码
13
3
写磁盘
同上
写成功:AH=0,AL=写入的扇区数
写失败:AH=出错代码
13
4
检验磁盘扇区
同上(ES:BX不设置)
成功:AH=0,AL=检验的扇区数
失败:AH=出错代码
13
5
格式化磁盘
ES:BX=磁道地址
成功:AH=0
失败:AH=出错代码
14
0
初始化串行通讯
 
AL=初始化参数
DX=通讯口号(0,1)
AH=通讯口状态
AL=调制解调器状态
14
1
向串行通讯口写字符
AL=字符
DX=通讯口号(0,1)
写成功:(AH) 7=0,AL=字符
写失败:(AH) 7=1,AL=字符
(AH) 0-6=通讯口状态
14
2
从串行通讯口读字符
DX=通讯口号(0,1)
读成功:(AH) 7=0
读失败:(AH) 7=1
(AH) 0-6=通讯口状态
14
3
取通讯口状态
DX=通讯口号(0,1)
AH=通讯口状态
AL=调制解调器状态
15
0
启动盒式磁带马达
 
 
15
1
停止盒式磁带马达
 
 
15
2
磁带分块读
ES:BX=数据传输区地址
CX=字节数
AH=态字节
AH=00功
AH=01冗余检验错
AH=02无数据传输
AH=04无导引
AH=80非法命令
15
3
磁带分块写
DS:BX=数据传输区地址
CX=字节数
同上
16
0
从键盘读字符
 
AL=字符码
AH=扫描码
16
1
读键盘缓冲区字符
 
ZF=0,AL=字符码,AH=扫描码
ZF=1,扫描区空
16
2
取键盘状态字节
 
AL=键盘状态字节
17
0
打印字符
回送状态字节
AL=字符
DX=打印机号
AH=打印机状态字节
 
17
1
初始化打印机
回送状态字节
DX=打印机号
AH=打印机状态字节
17
2
取状态字节
DX=打印机号
AH=打印机状态字节
1A
0
读时钟
 
CH:CL=时:分
DH:DL=秒:1/100秒
1A
1
置时钟
CH:CL=时:分
DH:DL=秒:1/100秒
 
1A
2
读实时钟
(适用AT)
 
CH:CL=时:分(BCD)
DH:DL=秒:1/100秒(BCD)
1A
6
置报警时间
(适用AT)
CH:CL=时:分(BCD)
DH:DL=秒:1/100秒(BCD)
 
1A
7
清除报警
(适用AT)