用户命令MSDOS.SYS中的中断子程装命令处理模块(称DOS内核模块)用户程序入COMMAN D.COM调用IO.SYS,实现对外设的控制与标准外设有两层隔离:磁盘管理模块(DOS内核系统功能MSDOS.SYSIO.SYS和ROM BIOS。基本输入/输出BIOS模块其中21H类型的中断子程IO.SYS设备驱动提供了丰富的系统服务,ROMBIOS基本I/O称21类型的中断调用系统硬件为DOS系统(功能)调用
⚫ MSDOS.SYS中的中断子程 ( 称DOS内核模块 ) 调用IO.SYS,实现对外设的控制。 与标准外设有两层隔离 : IO.SYS和ROM BIOS。 其中21H类型的中断子程 提供了丰富的系统服务, 称21类型的中断调用 为DOS系统(功能)调用。 用户程序 磁盘管理模块(DOS内核) MSDOS.SYS 系统功能 基本输入/输出BIOS 模 块 IO.SYS 设备驱动 ROM BIOS 基本I/O 系 统 硬 件 装 入 命令处理模块 COMMAN D.COM 用户命令
用户命令用户编程原则装命令处理模块用户程序①尽可能使用DOS的系统功能调用入COMMAND.COM提高程序可移植性磁盘管理模块(DOS内核②在DOS功能不能实现情况下,MSDOS.SYS系统功能考虑用BIOS功能调用。基本输入/输出BIOS模块③在DOS和BIOS的中断子程IO.SYS设备驱动不能解决问题时ROMBIOS基本I/O使用IN/OUT指令直接控制硬件。系统硬件
⚫ 用户编程原则 ①尽可能使用DOS的系统功能调用, 提高程序可移植性。 ②在DOS功能不能实现情况下, 考虑用BIOS功能调用。 ③在DOS和BIOS的中断子程 不能解决问题时, 使用IN/OUT指令直接控制硬件。 用户程序 磁盘管理模块(DOS内核) MSDOS.SYS 系统功能 基本输入/输出BIOS 模 块 IO.SYS 设备驱动 ROM BIOS 基本I/O 系 统 硬 件 装 入 命令处理模块 COMMAN D.COM 用户命令
2.中断类型分类向量表中的中断类型分为七类:①处理CPU特殊操作(除0、溢出)的00H、04H类型。②为DEBUG调试程序设置的单步(01H)断点(03H)类型③处理CPU的NMI引脚信号的02H类型→非屏蔽硬中断子程NMI④处理CPU的INTR引脚信号的08~0FH类型8088一可屏蔽类型硬中断子程③用INT指令调用的中断子程BIOS功能调用(如10~1AH)INTRDOS功能调用(如21H)
2. 中断类型分类 ⚫ 向量表中的中断类型分为七类: ① 处理CPU特殊操作( 除0、溢出 )的00H、04H类型。 ② 为DEBUG调试程序设置的单步( 01H )、断点( 03H )类型。 ③ 处理CPU的NMI引脚信号的02H类型。 非屏蔽硬中断子程 ④ 处理CPU的INTR引脚信号的08~0FH类型。 可屏蔽类型硬中断子程 ⑤ 用INT指令调用的中断子程 BIOS功能调用(如10~1AH) DOS功能调用 (如 21H) NMI INTR 8088
③保留类型为DOS系统保留1)指现在未用到,以后系统可能会用到。2)已用到,但不向用户公开。为用户保留1)被系统子程嵌套调用了的类型(如1BH、1CH)。使用户在系统功能基础上扩充功能。2)系统未占用类型(如60H~67H)。②非中断向量类型对应向量表中的4个单元存放的不是中断向量。(如1DH、1EH、1FH、41H、46H、22H)通常是一些参数表的地址信息
⑥ 保留类型 为DOS系统保留 1)指现在未用到,以后系统可能会用到。 2)已用到,但不向用户公开。 为用户保留 1)被系统子程嵌套调用了的类型 ( 如1BH、1CH )。 使用户在系统功能基础上扩充功能。 2)系统未占用类型 ( 如 60H~67H )。 ⑦ 非中断向量类型 对应向量表中的4个单元存放的不是中断向量。 (如1DH、1EH、1FH、41H、46H、22H) 通常是一些参数表的地址信息
·中断向量分配表模块类型号中断源中断功能名称00HBIOS除零错误CPU内部操作01HBIOS单步执行DEBUG程序02HBIOS非屏蔽中断非屏蔽硬中断03H断点设置BIOSDEBUG程序04H溢出错误BIOSCPU内部操作05HBIOS屏幕打印INT 指令保留06-07H08H定时器中断BIOS可屏蔽硬中断09H键盘中断BIOS可屏蔽硬中断保留OAHBIOS可屏蔽硬中断0BHBIOS串行通信中断可屏蔽硬中断0CH保留BIOS可屏蔽硬中断ODH硬盘中断BIOS可屏蔽硬中断OEH软盘中断BIOS可屏蔽硬中断0FHBIOS打印机中断可屏蔽硬中断
类型号 中断功能名称 模 块 中 断 源 00H 除零错误 BIOS CPU 内部操作 01H 单步执行 BIOS DEBUG 程序 02H 非屏蔽中断 BIOS 非屏蔽硬中断 03H 断点设置 BIOS DEBUG 程序 04H 溢出错误 BIOS CPU 内部操作 05H 屏幕打印 BIOS INT 指令 06-07H 保留 08H 定时器中断 BIOS 可屏蔽硬中断 09H 键盘中断 BIOS 可屏蔽硬中断 0AH 保留 BIOS 可屏蔽硬中断 0BH 串行通信中断 BIOS 可屏蔽硬中断 0CH 保留 BIOS 可屏蔽硬中断 0DH 硬盘中断 BIOS 可屏蔽硬中断 0EH 软盘中断 BIOS 可屏蔽硬中断 0FH 打印机中断 BIOS 可屏蔽硬中断 ⚫ 中断向量分配表