该文介绍了 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

donation