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) 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 80*30 彩色文本(CGE400) AL=41 80*50 彩色文本(CGE400) AL=42 640*400 彩色文本(CGE400) |
|
10 |
1 |
置光标类型 |
(CH)0-3=光标起始行 (CH)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 |
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 |
置彩色调板 (320*200图形) |
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,… AL=3 串:char,char,… |
光标返回起始位置 光标跟随移动 光标返回起始位置 光标跟随移动 |
11 |
|
设备检验 |
|
AX=返回值 Bit0=1,配有磁盘 Bit1=1,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串行打印机 Bit14,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) |
|
|