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) |
|
|
转载于:https://blog.51cto.com/fudexue/1008549