[OS] BIOS中断

来源:互联网 发布:max函数c语言 编辑:程序博客网 时间:2024/05/29 07:17
INTAH功能调用参数返回参数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 320×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=光标起始行
(CL)0-3=光标结束行 10
2
置光标位置
BH=页号
DH,DL=行,列 10
3
读光标位置
BH=页号
CH=光标起始行
DH,DL=行,列10




4




读光笔位置




 AH=0 光笔未触发
  =1 光笔触发
CH=象素行
BX=象素列
DH=字符行
DL=字符列105置显示页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
置彩色调板(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,attr,char,attr,...
AL=3
串:char,attr,char,attr,...


光标返回起始位置

光标跟随移动 

光标返回起始位置

光标跟随移动11









 设备检验









 AX=返回值
bit0=1,配有磁盘
bit1=1,80287协处理器
bit4,5=01,40×25BW(彩色板)
      =10,80×25BW(彩色板)
      =11,80×25BW(黑白板)
bit6,7=罗盘驱动器
bit9,10,11=RS-232板号
bit12=游戏适配器
bit13=串行打印机
bit14,15=打印机号12 测定存储器容量 AX=字节数(KB)130软盘系统复位  131读软盘状态 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
写失败:(AH)7=1
(AH)0-6=通讯口状态14


2


从串行通讯口读字符


DX=通讯口号(0,1)


读成功:(AH)7=0
       (AL)=字符
写失败:(AH)7=1
(AH)0-6=通讯口状态14
3
取通讯口状态
DX=通讯口号(0,1)
AH=通讯口状态
AL=调制解调器状态150启动盒式磁带马达  151停止盒式磁带马达  15



2



磁带分块读



ES:BX=数据传输区地址
CX=字节数


AH=状态字节
AH=00 读成功
  =01 冗余检验错
  =02 无数据传输
  =04 无引导15
3
磁带分块写
DS:BX=数据传输区地址
CX=字节数同上
160从键盘读字符 AL=字符码
AH=扫描码
16

1

读键盘缓冲区字符

 ZF=0 AL=字符码
     AH=扫描码
ZF=1 缓冲区空162读键盘状态字节 AL=键盘状态字节17
0
打印字符
回送状态字节AL=字符
DX=打印机号AH=打印机状态字节
17
1
初始化打印机
回送状态字节DX=打印机号
AH=打印机状态字节
172取状态字节DX=打印机号AH=打印机状态字节1A
0
读时钟
 CH:CL=时:分
DH:DL=秒:1/100秒1A
1
置时钟
CH:CL=时:分
DH:DL=秒:1/100秒 1A
2
读实时钟
 CH:CL=时:分(BCD)
DH:DL=秒:1/100秒(BCD)1A6置报警时间CH:CL=时:分(BCD)
DH:DL=秒:1/100秒(BCD) 1A7清除报警  http://blog.csdn.net/regionyu/archive/2007/07/25/1708084.aspx