x86 系统中断

x86 系统中断

      ______________________________________________________________________________
      直接系统服务(Direct System Service) 

      INT 00H - “0”作除数
      INT 01H - 单步中断
      INT 02H - 非屏蔽中断(NMI)
      INT 03H - 断点中断
      INT 04H - 算术溢出错误
      INT 05H - 打印屏幕和BOUND越界
      INT 06H - 非法指令错误
      INT 07H - 处理器扩展无效
      INT 08H - 时钟中断
      INT 09H - 键盘输入
      INT 0BH - 通信口(COM2:)
      INT 0CH - 通信口(COM1:)
      INT 0EH - 磁盘驱动器输入/输出
      INT 11H - 读取设备配置
      INT 12H - 读取常规内存大小(返回值AX为内存容量,以K为单位)
      INT 18H - ROM BASIC
      INT 19H - 重启动系统
      INT 1BH - CTRL+BREAK处理程序
      INT 1CH - 用户时钟服务
      INT 1DH - 指向显示器参数表指针
      INT 1EH - 指向磁盘驱动器参数表指针
      INT 1FH - 指向图形字符模式表指针 


      ______________________________________________________________________________
      显示服务(Video Service -- INT 10H) 

      00H - 设置显示器模式
      01H - 设置光标形状 
      02H - 设置光标位置 
      03H - 读取光标信息 
      04H - 读取光笔位置
      05H - 设置显示页
      06H、07H - 初始化或滚屏
      08H - 读光标处的字符及其属性
      09H - 在光标处按指定属性显示字符
      0AH - 在当前光标处显示字符
      0BH - 设置调色板、背景色或边框
      0CH - 写图形象素
      0DH - 读图形象素
      0EH - 在Teletype模式下显示字符
      0FH - 读取显示器模式
      10H - 颜色 
      11H - 字体
      12H - 显示器的配置
      13H - 在Teletype模式下显示字符串
      1AH - 读取/设置显示组合编码
      1BH - 读取功能/状态信息
      1CH - 保存/恢复显示器状态

      ------------------------------------------------------------------------------------------------
      (1)、功能00H
      功能描述: 设置显示器模式 
      入口参数: 
      AH=00H
      AL=显示器模式,见下表所示 
      出口参数: 无 
      可用的显示模式如下所列: 
      显示模式 显示模式属性 显示模式 显示模式属性  
      00H 40×25 16色 文本 01H 40×25 16色 文本 
      02H 80×25 16色 文本 03H 80×25 16色 文本 
      04H 320×200 4色 05H 320×200 4色 
      06H 640×200 2色 07H 80×25 2色 文本 
      08H 160×200 16色 09H 320×200 16色 
      0AH 640×200 4色 0BH 保留   
      0CH 保留   0DH 320×200 16色 
      0EH 640×200 16色 0FH 640×350 2(单色) 
      10H 640×350 4色 10H 640×350 16色 
      11H 640×480 2色 12H 640×480 16色 
      13H 640×480 256色  
      对于超级VGA显示卡,我们可用AX=4F02H和下列BX的值来设置其显示模式。 
      BX 显示模式属性 BX 显示模式属性  
      100H 640×400 256色 101H 640×480 256色 
      102H 800×600 16色 103H 800×600 256色 
      104H 1024×768 16色 105H 1024×768 256色 
      106H 1280×1024 16色 107H 1280×1024 256色 
      108H 80×60 文本模式 109H 132×25 文本模式 
      10AH 132×43 文本模式 10BH 132×50 文本模式 
      10CH 132×60 文本模式  

      (2)、功能01H 
      功能描述: 设置光标形状 
      入口参数: 
      AH=01H
      CH低四位=光标的起始行
      CL低四位=光标的终止行 
      出口参数: 无 

      (3)、功能02H 
      功能描述: 用文本坐标下设置光标位置 
      入口参数: 
      AH=02H
      BH=显示页码
      DH=行(Y坐标)
      DL=列(X坐标) 
      出口参数: 无 

      (4)、功能03H 
      功能描述: 在文本坐标下,读取光标各种信息 
      入口参数: 
      AH=03H
      BH=显示页码 
      出口参数: 
      CH=光标的起始行
      CL=光标的终止行
      DH=行(Y坐标)
      DL=列(X坐标) 

      (5)、功能04H 
      功能描述: 获取当前状态和光笔位置 
      入口参数: AH=04H 
      出口参数: 
      AH=00h -- 光笔未按下/未触发,01h -- 光笔已按下/已触发
      BX=象素列(图形X坐标)
      CH=象素行(图形Y坐标,显示模式:04H~06H)
      CX=象素行(图形Y坐标,显示模式:0DH~10H)
      DH=字符行(文本Y坐标)
      DL=字符列(文本X坐标) 

      (6)、功能05H 
      功能描述: 设置显示页,即选择活动的显示页 
      入口参数: AH=05H
      AL=显示页
      对于CGA、EGA、MCGA和VGA,其显示页如下表所列: 模式 页数 显示器类型 
      00H、01H 0~7 CGA、EGA、MCGA、VGA 
      02H、03H 0~3 CGA 
      02H、03H 0~7 EGA、MCGA、VGA 
      07H 0~7 EGA、VGA 
      0DH 0~7 EGA、VGA 
      0EH 0~3 EGA、VGA 
      0FH 0~1 EGA、VGA 
      10H 0~1 EGA、VGA 
      对于PCjr: 
      AL= 80H -- 读取CRT/CPU页寄存器
      81H -- 设置CPU页寄存器
      82H -- 设置CRT页寄存器
      83H -- 设置CRT/CPU页寄存器 
      BH=CRT页(子功能号82H和83H)
      BL=CPU页(子功能号81H和83H) 
      出口参数: 对于前者,无出口参数,但对PCjr在子功能80H~83H调用下,有:BH=CRT页寄存器,BL=CPU页寄存器 

      (7)、功能06H和07H 
      功能描述: 初始化屏幕或滚屏 
      入口参数: 
      AH=06H -- 向上滚屏
      07H -- 向下滚屏
      AL=滚动行数(0 -- 清窗口)
      BH=空白区域的缺省属性
      (CH、CL)=窗口的左上角位置(Y坐标,X坐标)
      (DH、DL)=窗口的右下角位置(Y坐标,X坐标) 
      出口参数: 无 

      (8)、功能08H 
      功能描述: 读光标处的字符及其属性 
      入口参数: AH=08H
      BH=显示页码 
      出口参数: 
      AH=属性
      AL=字符 

      (9)、功能09H 
      功能描述: 在当前光标处按指定属性显示字符 
      入口参数: 
      AH=09H
      AL=字符
      BH=显示页码
      BL=属性(文本模式)或颜色(图形模式)
      CX=重复输出字符的次数 
      出口参数: 无 

      (10)、功能0AH 
      功能描述: 在当前光标处按原有属性显示字符 
      入口参数: 
      AH=0AH
      AL=字符
      BH=显示页码
      BL=颜色(图形模式,仅适用于PCjr)
      CX=重复输出字符的次数 
      出口参数: 无 

      (11)、功能0BH 
      功能描述: 设置调色板、背景色或边框 
      入口参数: AH=0BH
      设置颜色:
      BH=00H
      BL=颜色
      选择调色板:
      BH=01H
      BL=调色板(320×200、4种颜色的图形模式) 
      出口参数: 无 

      (12)、功能0CH 
      功能描述: 写图形象素 
      入口参数: AH=0CH
      AL=象素值
      BH=页码
      (CX、DX)=图形坐标列(X)、行(Y) 
      出口参数: 无 

      (13)、功能0DH 
      功能描述: 读图形象素 
      入口参数: 
      AH=0DH
      BH=页码
      (CX、DX)=图形坐标列(X)、行(Y) 
      出口参数: AL=象素值 

      (14)、功能0EH 
      功能描述: 在Teletype模式下显示字符 
      入口参数: 
      AH=0EH
      AL=字符
      BH=页码
      BL=前景色(图形模式) 
      出口参数: 无 

      (15)、功能0FH 
      功能描述: 读取显示器模式 
      入口参数: AH=0FH 
      出口参数: AH=屏幕字符的列数
      AL=显示模式(参见功能00H中的说明)
      BH=页码 

      (16)、功能10H 
      功能描述: 颜色中断。其子功能说明如下:功能号 子功能名称功能号 子功能名称 
      00H - 设置调色板寄存器 01H - 设置边框颜色 
      02H - 设置调色板和边框 03H - 触发闪烁/亮显位 
      07H - 读取调色板寄存器 08H - 读取边框颜色 
      09H - 读取调色板和边框 10H - 设置颜色寄存器 
      12H - 设置颜色寄存器块 13H - 设置颜色页状态 
      15H - 读取颜色寄存器 17H - 读取颜色寄存器块 
      1AH - 读取颜色页状态 1BH - 设置灰度值 

      (17)、功能11H 
      功能描述: 字体中断。其子功能说明如下: 子功能号 子功能名称 
      00H 装入用户字体和可编程控制器 
      10H 装入用户字体和可编程控制器 
      01H 装入8×14 ROM字体和可编程控制器 
      11H 装入8×14 ROM字体和可编程控制器 
      02H 装入8×8 ROM字体和可编程控制器 
      12H 装入8×8 ROM字体和可编程控制器 
      03H 设置块指示器 
      04H 装入8×16 ROM字体和可编程控制器 
      14H 装入8×16 ROM字体和可编程控制器 
      20H 设置INT 1Fh字体指针 
      21H 为用户字体设置INT 43h 
      22H 为8×14 ROM字体设置INT 43H 
      23H 为8×8 ROM字体设置INT 43H 
      24H 为8×16 ROM字体设置INT 43H 
      30H 读取字体信息 

      (18)、功能12H 
      功能描述: 显示器的配置中断。其子功能说明如下:功能号 功能名称 功能号 功能名称 
      10H - 读取配置信息 20H - 选择屏幕打印 
      30H - 设置扫描行 31H - 允许/禁止装入缺省调色板 
      32H - 允许/禁止显示 33H - 允许/禁止灰度求和 
      34H - 允许/禁止光标模拟 35H - 切换活动显示 
      36H - 允许/禁止屏幕刷新 

      (19)、功能13H 
      功能描述: 在Teletype模式下显示字符串 
      入口参数: 
      AH=13H
      BH=页码
      BL=属性(若AL=00H或01H)
      CX=显示字符串长度
      (DH、DL)=坐标(行、列)
      ES:BP=显示字符串的地址 AL= 显示输出方式 
      0 -- 字符串中只含显示字符,其显示属性在BL中。显示后,光标位置不变 
      1 -- 字符串中只含显示字符,其显示属性在BL中。显示后,光标位置改变 
      2 -- 字符串中含显示字符和显示属性。显示后,光标位置不变 
      3 -- 字符串中含显示字符和显示属性。显示后,光标位置改变 
      出口参数: 无 

      (20)、功能1AH 
      功能描述: 读取/设置显示组合编码,仅PS/2有效,在此从略 

      (21)、功能1BH 
      功能描述: 读取功能/状态信息,仅PS/2有效,在此从略 

      (22)、功能1CH 
      功能描述: 保存/恢复显示器状态,仅PS/2有效,在此从略


      ______________________________________________________________________________
      直接磁盘服务(Direct Disk Service -- INT 13H)

      00H - 磁盘系统复位 
      01H - 读取磁盘系统状态 
      02H - 读扇区 
      03H - 写扇区 
      04H - 检验扇区 
      05H - 格式化磁道 
      06H - 格式化坏磁道 
      07H - 格式化驱动器 
      08H - 读取驱动器参数 
      09H - 初始化硬盘参数 
      0AH - 读长扇区 
      0BH - 写长扇区 
      0CH - 查寻 
      0DH - 硬盘系统复位 
      0EH - 读扇区缓冲区 
      0FH - 写扇区缓冲区 
      10H - 读取驱动器状态 
      11H - 校准驱动器 
      12H - 控制器RAM诊断 
      13H - 控制器驱动诊断 
      14H - 控制器内部诊断 
      15H - 读取磁盘类型
      16H - 读取磁盘变化状态 
      17H - 设置磁盘类型
      18H - 设置格式化媒体类型 
      19H - 磁头保护 
      1AH - 格式化ESDI驱动器 
      -------------------------------------------------------------------------------------------------

      (1)、功能00H
      功能描述: 磁盘系统复位 
      入口参数: AH=00H
      DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 

      (2)、功能01H 
      功能描述: 读取磁盘系统状态 
      入口参数: AH=01H
      DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘 
      出口参数: 
      AH=00H
      AL=状态代码,其定义如下:
      00H - 无错 
      01H - 非法命令 
      02H - 地址目标未发现
      03H - 磁盘写保护(软盘) 
      04H - 扇区未发现
      05H - 复位失败(硬盘) 
      06H - 软盘取出(软盘)
      07H - 错误的参数表(硬盘) 
      08H - DMA越界(软盘)
      09H - DMA超过64K界限 
      0AH - 错误的扇区标志(硬盘)
      0BH - 错误的磁道标志(硬盘) 
      0CH - 介质类型未发现(软盘)
      0DH - 格式化时非法扇区号(硬盘) 
      0EH - 控制数据地址目标被发现(硬盘)
      0FH - DMA仲裁越界(硬盘) 
      10H - 不正确的CRC或ECC编码
      11H - ECC校正数据错(硬盘) 
      CRC:Cyclic Redundancy Check code
      ECC:Error Checking & Correcting code 
      20H - 控制器失败
      40H - 查找失败 
      80H - 磁盘超时(未响应)
      AAH - 驱动器未准备好(硬盘) 
      BBH - 未定义的错误(硬盘)
      CCH - 写错误(硬盘) 
      E0H - 状态寄存器错(硬盘)
      FFH - 检测操作失败(硬盘) 

      (3)、功能02H 
      功能描述: 读扇区 
      入口参数: 
      AH=02H
      AL=扇区数
      CH=柱面
      CL=扇区
      DH=磁头
      DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
      ES:BX=缓冲区的地址 
      出口参数: CF=0 -- 操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明 

      (4)、功能03H 
      功能描述: 写扇区 
      入口参数: 
      AH=03H
      AL=扇区数
      CH=柱面
      CL=扇区
      DH=磁头
      DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
      ES:BX=缓冲区的地址 
      出口参数: CF=0 -- 操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明 

      (5)、功能04H 
      功能描述: 检验扇区 
      入口参数: 
      AH=04H
      AL=扇区数
      CH=柱面
      CL=扇区
      DH=磁头
      DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
      ES:BX=缓冲区的地址 
      出口参数: CF=0 -- 操作成功,AH=00H,AL=被检验的扇区数,否则,AH=状态代码,参见功能号01H中的说明 

      (6)、功能05H 
      功能描述: 格式化磁道 
      入口参数: AH=05H
      AL=交替(Interleave)
      CH=柱面
      DH=磁头
      DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘
      ES:BX=地址域列表的地址 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 

      (7)、功能06H 
      功能描述: 格式化坏磁道 
      入口参数: 
      AH=06H
      AL=交替
      CH=柱面
      DH=磁头
      DL=80H~0FFH:硬盘
      ES:BX=地址域列表的地址 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 

      (8)、功能07H 
      功能描述: 格式化驱动器 
      入口参数: 
      AH=07H
      AL=交替
      CH=柱面
      DL=80H~0FFH:硬盘 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 

      (9)、功能08H 
      功能描述: 读取驱动器参数 
      入口参数: AH=08H
      DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘 
      出口参数: CF=1 -- 操作失败,AH=状态代码,参见功能号01H中的说明,否则, BL
      =01H - 360K 
      =02H - 1.2M 
      =03H - 720K 
      =04H - 1.44M 
      CH=柱面数的低8位
      CL的位7-6=柱面数的该2位
      CL的位5-0=扇区数
      DH=磁头数
      DL=驱动器数
      ES:DI=磁盘驱动器参数表地址

      (10)、功能09H 
      功能描述: 初始化硬盘参数 
      入口参数: AH=09H
      DL=80H~0FFH:硬盘(还有有关参数表问题,在此从略) 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 

      (11)、功能0AH 
      功能描述: 读长扇区,每个扇区随带四个字节的ECC编码 
      入口参数: AH=0AH
      AL=扇区数
      CH=柱面
      CL=扇区
      DH=磁头
      DL=80H~0FFH:硬盘
      ES:BX=缓冲区的地址 
      出口参数: CF=0 -- 操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明 

      (12)、功能0BH 
      功能描述: 写长扇区,每个扇区随带四个字节的ECC编码 
      入口参数: AH=0BH
      AL=扇区数
      CH=柱面
      CL=扇区
      DH=磁头
      DL=80H~0FFH:硬盘
      ES:BX=缓冲区的地址 
      出口参数: CF=0 -- 操作成功,AH=00H,AL=传输的扇区数,否则,AH=状态代码,参见功能号01H中的说明 

      (13)、功能0CH 
      功能描述: 查寻 
      入口参数: AH=0CH
      CH=柱面的低8位
      CL(7-6位)=柱面的高2位
      DH=磁头
      DL=80H~0FFH:硬盘 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 

      (14)、功能0DH 
      功能描述: 硬盘系统复位 
      入口参数: AH=0DH
      DL=80H~0FFH:硬盘 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 

      (15)、功能0EH 
      功能描述: 读扇区缓冲区 
      入口参数: AH=0EH
      ES:BX=缓冲区的地址 
      出口参数: CF=0 -- 操作成功,否则,AH=状态代码,参见功能号01H中的说明 

      (16)、功能0FH 
      功能描述: 写扇区缓冲区 
      入口参数: AH=0FH
      ES:BX=缓冲区的地址 
      出口参数: CF=0 -- 操作成功,否则,AH=状态代码,参见功能号01H中的说明

      (17)、功能10H 
      功能描述: 读取驱动器状态 
      入口参数: AH=10H
      DL=80H~0FFH:硬盘 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 

      (18)、功能11H 
      功能描述: 校准驱动器 
      入口参数: AH=11H
      DL=80H~0FFH:硬盘 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态代码,参见功能号01H中的说明 

      (19)、功能12H 
      功能描述: 控制器RAM诊断 
      入口参数: AH=12H 
      出口参数: CF=0 -- 操作成功,否则,AH=状态代码,参见功能号01H中的说明 

      (20)、功能13H 
      功能描述: 控制器驱动诊断 
      入口参数: AH=13H 
      出口参数: CF=0 -- 操作成功,否则,AH=状态代码,参见功能号01H中的说明 

      (21)、功能14H 
      功能描述: 控制器内部诊断 
      入口参数: AH=14H 
      出口参数: CF=0 -- 操作成功,否则,AH=状态代码,参见功能号01H中的说明 

      (22)、功能15H 
      功能描述: 读取磁盘类型 
      入口参数: AH=15H
      DL=驱动器,00H~7FH:软盘;80H~0FFH:硬盘 
      出口参数: CF=1 -- 操作失败,AH=状态代码,参见功能号01H中的说明, 否则,AH =00H - 未安装驱动器 
      =01H - 无改变线支持的软盘驱动器 
      =02H - 带有改变线支持的软盘驱动器 
      =03H - 硬盘,CXX=512字节的扇区数 

      (23)、功能16H 
      功能描述: 读取磁盘变化状态 
      入口参数: AH=16H
      DL=00H~7FH:软盘 
      出口参数: CF=0 -- 磁盘未改变,AH=00H,否则,AH=06H,参见功能号01H中的说明 

      (24)、功能17H 
      功能描述: 设置磁盘类型 
      入口参数: AH=17H
      DL=00H~7FH:软盘 AL =00H - 未用 
      =01H - 360K在360K驱动器中 
      =02H - 360K在1.2M驱动器中 
      =03H - 1.2M在1.2M驱动器中 
      =04H - 720K在720K驱动器中 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态编码,参见功能号01H中的说明 

      (25)、功能18H 
      功能描述: 设置格式化媒体类型 
      入口参数: AH=18H
      CH=柱面数
      CL=每磁道的扇区数
      DL=00H~7FH:软盘 
      出口参数: CF=0 -- 操作成功,AH=00H,ESI=介质类型参数表地址,否则,AH=状态编码,参见功能号01H中的说明 

      (26)、功能19H 
      功能描述: 磁头保护,仅在PS/2中有效,在此从略 

      (27)、功能1AH 
      功能描述: 格式化ESDI驱动器,仅在PS/2中有效,在此从略 


      ______________________________________________________________________________
      串行口服务(Serial Port Service -- INT 14H) 

      00H - 初始化通信口 
      01H - 向通信口输出字符 
      02H - 从通信口读入字符 
      03H - 读取通信口状态 
      04H - 扩充初始化通信口
      ------------------------------------------------------------------------------------------------

      (1)、功能00H
      功能描述: 初始化通信口 
      入口参数: AH=00H
      DX=初始化通信口号(0=COM1,1=COM2,……)
      AL=初始化参数,参数的说明如下: 波特率 奇偶位 停止位 字的位数 
      765 43 2 10 
      000 = 110 X0 = None 0 = 1 bit 10 = 7 bits 
      001 = 150 01 = Odd 1 = 2 bits 11 = 8 bits 
      010 = 300 11 = Even 
      011 = 600 
      100 = 1200 
      101 = 2400 
      110 = 4800 
      111 = 9600 
      对于PS/2,可用INT 14H之功能04H和05H来初始化其通信速率大于9600。
      出口参数: AH=通信口状态,各状态位为1时的含义如下: 位7-超时
      位6-传递移位寄存器为空
      位5-传递保持寄存器为空
      位4-发现终止 位3-发现帧错误
      位2-发现奇偶错
      位1-发现越界错
      位0-接受数据准备好 
      AL=Modem状态
      位7-接受单线信号诊断
      位6-环指示器
      位5-数据发送准备好
      位4-清除数据,再发送 位3-改变在接受线上的信号诊断
      位2-后边界环指示器
      位1-改变“数据准备好”状态
      位0-改变“清除-发送”状态

      (2)、功能01H 
      功能描述: 向通信口输出字符 
      入口参数: AH=01H
      AL=字符
      DX=初始化通信口号(0=COM1,1=COM2,……) 
      出口参数: AL的值不变
      AH的位7=0 -- 操作成功,通信口状态,AH的位6~0是其状态位 

      (3)、功能02H 
      功能描述: 从通信口读入字符 
      入口参数: AH=02H
      DX=初始化通信口号(0=COM1,1=COM2,……) 
      出口参数: AL=接受的字符
      AH的位7=0 -- 操作成功,通信口状态,AH的位6~0是其状态位 

      (4)、功能03H 
      功能描述: 读取通信口状态 
      入口参数: AH=03H
      DX=初始化通信口号(0=COM1,1=COM2,……) 
      出口参数: AH=通信口状态,AL=Modem状态,参见功能号00H中的说明 

      (5)、功能04H 
      功能描述: 扩充初始化通信口,仅在PS/2中有效,在此从略


      ______________________________________________________________________________
      杂项系统服务(Miscellaneous System Service -- INT 15H) 

      00H - 开盒式磁带机马达 
      01H - 关盒式磁带机马达 
      02H - 读盒式磁带机 
      03H - 写盒式磁带机 
      0FH - 格式化ESDI驱动器定期中断 
      21H - 读/写自检(POST)错误记录 
      4FH - 键盘截听 
      80H - 设备打开 
      81H - 设备关闭 
      82H - 进程终止 
      83H - 事件等待 
      84H - 读游戏杆 
      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
      功能描述: 读盒式磁带机 
      入口参数: AH=02H
      CX=读入的字节数
      ES:BX=存放数据的缓冲区地址 
      出口参数: CF=0 -- 操作成功,DX=实际读入的字节数,ES:BX指向最后一个字节的后面地址,否则,AH=状态码,其值含义如下: 01H --
      CRC校验码错 80H -- 非法命令 
      02H -- 位信号混乱 86H -- 未安装盒式磁带机 
      04H -- 无发现数据 

      (4)、功能03H
      功能描述: 写盒式磁带机 
      入口参数: AH=03H
      CX=要写入的字节数
      ES:BX=已存数据的缓冲区地址 
      出口参数: 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
      功能描述: 打开设备 
      入口参数: AH=80H
      BX=设备号
      CX=进程号 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态码 

      (9)、功能81H
      功能描述: 关闭设备 
      入口参数: AH=81H
      BX=设备号
      CX=进程号 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态码 

      (10)、功能82H
      功能描述: 进程终止 
      入口参数: AH=81H
      BX=进程号 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态码 

      (11)、功能83H
      功能描述: 事件等待 
      入口参数: AH=83H 若需要事件等待,则: AL=00H
      CX:DX=千分秒
      ES:BX=信号量字节的地址 
      否则,调用参数为 AL=01H 
      出口参数: 若调用时,AL=00H,操作成功 -- CF=0,否则,CF=1 

      (12)、功能84H
      功能描述: 读游戏杆 
      入口参数: AH=84H
      DX=00H -- 读取开关设置
       =01H -- 读取阻力输入 
      出口参数: CF=1H -- 操作失败,否则,
       DX=00H时,AL=开关设置(位7~4)
       DX=01H时,AX、BX、CX和DX分别为A(x)、A(y)、B(x)和B(y)的值

      (13)、功能85H 
      功能描述: 系统请求(SysReq)键 
      入口参数: AH=85H
      AL=00H -- 键按下
       =01H -- 键放开 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态码 

      (14)、功能86H 
      功能描述: 延迟 
      入口参数: AH=86H
      CXX=千分秒 
      出口参数: CF=0 -- 操作成功,AH=00H 

      (15)、功能87H 
      功能描述: 从常规内存和扩展内存之间移动扩展内存块 
      入口参数: AH=87H
      CX=移动的字数
      ES:SI=GDT(Global Descriptor Table)的地址,其结构定义如下: 偏移量 存储的信息 
      00h-0Fh 保留,但现全为0 
      10h-11h 段的长度(2CX-1或更大) 
      12h-14h 24位源地址 
      15h 访问权限字节(其值为93h) 
      16h-17h 保留,但现全为0 
      18h-19h 段的长度(2CX-1或更大) 
      1Ah-1Ch 24位目标源地址 
      1Dh 访问权限字节(其值为93h) 
      1Eh-2Fh 保留,但现全为0 
      出口参数: CF=0 -- 操作成功,AH=00H,否则,AH=状态码,其含义如下:
        01H -- RAM奇偶错
        02H -- 异常中断错
        03H -- 20号线门地址失败 

      (16)、功能88H 
      功能描述: 读取扩展内存大小 
      入口参数: AH=88H 
      出口参数: AX=扩展内存字节数(以K为单位) 

      (17)、功能89H 
      功能描述: 进入保护模式,CPU从实模式进入保护模式 
      入口参数: AH=89H
      BH=IRQ0的中断号
      BL=IRQ8的中断号
      ES:SI=GDT的地址(参见功能号87H) 
      出口参数: CF=1 -- 操作失败,AH=0FFH,否则,AH=00H,CS、DS、ES和SS都是用户定义的选择器
 
      (18)、功能90H 
      功能描述: 设备等待 
      入口参数: AH=90H AL =驱动器类型,具体的驱动器类型定义如下:
      =00H~7FH -- 串行再重用设备
      =80H~0BFH -- 可重入式设备
      =0C0H~0FFH -- 等待访问设备,没有自检功能 
      00h - 磁盘
      02h - 键盘
      80h - 网络
      FDh - 软盘马达启动 01h - 软盘
      03h - 点设备(Pointing Device)
      FCh - 硬盘复位
      FEh - 打印机 
      ES:BX=对驱动器类型80H~0FFH的请求块地址
      出口参数: CF=1 -- 操作失败,否则,AH=00H 

      (19)、功能91H 
      功能描述: 设备加电自检 
      入口参数: AH=91H
      AL=00H~7FH -- 串行再重用设备
       =80H~0BFH -- 可重入式设备 
      出口参数: AH=00H 

      (20)、功能0C0H 
      功能描述: 读取系统环境 
      入口参数: AH=0C0H 
      出口参数: ES:BX=配置表地址,配置表的定义如下: 偏移量 含义说明 
      00h-01h 表的大小(字节数) 
      02h 系统模型 
      03h 系统子模型 
      04h BIOS版本号 
      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中有效,在此从略 


      ______________________________________________________________________________
      键盘服务(Keyboard Service -- INT 16H)

      00H、10H - 从键盘读入字符 
      01H、11H - 读取键盘状态 
      02H, 12H - 读取键盘标志 
      03H - 设置重复率 
      04H - 设置键盘点击
      05H - 字符及其扫描码进栈 
      ------------------------------------------------------------------------------------------------

      (1)、功能00H和10H
      功能描述: 从键盘读入字符 
      入口参数: AH
      =00H -- 读键盘 
      =10H -- 读扩展键盘,可根据0000:0496H单元的内容判断:扩展键盘是否有效 
      出口参数: AH=键盘的扫描码
      AL=字符的ASCII码 

      (2)、功能01H和11H
      功能描述: 读取键盘状态 
      入口参数: AH =01H -- 检查普通键盘 
      =11H -- 检查扩展键盘 
      出口参数: ZF=1 -- 无字符输入,否则,AH=键盘的扫描码,AL=ASCII码。 

      (3)、功能02H和12H
      功能描述: 读取键盘标志 
      入口参数: AH =02H -- 普通键盘的移位标志 
      =12H -- 扩展键盘的移位标志 
      出口参数: AL=键盘标志(02H和12H都有效),其各位之值为1时的含义如下: 位7-INS开状态
      位3-ALT键按下 
      位6-CAPS LOCK开状态 位2-CTRL键按下 
      位5-NUM LOCK开状态 位1-左SHIFT键按下 
      位4-SCROLL LOCK开状态 位0-右SHIFT键按下 
      AH=扩展键盘的标志(12H有效),其各位之值为1时的含义如下:
      位7-SysReq键按下 位3-右ALT键按下 
      位6-CAPS LOCK键按下 位2-右CTRL键按下 
      位5-NUM LOCK键按下 位1-左ALT键按下 
      位4-SCROLL键按下 位0-左CTRL键按下 

      (4)、功能03H
      功能描述: 设置重复率 
      入口参数: AH=03H 对于PC/AT和PS/2: AL=05H
      BH=重复延迟
      BL=重复率 
      对于PCjr: AL
      =00H -- 装入缺省的速率和延迟
      =01H -- 增加初始延迟
      =02H -- 重复频率降低一半
      =03H -- 增加延迟和降低一半重复频率
      =04H -- 关闭键盘重复功能 
      出口参数: 无 

      (5)、功能04H
      功能描述: 设置键盘点击 
      入口参数: AH=04H AL =00H -- 关闭键盘点击功能 
      =01H -- 打开键盘点击功能 
      出口参数: 无 

      (6)、功能05H
      功能描述: 字符及其扫描码进栈 
      入口参数: AH=05H
      CH=字符的描述码
      CL=字符的ASCII码 
      出口参数: CF=1 -- 操作成功,AL=00H,否则,AL=01H 


      ______________________________________________________________________________
      并行口服务(Parallel Port Service -- INT 17H) 

      00H - 向打印机输出字符 
      01H - 初始化打印机端口 
      02H - 读取打印机状态 
      ------------------------------------------------------------------------------------------------

      (1)、功能00H
      功能描述: 向打印机输出字符 
      入口参数: AH=00H
      AL=输出的字符
      DX=打印机号(0-LPT1,1-LPT2,2-LPT3,……) 
      出口参数: AH=打印机状态。其各位为1时的含义如下: 位7-打印机空闲 位3-I/O错误 
      位6-打印机响应 位2-保留 
      位5-无纸 位1-保留 
      位4-打印机被选 位0-打印机超时 

      (2)、功能01H
      功能描述: 初始化打印机端口 
      入口参数: AH=01H
      DX=打印机号(0-LPT1,1-LPT2,2-LPT3,……) 
      出口参数: AH=打印机状态。各位定义如下功能00H所示 

      (3)、功能02H
      功能描述: 读取打印机状态 
      入口参数: AH=02H
      DX=打印机号(0-LPT1,1-LPT2,2-LPT3,……) 
      出口参数: AH=打印机状态。各位定义如下功能00H所示 


      ______________________________________________________________________________
      时钟服务(Clock Service -- INT 1AH) 

      00H - 读取时钟“滴答”计数 
      01H - 设置时钟“滴答”计数 
      02H - 读取时间 
      03H - 设置时间 
      04H - 读取日期 
      05H - 设置日期 
      06H - 设置闹钟
      07H - 闹钟复位
      0AH - 读取天数计数
      0BH - 设置天数计数
      80H - 设置声音源信息
      -------------------------------------------------------------------------------------------------

      (1)、功能00H
      功能描述: 读取时钟“滴答”计数 
      入口参数: AH=00H 
      出口参数: AL=00H -- 未过午夜,否则,表示已过午夜
      CX:DX=时钟“滴答”计数 

      (2)、功能01H
      功能描述: 设置时钟“滴答”计数 
      入口参数: AH=01H
      CX:DX=时钟“滴答”计数 
      出口参数: 无 

      (3)、功能02H
      功能描述: 读取时间 
      入口参数: AH=02H 
      出口参数: 
      CH=BCD码格式的小时
      CL=BCD码格式的分钟
      DH=BCD码格式的秒
      DL=00H -- 标准时间,否则,夏令时
      CF=0 -- 时钟在走,否则,时钟停止 

      (4)、功能03H
      功能描述: 设置时间 
      入口参数: 
      AH=03H
      CH=BCD码格式的小时
      CL=BCD码格式的分钟
      DH=BCD码格式的秒
      DL=00H -- 标准时间,否则,夏令时 
      出口参数: 无

      (5)、功能04H
      功能描述: 读取日期 
      入口参数: AH=04H 
      出口参数: 
      CH=BCD码格式的世纪
      CL=BCD码格式的年
      DH=BCD码格式的月
      DL=BCD码格式的日
      CF=0 -- 时钟在走,否则,时钟停止 

      (6)、功能05H
      功能描述: 设置日期 
      入口参数: 
      AH=05H
      CH=BCD码格式的世纪
      CL=BCD码格式的年
      DH=BCD码格式的月
      DL=BCD码格式的日 
      出口参数: 无 

      (7)、功能06H
      功能描述: 设置闹钟 
      入口参数: 
      AH=06H
      CH=BCD码格式的小时
      CL=BCD码格式的分钟
      DH=BCD码格式的秒 
      出口参数: CF=0 -- 操作成功,否则,闹钟已设置或时钟已停止 

      (8)、功能07H
      功能描述: 闹钟复位 
      入口参数: AH=07H 
      出口参数: 无 

      (9)、功能0AH
      功能描述: 读取天数计数,仅在PS/2有效,在此从略 

      (10)、功能0BH
      功能描述: 设置天数计数,仅在PS/2有效,在此从略 

      (11)、功能80H
      功能描述: 设置声音源信息 
      入口参数: 
      AH =80H 
      AL =声音源 
      =00H -- 8253可编程计时器,通道2 
      =01H -- 盒式磁带输入 
      =02H -- I/O通道上的"Audio In" 
      =03H -- 声音产生芯片 


      ______________________________________________________________________________
      字符功能调用类(Character-Oriented Function)

      01H、07H和08H - 从标准输入设备输入字符 
      02H - 字符输出 
      03H - 辅助设备的输入 
      04H - 辅助设备的输出 
      05H - 打印输出 
      06H - 控制台输入/输出 
      09H - 显示字符串 
      0AH - 键盘缓冲输入(输入字符串)
      0BH - 检测输入状态 
      0CH - 清输入缓冲区的输入功能 
      -------------------------------------------------------------------------------------------------

      (1)、功能01H、07H和08H
      功能描述:
      从标准输入设备(如:键盘)读入一个字符。该中断在处理过程中将一直处于等待状态直到有字符可读为止。该输入还可被重定向,如果这样做,则无法判断文件是否已到文件尾
      
      入口参数: AH=01H,过滤掉控制字符,并回显
       =07H,不过滤掉控制字符,不回显
       =08H,过滤掉控制字符,不回显 
      出口参数: AL=输入字符的ASCII码 

      (2)、功能02H
      功能描述: 向标准输出设备(如:屏幕)输出一个字符。该输出还可被重定向,如果这样做,则将无法判断磁盘是否满 
      入口参数: AH=02H
      DL=待输出字符的ASCII码 
      出口参数: 无 

      (3)、功能03H
      功能描述: 从辅助设备读入一个字符,该辅助设备的缺省值为COM1 
      入口参数: AH=03H 
      出口参数: AL=读入字符的ASCII码 

      (4)、功能04H
      功能描述: 向辅助设备输出一个字符,该辅助设备的缺省值为COM1 
      入口参数: AH=04H
      DL=待输出字符的ASCII码 
      出口参数: 无 

      (5)、功能05H
      功能描述: 向标准的输出设备输出一个字符。该缺省的输出设备为LPT1端口的打印机,除非用MODE命令来改变 
      入口参数: AH=05H
      DL=待输出字符的ASCII码 
      出口参数: 无 

      (6)、功能06H
      功能描述: 控制台(如:键盘、屏幕)输入/输出。如果输入/输出操作被重定向,那么,将无法判断文件是否已到文件尾,或磁盘已满 
      入口参数: AH=06H,DL=输入/输出功能选择 
      出口参数: 若DL=00H-FEH,则此功能为输出,DL为待输出字符的ASCII码;
      若DL=0FFH,则此功能为输入,此时:若ZF=1,则无字符可读,否则,AL=读入字符的ASCII码 

      (7)、功能09H
      功能描述: 输出一个字符串到标准输出设备上。如果输出操作被重定向,那么,将无法判断磁盘已满 
      入口参数: AH=09H
      DS:DX=待输出字符的地址
      说明:待显示的字符串以’$’作为其结束标志 
      出口参数: 无 

      (8)、功能0AH
      功能描述:
      从标准输入设备上读入一个字节字符串,遇到“回车键”结束输入(输入的字符在标准的输出设备上有回显)。如果该输入操作被重定向,那么,将无法判断文件是否已到文件尾
      
      入口参数: AH=0AH
      DS:DX=存放输入字符的起始地址
      接受输入字符串缓冲区的定义说明:
        1、第一个字节为缓冲区的最大容量,可认为是入口参数;
        2、第二个字节为实际输入的字符数(不包括回车键),可看作出口参数;
        3、从第三个字节开始存放实际输入的字符串;
        4、字符串以回车键结束,回车符是接受的最后一个字符;
        5、若输入的字符数超过缓冲区的最大容量,则多出的部分被丢弃,系统并发出响铃,直到输入“回车”键才结束输入。 
      例如:
        BUFF 80, ?, 80 DUP(?)   ;最多接受80个字符
      出口参数: 无 

      (9)、功能0BH
      功能描述: 检查标准输入设备上是否有字符可读。该输入操作可被重定向 
      入口参数: AH=0BH 
      出口参数: AL=00H -- 无字符可读;FFH -- 有字符可读 

      (10)、功能0CH
      功能描述: 清空当前的标准输入缓冲区,再读入字符。其输入操作可被重定向 
      入口参数: AH=0CH
      AL=01H、06H、07H、08H或0AH 
      出口参数: 若入口参数AL为0AH,则DS:DX=存放输入字符的起始地址,否则,出口参数AL=输入字符的ASCII码
    

      ______________________________________________________________________________
      目录控制功能(Directory-Control Function)

      39H - 创建目录 
      3AH - 删除目录 
      3BH - 设置当前目录 
      47H - 读取当前目录
      -------------------------------------------------------------------------------------------------

      (1)、功能39H
      功能描述: 用指定的驱动器和路径创建一个新目录 
      入口参数: AH=39H
      DS:DX=指定路径的字符串地址(以0为字符串的结束标志) 
      出口参数: CF=0 -- 创建成功,否则,AX=错误号(03H或05H),其含义见错误代码表 

      (2)、功能3AH
      功能描述: 删除指定的驱动器和路径的目录 
      入口参数: AH=3AH
      DS:DX=指定路径的字符串地址(以0为字符串的结束标志) 
      出口参数: CF=0 -- 删除成功,否则,AX=错误号(03H或05H),其含义见错误代码表 

      (3)、功能3BH
      功能描述: 用指定的驱动器和路径设置为当前目录 
      入口参数: AH=3BH
      DS:DX=指定路径的字符串地址(以0为字符串的结束标志) 
      出口参数: CF=0 -- 设置成功,否则,AX=错误号(03H),其含义见错误代码表 

      (4)、功能47H
      功能描述: 取当前目录的完全路径字符串 
      入口参数: AH=47H
      DL=驱动器号(0=缺省,1=A,…)
      DS:SI=存放当前目录字符串的地址 
      出口参数: CF=0 -- 读取成功,否则,AX=错误号(0FH),其含义见错误代码表

      (13)、功能5BH
      功能描述: 创建新文件 
      入口参数: AH=5BH
      DS:DX=路径名的地址
      CX=文件属性(位可组合),其定义如下: 位0=1 只读 位4=0 保留 
      位1=1 隐含 位5=1 归档 
      位2=1 系统 位6-15=0 保留 
      位3=1 卷标号 
      出口参数: CF=0 -- 操作成功,AX=文件句柄,否则,AX=错误号(03H、04H、05H或50H),其含义见错误代码表 

      (14)、功能67H
      功能描述: 设置文件句柄数(最多文件数) 
      入口参数: AH=67H
      BX=句柄的数量 
      出口参数: CF=0 -- 操作成功,否则,AX=错误号,其含义见错误代码表 

      (15)、功能6CH
      功能描述: 扩展的打开文件功能(打开、创建或替换文件) 
      入口参数: AH=6CH
      AL=00H
      DS:SI=路径名的地址
      BX=打开方式 位2~0 000-只读  001-只写  010-可读、写 
      位3 保留(0) 
      位6~4 000-兼容   001-拒绝读写  010 -- 拒绝写
      011-拒绝读  100 -- 不拒绝任何操作 
      位7 0-子进程继承句柄,1-子进程不继承句柄 
      位12~8 保留(0) 
      位13 致命错误处理程序,0-执行INT 24H,否则,返回错误代码给进程 
      位14 写入方式:0-写入缓冲区,1-直接写入文件 
      位15 保留(0) 
      CX=文件属性 
      位0=1 只读 位4=0   保留 
      位1=1 隐含 位5=1   归档 
      位2=1 系统 位6-15=0  保留 
      位3=1 卷标签 
      DX=打开标志 位3~0  0-打开失败,1-打开文件,2-替换文件
      位7~4  0-打开失败,1-创建文件
      位15~8  0-保留 

      出口参数: CF=1 -- 操作失败,AX=错误号,其含义见错误代码表,否则,
      AX=文件句柄
      CX=1 -- 文件存在,打开之
       =2 -- 文件不存在,创建之       


      ______________________________________________________________________________
      文件操作功能(FCB)(File Operation Function)

      0FH - 打开文件 16H -创建文件 
      10H - 关闭文件 17H -文件换名 
      11H、12H - 查找第一个或下一个文件 23H -读取文件的大小 
      13H - 删除文件 29H -分析文件名 
      -------------------------------------------------------------------------------------------------

      (1)、功能0FH
      功能描述: 打开文件,并使之为顺序读/写作好准备 
      入口参数: AH=0FH
      DS:DX=文件控制块的地址 
      出口参数: AL=00H -- 打开成功,否则,AL=FFH(如文件找不到)
      在MS-DOS操作系统中,文件控制块的字段如下表所示。 字段名 偏移量 字段含义 
      驱动器字 00H 1 for drive A, 2 for drive B,... 
      当前块字段 0CH 00H 
      记录大小字段 0EH 0080H 
      文件长度字段 10H 文件字节数 
      日期字段 14H 日期 
      时间字段 16H 时间 

      (2)、功能10H
      功能描述: 关闭文件 
      入口参数: AH=10H
      DS:DX=文件控制块的地址 
      出口参数: AL=00H -- 关闭成功,否则,AL=FFH 

      (3)、功能11H和12H
      功能描述: 查找第一个或下一个相匹配的文件 
      入口参数: AH=11H -- 第一个相匹配的文件
        =12H -- 下一个相匹配的文件
      DS:DX=文件控制块的地址 
      出口参数: AL=00H -- 查找到,否则,AL=FFH

      (13)、功能5BH
      功能描述: 创建新文件 
      入口参数: AH=5BH
      DS:DX=路径名的地址
      CX=文件属性(位可组合),其定义如下: 位0=1 只读 位4=0 保留 
      位1=1 隐含 位5=1 归档 
      位2=1 系统 位6-15=0 保留 
      位3=1 卷标号 
      出口参数: CF=0 -- 操作成功,AX=文件句柄,否则,AX=错误号(03H、04H、05H或50H),其含义见错误代码表 

      (14)、功能67H
      功能描述: 设置文件句柄数(最多文件数) 
      入口参数: AH=67H
      BX=句柄的数量 
      出口参数: CF=0 -- 操作成功,否则,AX=错误号,其含义见错误代码表 

      (15)、功能6CH
      功能描述: 扩展的打开文件功能(打开、创建或替换文件) 
      入口参数: AH=6CH
      AL=00H
      DS:SI=路径名的地址
      BX=打开方式 位2~0 000-只读  001-只写  010-可读、写 
      位3 保留(0) 
      位6~4 000-兼容   001-拒绝读写  010 -- 拒绝写
      011-拒绝读  100 -- 不拒绝任何操作 
      位7 0-子进程继承句柄,1-子进程不继承句柄 
      位12~8 保留(0) 
      位13 致命错误处理程序,0-执行INT 24H,否则,返回错误代码给进程 
      位14 写入方式:0-写入缓冲区,1-直接写入文件 
      位15 保留(0) 
      CX=文件属性 
      位0=1 只读 位4=0   保留 
      位1=1 隐含 位5=1   归档 
      位2=1 系统 位6-15=0  保留 
      位3=1 卷标签 
      DX=打开标志 位3~0  0-打开失败,1-打开文件,2-替换文件
      位7~4  0-打开失败,1-创建文件
      位15~8  0-保留 

      出口参数: CF=1 -- 操作失败,AX=错误号,其含义见错误代码表,否则,
      AX=文件句柄
      CX=1 -- 文件存在,打开之
       =2 -- 文件不存在,创建之 


      ______________________________________________________________________________
      文件操作功能(FCB)(File Operation Function)

      0FH - 打开文件 16H -创建文件 
      10H - 关闭文件 17H -文件换名 
      11H、12H - 查找第一个或下一个文件 23H -读取文件的大小 
      13H - 删除文件 29H -分析文件名
      -------------------------------------------------------------------------------------------------
 
      (1)、功能0FH
      功能描述: 打开文件,并使之为顺序读/写作好准备 
      入口参数: AH=0FH
      DS:DX=文件控制块的地址 
      出口参数: AL=00H -- 打开成功,否则,AL=FFH(如文件找不到)
      在MS-DOS操作系统中,文件控制块的字段如下表所示。 字段名 偏移量 字段含义 
      驱动器字 00H 1 for drive A, 2 for drive B,... 
      当前块字段 0CH 00H 
      记录大小字段 0EH 0080H 
      文件长度字段 10H 文件字节数 
      日期字段 14H 日期 
      时间字段 16H 时间 

      (2)、功能10H
      功能描述: 关闭文件 
      入口参数: AH=10H
      DS:DX=文件控制块的地址 
      出口参数: AL=00H -- 关闭成功,否则,AL=FFH 

      (3)、功能11H和12H
      功能描述: 查找第一个或下一个相匹配的文件 
      入口参数: AH=11H -- 第一个相匹配的文件
        =12H -- 下一个相匹配的文件
      DS:DX=文件控制块的地址 
      出口参数: AL=00H -- 查找到,否则,AL=FFH

      (6)、功能5CH
      功能描述: 文件区域加锁或解锁 
      入口参数: AH=5CH
      AL=00H -- 区域加锁  01H -- 区域解锁
      BX=文件句柄
      CX:DX=区域偏移量
      SI:DI=区域长度
      DS:DX=路径名的地址 
      出口参数: CF=0 -- 操作成功,否则,AX=错误号(01H、06H、21H或24H),其含义见错误代码表 

      (7)、功能68H
      功能描述: 提交文件缓冲区数据 
      入口参数: AH=68H
      BX=文件句柄 
      出口参数: CF=0 -- 操作成功,否则,AX=错误号,其含义见错误代码表 
    

      ______________________________________________________________________________
      记录操作功能(FCB)(Record Function)

      14H -顺序读 24H -设置相对记录数 
      15H -顺序写 27H -随机读块 
      21H -随机读 28H -随机写块 
      22H -随机写 
      -------------------------------------------------------------------------------------------------

      (1)、功能14H
      功能描述: 从文件中读出下一个顺序块,并相应增加文件的指针 
      入口参数: AH=14H
      DS:DX=先前打开文件控制块的地址 
      出口参数: AL=00H -- 读取成功  01H -- 文件尾
        02H -- 段缠绕   03H -- 部分记录在文件尾 

      (2)、功能15H
      功能描述: 向文件写入下一个顺序数据块,并相应增加文件的指针 
      入口参数: AH=15H
      DS:DX=先前打开文件控制块的地址 
      出口参数: AL=00H -- 写入成功  01H -- 磁盘满  02H -- 段缠绕 

      (3)、功能21H
      功能描述: 从文件中读出当前选定的记录 
      入口参数: AH=21H
      DS:DX=先前打开文件控制块的地址 
      出口参数: AL=00H -- 读取成功   01H -- 文件尾
        02H -- 取消读操作  03H -- 部分记录在文件尾 

      (4)、功能22H
      功能描述: 把内存中的数据写入在文件中当前选定的记录 
      入口参数: AH=22H
      DS:DX=先前打开文件控制块的地址 
      出口参数: AL=00H-写入成功  01H-磁盘满  02H-取消写操作 

      (5)、功能24H
      功能描述: 设置FCB中相对记录数作为被打开FCB中的记录数 
      入口参数: AH=24H
      DS:DX=先前打开文件控制块的地址 
      出口参数: AL的值被破坏,其它寄存器不受影响,FCB中偏移量21H单元被修改 

      (6)、功能27H
      功能描述: 从文件中读出若干个记录到内存中 
      入口参数: AH=27H
      DS:DX=先前打开文件控制块的地址 
      出口参数: AL=00H -- 读取成功   01H -- 文件尾
        02H -- 取消读操作  03H -- 部分记录在文件尾
      CX=实际读出的记录数 

      (7)、功能28H
      功能描述: 从内存向文件中写入若干个记录 
      入口参数: AH=28H
      CX=要写入的记录数
      DS:DX=先前打开文件控制块的地址 
      出口参数: AL=00H -- 写入成功  01H -- 磁盘满  02H -- 段缠绕
      CX=实际写入的记录数


      ______________________________________________________________________________
      内存分配功能(Memory-Allocation Function)

      48H - 分配内存块 
      49H - 释放内存块 
      4AH - 重定义内存块的大小 
      58H - 读取/设置内存分配策略 
      -------------------------------------------------------------------------------------------------

      (1)、功能48H
      功能描述: 分配一块内存单元,并返回该块内存单元的首地址 
      入口参数: AH=48H
      BX=需要申请的内存单元字节数 
      出口参数: CF=0 -- 分配成功,AX=存储单元的首地址,否则,AX=错误号(07H或08H),其含义见错误代码表,BX=还可用的最大块数 

      (2)、功能49H
      功能描述: 释放内存单元块以便为其它程序使用 
      入口参数: AH=49H
      ES=被申请块的段地址 
      出口参数: CF=0 -- 释放成功,否则,AX=错误号(07H或09H),其含义见错误代码表 

      (3)、功能4AH
      功能描述: 根据程序的需要,动态地改变一个内存块 
      入口参数: AH=4AH
      BX=需要一个新存储块的大小
      ES=被修改块的段地址 
      出口参数: CF=0 -- 修改成功,否则,AX=错误号(07H、08H或09H),其含义见错误代码表,BX=可用最大块的大小 

      (4)、功能58H
      功能描述: 读取/设置内存分配策略 
      入口参数: AH=58H 读取内存分配策略 AL=00H 
      设置内存分配策略 AL=01H
      BX=内存分配策略代码:
         00H-第一满足
         01H-最好满足
         02H-最后满足 
      出口参数: CF=0 -- 操作成功,AX=已选用的内存分配策略代码(含义如上说明),否则,AX=错误号(01H),其含义见错误代码表 


      ______________________________________________________________________________     
      系统功能(System Function)


      25H - 设置中断向量 
      30H - 读取MS-DOS版本号 
      33H - 读取/设置Break标志 
      34H - 读取InDOS标志的地址 
      35H - 读取中断向量 
      38H - 读取/设置国家信息 
      44H - IOCTL(I/O控制) 
      50H - 设置程序段前缀(PSP)地址 
      51H - 读取程序段前缀(PSP)地址 
      59H - 读取扩展的错误信息 
      5EH - 读取机器名,读取/设置打印机配置 
      5FH - 设备重定向 
      63H - 读取前导字节表 
      65H - 读取扩展的国家信息 
      66H - 读取/设置代码页 
      5D0AH - 设置扩展的错误信息 
      -------------------------------------------------------------------------------------------------

      (1)、功能25H
      功能描述: 设置中断向量表 
      入口参数: AH=中断号
      DS:DX=中断处理程序的入口地址 
      出口参数: 无 

      (2)、功能30H
      功能描述: 取MS-DOS操作系统的版本号 
      入口参数: AH=30H 
      出口参数: AL=0 -- V 1.0;对其它高版本有:AL=主要版本号
      AH=次版本号(MS-DOS 3.1=0AH,...)
      BH=OEM的序列号(Original Equipment Manufacturer)
      BL:CX=24位用户序列号 

      (3)、功能33H
      功能描述: 获得或改变操作系统中断的状态。在功能调用期间,将影响^C的检测 
      入口参数: AH=33H
      AL=00H -- 取状态
       =01H -- 设置状态,DL=00/01表示置该状态OFF/ON 
      出口参数: 取状态时,DL=00/01 -- 分别表示OFF/ON
      说明:
       1、若AL中存入其它的功能号,则返回时,AL的值为0FFH;
       2、若置AL为5,则启动驱动器号返回在DL中(1-A,2-B,…) 

      (4)、功能34H
      功能描述: 获得InDos标志的远地址,它由DOS维护表示DOS时活跃的 
      入口参数: AH=34H 
      出口参数: ES:BX=InDos标志的远地址
      若该单元值为1,表示DOS功能在执行,否则,则不是。

      (5)、功能35H
      功能描述: 取指定中断号的入口地址 
      入口参数: AH=35H
      AL=中断号 
      出口参数: ES:BX=中断处理程序的入口地址 

      (6)、功能38H
      功能描述: 读取或设置国家信息 
      入口参数: AH=38H 当读取国家信息时 
      DS:DX=存放返回信息的地址
      AL=0 -- 取当前国家信息
      AL=1~0FEH -- 取国家代码小于255的国家信息
      AL=0FFH -- 取代码大于等于255的国家信息,BX=国家代码 
      设置国家信息时 
      DX=0FFFFH
      AL=0~0FEH -- 设置国家代码小于255的国家信息
      AL=0FFH -- 置代码大于等于255的国家信息,BX=国家代码 
      出口参数: CF=0 -- 调用成功,BX=国家代码,否则。AX=错误代码(02H),其含义见错误代码表 说明国家信息如下所示:
      字节0-1H: 日期格式:0-mdy、1-dmy、2-ymd 
      字节2-6H: 货币字符 
      字节7-8H: 数值千位分割符 
      字节9-0AH: 数值精度分割符 
      字节0B-0CH: 日期间隔符 
      字节0D-0EH: 时间间隔符 
      字节0FH: 货币格式
      位0=0 -- 货币符号在前,否则,货币符号在后
      位1=0 -- 货币符号和数据之间无空格,否则,二者之间有一个空格
      位2=0 -- 货币符号和小数点分开,否则,货币符号代替小数点 
      字节10H: 货币的小数位数 
      字节11H: 时间格式。位0=0-12小时制,否则,24小时制 
      字节12~15H: Case-Map调用地址 
      字节16~17H: 字符串分割符 
      字节18~21H: 保留 

      (7)、功能44H
      功能描述: 输入/输出控制,其子功能描述: 
       00H-取设备信息 01H-取设备信息 
       02H-从字符设备驱动器接受控制数据 03H-发送控制数据到字符设备驱动器 
       04H-从块设备驱动器接受控制数据 05H-发送控制数据到块设备驱动器 
       06H-检查输入状态 07H-检查输出状态 
       08H-检查块设备是否为可拆卸设备 09H-检查设备是否为远程设备 
       0AH-检查句柄是否为远程对象 0BH-改变共享访问入口数 
       0CH-字符设备的一般I/O控制信息 0DH-块设备的一般I/O控制信息 
       0EH-读取逻辑驱动器映射关系 0FH-设置逻辑驱动器映射关系 
      说明:输入/输出子功能中的00H、06H和07H仅针对文件句柄,子功能00H~ 08H不支持网络设备。 

      (8)、功能50H
      功能描述: 设置程序段前缀(PSP)地址 
      入口参数: AH=50H
      BX=新的PSP地址 
      出口参数: 无 

      (9)、功能51H
      功能描述: 读取程序段前缀(PSP)地址 
      入口参数: AH=51H 
      出口参数: BX=PSP地址

      (10)、功能59H
      功能描述: 读取扩展的错误信息 
      入口参数: AH=59H
      BX=00H 
      出口参数: AX=扩展的错误代码,其含义见错误代码表
      BH=错误类型,其定义如下: 01h-资源短缺 02h-处于临时状态而非错误 
      03h-权限问题 04h-系统软件内部错误 
      05h-硬件失败 06h-系统软件失败,但不是活跃进程失败 
      07h-应用程序错 08h-文件或数据项未发现 
      09h-文件或数据项类型或格式错 0Ah-文件或数据项相互加锁 
      0Bh-驱动器中坏磁盘,磁盘中坏区域或存储问题 
      0Ch-其它错误 
      BL=建议采用的措施,其定义如下:
       01h - 重试若干次后,再选"终止"或"忽略"
       02h - 重试若干次(二次之间要等待)后,再选"终止"或"忽略"
       03h - 从用户获取正确的信息
       04h - 终止应用程序,并清除其所使用资源
       05h - 立即终止程序,但没有清除其资源
       06h - 忽略错误
       07h - 消除错误原因,再重试
      CH=错误地点,其定义如下:
       01h - 不知道
       02h - 块设备(磁盘或磁盘模拟器)
       03h - 网络
       04h - 串行设备
       05h - 内存
      ES:DI=插入磁盘标签的字符串,若AX=0022h(非法改变磁盘)

      (11)、功能5EH
      功能描述: 读取机器名,读取/设置打印机配置 子功能号功能描述 
      00h 读取机器名 
      02h 设置打印机安装字符串 
      03h 读取打印机安装字符串 
      ①、子功能1 
      入口参数: AH=5EH
      AL=00H
      DS:DX=接受字符串缓冲区的地址 
      出口参数: CF=1 -- 操作失败,AX=错误号(01H),其含义见错误代码表,否则,
      CH=00H -- 机器名未定义,否则,机器名已定义
      CL=NetBIOS名称号(当CH≠00H时)
      DS:DX=标识符地址(当CH≠00H时) 
      ②、子功能2 
      入口参数: AH=5EH
      AL=02H
      BX=重定向列表索引
      CX=安装字符串的长度
      DS:SI=安装字符串的地址 
      出口参数: CF=0 -- 操作成功,否则,AX=错误号(01H),其含义见错误代码表 
      ③、子功能3 
      入口参数: AH=5EH
      AL=03H
      BX=重定向列表索引
      ES:DI=接受字符串缓冲区的地址 
      出口参数: CF=0 -- 操作成功,CX=接受字符串的长度,否则,AX=错误号(01H),其含义见错误代码表 

      (12)、功能5FH
      功能描述: 设备重定向 子功能号功能描述 
      02h 读取重定向列表索引 
      03h 重定向设备 
      ①、子功能1 
      入口参数: AH=5FH
      AL=02H
      BX=重定向列表索引
      DS:SI=接受本地设备名的16字节存储区地址
      ES:DI=接受网络名的128字节存储区地址 
      出口参数: CF=1 -- 操作失败,AX=错误号(01H或12H),其含义见错误代码表,否则,BH位0=0H -- 设备合法,否则,设备非法
      BL=设备类型 -- 03H:打印机,04H:驱动器
      CX=存储参数值
      DX=被破坏
      BP=被破坏
      DS:SI=存放本地设备名的地址
      ES:DI=存放网络名的地址 
      ②、子功能2 
      入口参数: AH=5FH
      AL=03H
      BL=设备类型 -- 03H:打印机,04H:驱动器
      CX=调用者保存的参数
      DS:SI=本地设备名的16字节存储区地址
      ES:DI=网络名的128字节存储区地址,紧跟其后是密码 
      出口参数: CF=0 -- 操作成功,否则,AX=错误号(01H、03H、05H、08H、0FH或12H),其含义见错误代码表 

      (13)、功能63H
      功能描述: 读取前导字节表 
      入口参数: AH=63H AL =子功能
      =00H-读取系统前导字节表地址
      =01H-设置/清除临时控制台标志(DL=00H/01H-清除/设置标志)
      =02H-读取临时控制台标志值 
      出口参数: BX=1 -- 操作失败,AX=错误号(01H),其含义见错误代码表,否则,调用时,
         若AL=00H,则,DS:SI=系统前导字节表地址;
         若AL=02H,则,DL=临时控制台标志值 

      (14)、功能65H
      功能描述: 读取扩展的国家信息 
      入口参数: AH=65H
      BX=代码页(-1=活跃的CON设备)
      CX=接受信息的缓冲区大小
      DX=国家标识(-1=缺省)
      ES:DI=接受信息的缓冲区地址 AL =子功能
      =01H -- 读取一般的国家信息
      =02H -- 读取指向大写字母表的指针
      =04H -- 读取指向文件名大写字母表的指针
      =06H -- 读取指向校对表的指针
      =07H -- 读取指向DBCS向量的指针 
      出口参数: CF=0 -- 操作成功,需要的数据存入调用的缓冲区,否则,AX=错误号(02H),其含义见错误代码表

      (15)、功能66H
      功能描述: 读取/设置代码页 
      入口参数: AH=66H
      AL=子功能号:01H -- 读取代码页,02H -- 选择代码页
      BX=选择的代码页(当AL=02H) 
      出口参数: CF=0 --
      操作成功,当调用子功能01H时,BX=活跃的代码页,DX=缺省的代码页,否则,AX=错误号(02H或65H),其含义见错误代码表 

      (16)、功能5D0AH
      功能描述: 设置扩展的错误信息 
      入口参数: AX=5D0AH
      DS:DX=扩展错误结构的地址,该结构的说明如下: EXTEND_ERR STRUCT
      RAx WORD ? ;AX
      RBx WORD ? ;BX
      RCx WORD ? ; CX
      RDx WORD ? ; DX
      RSi WORD ? ; SI
      RDi WORD ? ; DI
      RDs WORD ? ; DS
      REs WORD ? ; ES
      Pad WORD 3 DUP(0) 
      EXTEND_ERR ENDS 
      出口参数: 无 
     

      ______________________________________________________________________________     
      进程控制功能(Process-Control Function)

      00H - 终止进程 
      26H - 创建新的程序段前缀(PSP) 
      31H - 终止并驻留 
      4BH - 执行程序(EXEC) 
      4CH - 带返回码方式的终止进程 
      4DH - 读取返回代码 
      62H - 读取PSP地址 

      -------------------------------------------------------------------------------------------------
      (1)、功能00H
      功能描述: 终止进程。这是程序可以使用的终止进程的方法之一 
      入口参数: AH=00H
      CS=代码段地址 
      出口参数: 无 

      (2)、功能26H
      功能描述: 把当前正在执行程序的程序段前缀(PSP)拷贝到内存中的指定地址中,并可改变其为其它程序所使用 
      入口参数: AH=26H
      DX=新程序段前缀的段地址 
      出口参数: 无 

      (3)、功能31H
      功能描述: 终止程序的运行,传递一个返回代码给其父进程,但该程序部分或全部驻留在内存中 
      入口参数: AH=31H
      AL=返回代码号
      DX=驻留在内存中的字节数 
      出口参数: 无 

      (4)、功能4BH
      功能描述: 执行程序(EXEC) 
      入口参数: AH=4BH
      ES:BX=参数块的地址
      DS:DX=程序的入口地址
      AL=00H -- 装入并执行程序,03H -- 以覆盖的形式装入 
      出口参数: CF=0 --
      操作成功,除CS和IP之外,其它寄存器的值都被破坏,否则,AX=错误号(01H、02H、03H、05H、08H、0AH或0BH),其含义见错误代码表
      
      (5)、功能4CH
      功能描述: 终止程序的执行,并可返回一个代码 
      入口参数: AH=4CH
      AL=返回的代码 
      出口参数: 无 

      (6)、功能4DH
      功能描述: 父进程获取子进程的返回代码 
      入口参数: AH=4DH 
      出口参数: AH=00H -- 用中断20H、中断21H的功能0或4C正常终止
        =01H -- 用户按^C终止
        =02H -- 因致命错误而终止
        =03H -- 用中断21H的功能31H,或中断27H终止
      AL=子进程的返回码:00H -- 子进程由中断20H、中断21H的功能0或4C终止 

      (7)、功能62H
      功能描述: 读取PSP地址 
      入口参数: AH=62H 
      出口参数: BX=PSP的偏移量


      ______________________________________________________________________________     
      时间和日期功能(Time and Date Function)

      2AH - 读取日期 
      2BH - 设置日期 
      2CH - 读取时间 
      2DH - 设置时间 

      -------------------------------------------------------------------------------------------------
      (1)、功能2AH
      功能描述: 取系统日期 
      入口参数: AH=2AH
      出口参数: CX=年(1980~2099),DH=月(1~12),DL=日(1~31)
      AL=星期几(0=Sunday,1=Monday,...) 

      (2)、功能2BH
      功能描述: 置系统日期 
      入口参数: AH=2BH
      CX=年(1980~2099),DH=月(1~12),DL=日(1~31)
      出口参数: AL=00H -- 设置成功,0FFH -- 设置失败 

      (3)、功能2CH
      功能描述: 取系统时间 
      入口参数: AH=2CH 
      出口参数: CH=时(0~23),CL=分(0~59),DL=秒(0~59),AL=百分秒(0~99) 

      (4)、功能2DH
      功能描述: 置系统时间 
      入口参数: AH=2DH
      CH=时(0~23),CL=分(0~59),DL=秒(0~59),AL=百分秒(0~99) 
      出口参数: 出口参数:AL=00H -- 设置成功,0FFH -- 设置失败 


      ______________________________________________________________________________     
      鼠标功能中断INT33H

      00H - 初始化鼠标 
      01H - 显示鼠标指针 
      02H - 隐藏鼠标指针 
      03H - 读取鼠标位置及其按钮状态 
      04H - 设置鼠标指针位置 
      05H - 读取鼠标按键信息 
      06H - 读取鼠标按钮释放信息 
      07H - 设置鼠标水平边界 
      08H - 设置鼠标垂直边界 
      09H - 设置图形鼠标形状 
      0AH - 设置本文鼠标形状 
      0BH - 读取鼠标移动计数 
      0CH - 为鼠标事件设置处理程序 
      0DH - 允许光笔仿真 
      0EH - 关闭光笔仿真 
      0FH - 设置鼠标计数与象素比 
      10H - 设置鼠标指针隐藏区域 
      13H - 设置倍速的阈值 
      14H - 替换鼠标事件中断 
      15H - 读取鼠标驱动器状态的缓冲区大小 
      16H - 存储鼠标驱动器状态 
      17H - 重装鼠标驱动器状态 
      18H - 为鼠标事件设置替换处理程序 
      19H - 读取替换处理程序的地址 
      1AH - 设置鼠标的灵敏度 
      1BH - 读取鼠标的灵敏度 
      1CH - 设置鼠标中断速率 
      1DH - 为鼠标指针选择显示页 
      1EH - 读取鼠标指针的显示页 
      1FH - 禁止鼠标驱动程序 
      20H - 启动鼠标驱动程序 
      21H - 鼠标驱动程序复位 
      22H - 设置鼠标驱动程序信息语言 
      23H - 读取语种 
      24H - 读取鼠标信息 
      25H - 读取鼠标驱动程序信息 
      26H - 读取最大有效坐标

      -------------------------------------------------------------------------------------------------
      (1)、功能00H
      功能描述: 初始化鼠标,该操作只需要执行一次 
      入口参数: AX=00H 
      出口参数: AX=0000H -- 不支持鼠标功能,FFFFH -- 支持鼠标功能
      BX=鼠标按钮个数(在支持鼠标功能时)
      在支持鼠标功能的情况下,鼠标还被设置如下参数: 1、 鼠标指针放在屏幕中央 
      2、 如果当前鼠标指针是显示的,则操作后,鼠标指针被隐藏 
      3、 鼠标指针的显示页为0 
      4、 根据屏幕的显示模式显示鼠标指针:文本-反向显示矩形块,图形-尖头形状 
      5、 水平象素比=8:8,垂直象素比=16:8 
      6、 设置水平和垂直的显示边界为当前显示模式的最大边界 
      7、 允许光笔仿真 
      8、 双速门槛值=64 

      (2)、功能01H
      功能描述: 显示鼠标指针,通常在鼠标初始化后,用此功能显示其指针 
      入口参数: AX=01H 
      出口参数: 无 

      (3)、功能02H
      功能描述: 隐藏鼠标指针,一般在程序结束时,调用此功能 
      入口参数: AX=02H 
      出口参数: 无 

      (4)、功能03H
      功能描述: 读取鼠标位置及其按钮状态 
      入口参数: AX=03H 
      出口参数: BX=按键状态: 位0=1 -- 按下左键 
      位1=1 -- 按下右键 
      位2=1 -- 按下中键 
      其它位 -- 保留,内部使用 
      CX=水平位置 
      DX=垂直位置 

      (5)、功能04H
      功能描述: 设置鼠标指针位置 
      入口参数: AX=04H,CX=水平位置,DX=垂直位置 
      出口参数: 无 

      (6)、功能05H
      功能描述: 读取鼠标按键信息 
      入口参数: AX=05H,BX=指定的按键:0-左键,1-右键,2-中键 
      出口参数: AX=按键状态,参见功能3H中BX的说明
      BX=按键次数
      CX=水平位置(最后按键时)
      DX=垂直位置(最后按键时) 

      (7)、功能06H
      功能描述: 读取鼠标按钮释放信息 
      入口参数: AX=06H,BX=指定的按键:0-左键,1-右键,2-中键 
      出口参数: AX=按键状态,参见功能3H中BX的说明
      BX=释放的次数
      CX=水平位置(最后释放时)
      DX=垂直位置(最后释放时) 

      (8)、功能07H
      功能描述: 设置鼠标水平边界 
      入口参数: AX=07H
      CX=最小水平位置
      DX=最大水平位置 
      出口参数: 无,鼠标有可能因新区域变小而自动移进新区域内 

      (9)、功能08H
      功能描述: 设置鼠标垂直边界 
      入口参数: AX=08H
      CX=最小垂直位置
      DX=最大垂直位置 
      出口参数: 无,鼠标有可能因新区域变小而自动移进新区域内 

      (10)、功能09H
      功能描述: 设置图形鼠标形状 
      入口参数: AX=09H
      BX=指针的水平位置
      CX=指针的垂直位置
      ES:DX=16×16位光标的映象地址 参数说明: (BX,CX)是鼠标的指针在16×16点阵中的位置,(0,0)是左上角;
      ES:DX指向的存储单元内存放16×16点阵的位映象隐码,紧跟其后的是16×16点阵的光标掩码。 
      鼠标指针的显示方法: 位映象隐码“逻辑与”上屏幕显示区的内容,然后再用光标掩码内容“异或”前面运算的结果。 
      出口参数: 无 

      (11)、功能0AH
      功能描述: 设置本文鼠标形状 
      入口参数: AX=0AH
      BX=光标类型: 0 - CX和DX的各位含义如下: 位7~0 鼠标指针符号 
      位10~8 字符前景色 
      位11 亮度 
      位14~12 字符背景色 
      位15 闪烁 
      1 - CX=光标的起始扫描线
      DX=光标的结束扫描线 
      出口参数: 无 

      (12)、功能0BH
      功能描述: 读取鼠标移动计数 
      入口参数: AX=0BH 
      出口参数: CX=水平移动距离:正数 -- 向右移,负数 -- 向左移
      DX=垂直移动距离:正数 -- 向下移,负数 -- 向上移

      (13)、功能0CH
      功能描述: 为鼠标事件设置处理程序 
      入口参数: AX=0CH
      CX=中断掩码 位0=1 -- 鼠标指针位置发送变化 
      位1=1 -- 按下左按钮 
      位2=1 -- 释放左按钮 
      位3=1 -- 按下右按钮 
      位4=1 -- 释放右按钮 
      位5=1 -- 按下中间按钮 
      位6=1 -- 释放中间按钮 
      位7~15=0 -- 保留 
      ES:DX=中断处理程序的地址
      在进入中断处理程序时,有关寄存器的值含义:
        AX=中断掩码
        BX=按键状态
        CX=鼠标指针的水平位置
        DX=鼠标指针的垂直位置
        SI=水平位置的变化量
        DI=垂直位置的变化量
      出口参数: 无 

      (14)、功能0DH
      功能描述: 允许光笔仿真 
      入口参数: AX=0DH 
      出口参数: 无 

      (15)、功能0EH
      功能描述: 关闭光笔仿真 
      入口参数: AX=0EH 
      出口参数: 无 

      (16)、功能0FH
      功能描述: 设置鼠标计数与象素比 
      入口参数: AX=0FH
      CX=水平比例
      DX=垂直比例 
      出口参数: 无 

      (17)、功能10H
      功能描述: 设置鼠标指针隐藏区域 
      入口参数: AX=10H
      CX=左上角X坐标
      DX=左上角Y坐标
      SI=右下角X坐标
      DI=右下角Y坐标 
      出口参数: 无 

      (18)、功能13H
      功能描述: 设置倍速的阈值,其缺省值为64 
      入口参数: AX=13H
      DX=阀值 
      出口参数: 无 

      (19)、功能14H
      功能描述: 替换鼠标事件中断 
      入口参数: AX=14H
      CX=中断掩码
      ES:DX=中断处理程序的地址 
      出口参数: CX=旧的中断掩码
      ES:DX=旧的中断处理程序地址 

      (20)、功能15H
      功能描述: 读取鼠标驱动器状态的缓冲区大小 
      入口参数: AX=15H 
      出口参数: BX=存放鼠标驱动器状态所需缓冲区的大小 

      (21)、功能16H
      功能描述: 存储鼠标驱动器状态 
      入口参数: AX=16H
      ES:DX=存储鼠标驱动器状态的地址 
      出口参数: 无 

      (22)、功能17H
      功能描述: 重装鼠标驱动器状态 
      入口参数: AX=17H
      ES:DX=鼠标驱动器状态的地址 
      出口参数: 无 

      (23)、功能18H
      功能描述: 为鼠标事件设置可选的处理程序 
      入口参数: AX=18H
      CX=替换中断掩码
      ES:DX=替换中断处理程序的地址
      CF=0 
      出口参数: 无 

      (24)、功能19H
      功能描述: 读取替换处理程序的地址 
      入口参数: AX=19H
      CX=替换中断掩码 
      出口参数: 若AX=-1 -- 不成功,否则,ES:DX=中断处理程序的地址 

      (25)、功能1AH
      功能描述: 设置鼠标的灵敏度,其取值1~100 
      入口参数: AX=1AH
      BX=水平灵敏度(每8个象素鼠标需要移动的数量,一般为8)
      CX=垂直灵敏度(每8个象素鼠标需要移动的数量,一般为16)
      DX=倍速阀值 
      出口参数: 无 

      (26)、功能1BH
      功能描述: 读取鼠标的灵敏度 
      入口参数: AX=1BH 
      出口参数: BX=水平灵敏度
      CX=垂直灵敏度
      DX=倍速阀值 

      (27)、功能1CH
      功能描述: 设置鼠标中断速率 
      入口参数: AX=1CH
      BX=每秒钟中断的次数:0-关中断,1-30/S,2-50/S,3-100/S,4-200/S 
      出口参数: 无 

      (28)、功能1DH
      功能描述: 为鼠标指针选择显示页 
      入口参数: AX=1DH
      BX=显示页 
      出口参数: 无 

      (29)、功能1EH
      功能描述: 读取鼠标指针的显示页 
      入口参数: AX=1EH 
      出口参数: BX=显示页 

      (30)、功能1FH
      功能描述: 禁止鼠标驱动程序 
      入口参数: AX=1FH 
      出口参数: 若AX=-1 -- 不成功,否则,ES:BX=鼠标驱动程序的地址 

      (31)、功能20H
      功能描述: 启动鼠标驱动程序 
      入口参数: AX=20H 
      出口参数: 无 

      (32)、功能21H
      功能描述: 鼠标驱动程序复位 
      入口参数: AX=21H 
      出口参数: 若AX=-1 -- 不成功,否则,BX=2 

      (33)、功能22H
      功能描述: 设置鼠标驱动程序信息语言 
      入口参数: AX=22H
      BX=语言代码:0-英语,1-法语,2-荷兰语,3-德语,4-瑞典语,5-芬兰语,6-西班牙语,7-葡萄牙语,8-意大利语 
      出口参数: 无 

      (34)、功能23H
      功能描述: 读取语种 
      入口参数: AX=23H 
      出口参数: BX=语言代码 

      (35)、功能24H
      功能描述: 读取鼠标信息 
      入口参数: AX=24H 
      出口参数: BH=主版本号,BL=辅版本号
      CL=中断请求号
      CH=鼠标类型:1-Bus Mouse,2-Serial Mouse,3-InPort Mouse,4-PS/2 Mouse,5-HP Mouse 

      (36)、功能25H
      功能描述: 读取鼠标驱动程序信息 
      入口参数: AX=25H 
      出口参数: AX=鼠标驱动程序信息: 位15 -- 0: 驱动程序是.SYS文件,否则,为.COM文件 
      位14 -- 0: 不完全鼠标显示驱动程序,否则,为完全的 
      位13-12 -- 00: 软件文本光标 
      01: 硬件文本光标 
      1X: 图形光标 

      (37)、功能26H
      功能描述: 读取最大有效坐标 
      入口参数: AX=26H 
      出口参数: BX=鼠标驱动程序状态
      CX=最大水平坐标
      DX=最大垂直坐标 


      ______________________________________________________________________________     
      其它DOS中断

      INT 20H - 终止程序运行 
      INT 22H - 终止处理程序的地址 
      INT 23H - Ctrl+C处理程序 
      INT 24H - 致命错误处理程序 
      INT 25H - 读磁盘扇区(忽略逻辑结构) 
      INT 26H - 写磁盘扇区(忽略逻辑结构) 
      INT 27H - 终止,并驻留在内存 
      INT 28H - DOS空闲 
      INT 2FH - 多重中断服务 

      -------------------------------------------------------------------------------------------------
      (1)、中断INT 20H
      功能描述: 终止当前正在运行的程序,它是几种终止程序运行方法之一 
      入口参数: CS=PSP的段地址 
      出口参数: 无 

      (2)、中断INT 22H
      功能描述: 终止处理程序的地址,该地址在程序装入内存运行前被放入PSP的0AH~0DH的单元内。该中断指令从不直接书写在程序之中 

      (3)、中断INT 23H
      功能描述: Ctrl+C处理程序。该中断指令从不直接书写在程序之中 

      (4)、中断INT 24H
      功能描述: 致命错误处理程序。该中断指令从不直接书写在程序之中
 
      (5)、中断INT 25H
      功能描述: 绝对读磁盘,直接从逻辑设备中读出数据到内存单元中 
      入口参数: AL=驱动器号(0=A、1=B、……) 分区容量≤32M,有:
      CX=读出的扇区数
      DX=起始扇区数
      DS:BX=存放数据缓冲区的地址 
      否则,有:
      CX=-1
      DS:BX=参数块缓冲区的地址,该参数块的结构如下: 字节 描述 
      00~03H 32位扇区数 
      04~05H 将被读出的扇区数 
      06~07H 存放数据的缓冲区的偏移量 
      08~09H 存放数据的缓冲区的段地址 
      出口参数: CF=0--操作成功,否则,AX=错误号,其含义见下错误代码表 错误代码 错误含义 
      80H 附件响应失败 
      40H 定位操作失败 
      20H 设备控制器失败 
      10H 数据错(错误的CRC) 
      08H DMA失败 
      04H 需要的扇区未发现 
      02H 错误的地址标志 
      01H 错误命令 

      (6)、INT 26H
      功能描述: 绝对写磁盘,直接把内存单元中的内容写入逻辑设备 
      入口参数: 与前面的INT 25H相一致 
      出口参数: 与前面的INT 25H相一致 

      (7)、INT 27H
      功能描述: 终止,并驻留在内存 
      入口参数: CS=PSP的段值
      DX=被保护程序最后一个字节的偏移量再加1 
      出口参数: 无 

      (8)、INT 28H
      功能描述: DOS空闲中断 
      入口参数: 无 
      出口参数: 无 

      (9)、INT 2FH
      功能描述: 多重中断服务,允许多个驻留程序通过单个中断与其它进程通信。 
      入口参数: AH=标识号,AL=功能号,功能号及其含义如下: 功能号 功能描述 
      01H 假脱机打印 
      06H 驻留ASSIGN命令 
      10H 驻留SHARE命令 
      B7H 驻留APPEND命令 
      出口参数: 若入口AL为0,则出口AL=0FFH,否则,其值取决于处理程序

posted @ 2010-08-20 10:01  ahuo  阅读(908)  评论(0编辑  收藏  举报