DOS的系统杂项服务INT 15H介绍
文章目录
该文介绍了 DOS 下的 int 15h 的功能,可以作为资料备查
功能概述
- 00H — 开盒式磁带机马达
- 01H — 关盒式磁带机马达
- 02H — 读盒式磁带机
- 03H — 写盒式磁带机
- 0FH — 格式化ESDI驱动器定期中断
- 21H — 读/写自检(POST)错误记录
- 4FH — 键盘截听91H —设备加电自检
- 80H — 设备打开C0H —读取系统环境
- 81H — 设备关闭C1H —读取扩展BIOS数据区地址
- 82H — 进程终止C2H —鼠标图形
- 83H — 事件等待C3H —设置WatcHdog超时
- 84H — 读[ 游戏 ]杆C4H —可编程选项选择
- 85H — 系统请求(SysReq)键
- 86H — 延迟
- 87H — 移动扩展内存块
- 88H — 读取扩展内存大小
- 89H — 进入保护模式
- 90H — 设备等待
- 91H — 设备加电自检
- C0H — 读取系统环境
- C1H — 读取扩展BIOS数据区地址
- C2H — 鼠标图形
- C3H — 设置WatcHdog超时
- C4H — 可编程选项选择
(1)、功能00H
- 功能描述:开盒式磁带机马达
- 入口参数:AH = 00H
- 出口参数:CF = 0——操作成功,否则,AH = 状态(86H,若未安装盒式磁带机)
(2)、功能01H
- 功能描述:关盒式磁带机马达
- 入口参数:AH = 01H
- 出口参数:CF = 0——操作成功,否则,AH = 状态(86H,若未安装盒式磁带机)
(3)、功能02H
- 功能描述:读盒式磁带机
- 入口参数:
1 2 3
AH = 02H CX = 读入的字节数 ES:BX = 存放数据的缓冲区地址
- 出口参数:
1 2 3 4 5 6 7 8
CF = 0——操作成功, DX = 实际读入的字节数, ES:BX指向最后一个字节的后面地址,否则,AH = 状态码,其值含义如下: 01H —— CRC校验码错 80H —— 非法命令 02H —— 位信号混乱 86H —— 未安装盒式磁带机 04H —— 无发现数据
(4)、功能03H
- 功能描述:写盒式磁带机
- 入口参数:
1 2 3
AH = 03H CX = 要写入的字节数 ES:BX = 已存数据的缓冲区地址
- 出口参数:
1 2 3 4
CF = 0 —— 操作成功,CX = 00H,ES:BX指向最后一个字节的后面地址, 否则,AH = 状态码,其值含义如下: 80H —— 非法命令 86H —— 未安装盒式磁带机
(5)、功能0FH
- 功能描述:格式化ESDI驱动器定期中断,仅在PS/2中有效,在此从略
(6)、功能21H
- 功能描述:读/写自检(POST)错误记录,仅在PS/2中有效,在此从略
(7)、功能4FH
- 功能描述:键盘截听,仅在PS/2中有效,在此从略
(8)、功能80H
- 功能描述:打开设备
- 入口参数:
1 2 3
AH = 80H BX = 设备号 CX = 进程号
- 出口参数:
1
CF = 0 —— 操作成功,AH = 00H,否则,AH = 状态码
(9)、功能81H
- 功能描述:关闭设备
- 入口参数:
1 2 3
AH = 81H BX = 设备号 CX = 进程号
- 出口参数:
1
CF = 0 —— 操作成功,AH = 00H,否则,AH = 状态码
(10)、功能82H
- 功能描述:进程终止
- 入口参数:
1 2
AH = 81H BX = 进程号
- 出口参数:
1
CF = 0 —— 操作成功,AH = 00H,否则,AH = 状态码
(11)、功能83H
- 功能描述:事件等待
- 入口参数:
1 2 3 4 5
AH = 83H 若需要事件等待,则: AL = 00H CX:DX = 千分秒 ES:BX = 信号量字节的地址 否则,调用参数为AL = 01H
- 出口参数:
1
若调用时,AL = 00H,操作成功——CF = 0,否则,CF = 1
(12)、功能84H
- 功能描述:读[ 游戏 ]杆
- 入口参数:
1 2 3
AH = 84H DX = 00H —— 读取开关设置 = 01H —— 读取阻力输入
- 出口参数:
1 2 3
CF = 1H —— 操作失败,否则, DX = 00H时,AL = 开关设置(位7~4) DX = 01H时,AX、BX、CX和DX分别为A(x)、A(y)、B(x)和B(y)的值
(13)、功能85H
- 功能描述:系统请求(SysReq)键
- 入口参数:
1 2 3
AH = 85H AL = 00H——键按下 = 01H——键放开
- 出口参数:CF = 0——操作成功,AH = 00H,否则,AH = 状态码
(14)、功能86H
- 功能描述:延迟
- 入口参数:
1 2
AH = 86H CX:DX = 千分秒
- 出口参数:CF = 0——操作成功,AH = 00H
(15)、功能87H
- 功能描述:从常规内存和扩展内存之间移动扩展内存块
- 入口参数:
1 2 3 4 5 6 7 8 9 10 11 12 13
AH = 87H CX = 移动的字数 ES:SI = GDT(Global Descriptor Table)的地址,其结构定义如下: 偏移量存储的信息 00h-0Fh保留,但现全为0 10h-11h段的长度(2CX-1或更大) 12h-14h24位源地址 15h访问权限字节(其值为93h) 16h-17h保留,但现全为0 18h-19h段的长度(2CX-1或更大) 1Ah-1Ch 24位目标源地址 1Dh访问权限字节(其值为93h) 1Eh-2Fh保留,但现全为0
- 出口参数:
1 2 3 4
CF = 0——操作成功,AH = 00H,否则,AH = 状态码,其含义如下: 01H —— RAM奇偶错 02H —— 异常中断错 03H —— 20号线门地址失败
(16)、功能88H
- 功能描述:读取扩展内存大小
- 入口参数:AH = 88H
- 出口参数:AX = 扩展内存字节数(以K为单位)
(17)、功能89H
- 功能描述:进入保护模式,CPU从实模式进入保护模式
- 入口参数:
1 2 3 4
AH = 89H BH = IRQ0的中断号 BL = IRQ8的中断号 ES:SI = GDT的地址(参见功能号87H)
- 出口参数:
1 2
CF = 1——操作失败,AH = 0FFH, 否则,AH = 00H,CS、DS、ES和SS都是用户定义的选择器
(18)、功能90H
- 功能描述:设备等待
- 入口参数:
1 2 3 4 5 6 7 8 9 10 11 12 13
AH = 90H AL = 驱动器类型,具体的驱动器类型定义如下: = 00H~7FH——串行再重用设备 = 80H~0BFH——可重入式设备 = 0C0H~0FFH——等待访问设备,没有自检功能 00h — 磁盘 02h — 键盘 80h — 网络 FDh — 软盘马达启动01h — 软盘 03h — 点设备(Pointing Device) FCh — 硬盘复位 FEh — 打印机 ES:BX = 对驱动器类型80H~0FFH的请求块地址
- 出口参数:
1
CF = 1——操作失败,否则,AH = 00H
(19)、功能91H
- 功能描述:设备加电自检
- 入口参数:
1 2 3
AH = 91H AL = 00H~7FH——串行再重用设备 = 80H~0BFH——可重入式设备
- 出口参数:AH = 00H
(20)、功能0C0H
- 功能描述:读取系统环境
- 入口参数:AH = 0C0H
- 出口参数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
成功CF=0并且AH=0,ES:BX = 配置表地址,配置表的定义如下: 偏移量含义说明 00h-01h表的大小(字节数) 02h系统模型 03h系统子模型 04hBIOS版本号 05h配置标志,其各位为1时的说明如下: 位7—DMA通道3使用 位6—存在从属8259 位5—实时时钟有效 位4—键盘截听有效 位3—等待外部事件有效 位2—扩展BIOS数据区 位1—微通道设施 位0—保留 06h-09h保留
(21)、功能C1H
- 功能描述:读取扩展BIOS数据区地址,仅在PS/2中有效,在此从略
(22)、功能C2H
- 功能描述:鼠标图形,仅在PS/2中有效,在此从略
(23)、功能C3H
- 功能描述:设置WatcHdog超时,仅在PS/2中有效,在此从略
(24)、功能C4H
- 功能描述:可编程选项选择,仅在PS/2中有效,在此从略
欢迎访问我的博客:https://whowin.cn
email: hengch@163.com
文章作者 whowin
上次更新 2008-04-04