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) |
|
|