第7章中断调用程序设计 第7章中断调用程序设计 7.1概述 7.2键盘输入中断调用 73显示器输出中断调用 74磁盘文件管理
第7章 中断调用程序设计 第7章 中断调用程序设计 • 7.1 概述 • 7.2 键盘输入中断调用 • 7.3 显示器输出中断调用 • 7.4 磁盘文件管理 开 始
第7章中断调用程序设计 7.1概述 71.1DOS中断和BOS中断 7.1.2DOS中断和BIOS中断使用方法
第7章 中断调用程序设计 7.1 概述 • 7.1.1 DOS中断和BIOS中断 • 7.1.2 DOS中断和BIOS中断使用方法
第7章中断调用程序设计 7.1.1DOS中断和BIOS中断 在存储器系统中,内存器高端8K的ROM中存放有 基本输入输出系统( Basic Input/Output System,BIOS) 例行程序。BIOS给PC系列的不同微处理器提供了兼容 的系统加电自检、引导装入、主要I/O设备的处理程序 以及接口控制等功能模块来处理所有的系统中断。使用 BIOS功能调用,给程序员编程带来极大方便。程序员 不必了解硬件的具体细节,可直接使用指令设置参数, 并中断调用BIOS例行程序,所以利用BIOS功能调用编 写的程序简洁,可读性好,而且易于移植
第7章 中断调用程序设计 7.1.1 DOS中断和BIOS中断 在存储器系统中,内存器高端8K的ROM中存放有 基本输入输出系统(Basic Input/Output System,BIOS) 例行程序。BIOS给PC系列的不同微处理器提供了兼容 的系统加电自检、引导装入、主要I/O设备的处理程序 以及接口控制等功能模块来处理所有的系统中断。使用 BIOS功能调用,给程序员编程带来极大方便。程序员 不必了解硬件的具体细节,可直接使用指令设置参数, 并中断调用BIOS例行程序,所以利用BIOS功能调用编 写的程序简洁,可读性好,而且易于移植
第7章中断调用程序设计 磁盘操作系统( Disk Operating System)是PC机上 最重要的操作系统,它是由软盘或硬盘提供的。它的两 个DOS模块 IBMBIO. COM和 IBMDOS COM使BIOS使用起 来更方便。因为DOS模块提供了更多更必要的测试,使 DOS操作比使用相应功能的BⅠOS操作更简易,而且DOS 对硬件的依赖性更少些。DOS模块和 ROM BIOS的关系 如下图所示。 用户 局纲 低 ROM 对I0的 DOS DOS 程序要求 IBMDOS. COM IBMBIO COM BIOS 外设
第7章 中断调用程序设计 磁盘操作系统(Disk Operating System)是PC机上 最重要的操作系统,它是由软盘或硬盘提供的。它的两 个DOS模块IBMBIO.COM和IBMDOS.COM使BIOS使用起 来更方便。因为DOS模块提供了更多更必要的测试,使 DOS操作比使用相应功能的BIOS操作更简易,而且DOS 对硬件的依赖性更少些。DOS模块和ROM BIOS的关系 如下图所示
第7章中断调用程序设计 7.1.2DOS中断和BIOS中断使用方法 DOS功能调用与BIOS功能都通过软件中断调用 在中断调用前需要把功能号装入AH寄存器, 把子功能号装入AL寄存器,除此之外,还需要 在CPU的寄存器中提供专门的调用参数。一般 来说,调用DOS或BIOS功能时,有以下几个步 (1)将调用参数装入指定的寄存器。 (2)如需功能调用号,把它装入AH。 (3)如需子功能调用号,把它装入AL。 (4)按中断号调用DOS或BIOS。 (5)检查返回参数是否正确
第7章 中断调用程序设计 7.1.2 DOS中断和BIOS中断使用方法 DOS功能调用与BIOS功能都通过软件中断调用。 在中断调用前需要把功能号装入AH寄存器, 把子功能号装入AL寄存器,除此之外,还需要 在CPU的寄存器中提供专门的调用参数。一般 来说,调用DOS或BIOS功能时,有以下几个步 骤: (1)将调用参数装入指定的寄存器。 (2)如需功能调用号,把它装入AH。 (3)如需子功能调用号,把它装入AL。 (4)按中断号调用DOS或BIOS。 (5)检查返回参数是否正确
第7章中断调用程序设计 7.2键盘输入中断调用 72.1ASCI与扫描码 72.2BIOS键盘中断 72.3DOS中断调用
第7章 中断调用程序设计 7.2 键盘输入中断调用 7.2.1 ASCII与扫描码 7.2.2 BIOS键盘中断 7.2.3 DOS中断调用
第7章中断调用程序设计 7.2.1ASCI与扫描码 键盘是计算机最基本的一种输入设备 用来输入信息,以达到人机对话的目的。键 盘主要由3种基本类型的键组成: (1)字符数字键: (2)扩展功能键:如Home、End、 Backspace、 Delete、 Insert、PgUp、PgD以及功能键F1l F10 (3)和其他键组合使用的控制键:如Alt,Crl, Shift等
第7章 中断调用程序设计 7.2.1 ASCII与扫描码 键盘是计算机最基本的一种输入设备, 用来输入信息,以达到人机对话的目的。键 盘主要由3种基本类型的键组成: (1)字符数字键: (2)扩展功能键:如Home、End、Backspace、 Delete、Insert、PgUp、PgD以及功能键F1~ F10 (3)和其他键组合使用的控制键:如Alt,Ctrl, Shift等
第7章中断调用程序设计 键盘和主机通过5芯电缆相连,这5根线 分别是电源线、地线、复位线以及键盘数据 线和键盘时钟线。PC机系列的键盘触点电路 按16行×8列的矩阵来排列,用单片机 Intel8048来控制对键盘的扫描。按键的识别 采用行列扫描法,即根据对行线和列线的扫 描结果来确定闭合键的位置,这个位置值称 为按键的扫描码,通过数据线将8位扫描码送 往主机。当在键盘上“按下”或“放开” 个键时,如果键盘中断是允许的(21H端口 的第一位等于0),就会产生一个类型9的中 断,并转入到BIOS的键盘中断处理程序
第7章 中断调用程序设计 键盘和主机通过5芯电缆相连,这5根线 分别是电源线、地线、复位线以及键盘数据 线和键盘时钟线。PC机系列的键盘触点电路 按16行×8列的矩阵来排列,用单片机 Intel8048来控制对键盘的扫描。按键的识别 采用行列扫描法,即根据对行线和列线的扫 描结果来确定闭合键的位置,这个位置值称 为按键的扫描码,通过数据线将8位扫描码送 往主机。当在键盘上“按下”或“放开”一 个键时,如果键盘中断是允许的(21H端口 的第一位等于0),就会产生一个类型9的中 断,并转入到BIOS的键盘中断处理程序
第7章中断调用程序设计 该处理程序从8255可编程外围接口芯片的输 入端口读取一个字节,这个字节的低7位是按键 的扫描码。最高位为0或者为1,分别表示键是 “按下”状态还是“放开”状态。按下时,取得 的字节称为通码,放开时取得的字节称为断码。 如ESC键按下取得的通码为01H(00001B), 放开ESC键时会产生一个断码81H (1000000B)。BIOS键盘处理程序将取得的扫 描码转换成相应的字符码,大部分的字符码是 个标准的ASCⅡ码;没有相应ASCⅢ的键,如Alt 和功能键(F1~F10),字符码为0;还有一些非 ASCⅡ码键产生一个指定的操作
第7章 中断调用程序设计 该处理程序从8255可编程外围接口芯片的输 入端口读取一个字节,这个字节的低7位是按键 的扫描码。最高位为0或者为1,分别表示键是 “按下”状态还是“放开”状态。按下时,取得 的字节称为通码,放开时取得的字节称为断码。 如ESC键按下取得的通码为01H(00000001B), 放开ESC键时会产生一个断码81H (10000001B)。BIOS键盘处理程序将取得的扫 描码转换成相应的字符码,大部分的字符码是一 个标准的ASCII码;没有相应ASCII的键,如Alt 和功能键(F1~F10),字符码为0;还有一些非 ASCII码键产生一个指定的操作
第7章中断调用程序设计 7.2.2BIOS键盘中断 类型16H的中断提供了基本的键盘操作,它的 中断处理程序包括3个不同的功能,分别根据AH寄 存器中的子功能号来确定 (1)AH=0本功能为从键盘读字符到AL寄存器中 (2)AH=1本功能为读键盘缓冲区字符到AL寄存器 中,并置ZF标志位。 (3)AH=2本功能为读取特殊功能键的状态
第7章 中断调用程序设计 7.2.2 BIOS键盘中断 类型16H的中断提供了基本的键盘操作,它的 中断处理程序包括3个不同的功能,分别根据AH寄 存器中的子功能号来确定。 (1)AH=0 本功能为从键盘读字符到AL寄存器中。 (2)AH=1 本功能为读键盘缓冲区字符到AL寄存器 中,并置ZF标志位。 (3)AH=2 本功能为读取特殊功能键的状态