1 / 89
文档名称:

IBM-PC汇编语言(⑨BIOS和DOS中断调用程序设计).ppt

格式:ppt   页数:89页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

IBM-PC汇编语言(⑨BIOS和DOS中断调用程序设计).ppt

上传人:经管专家 2013/11/27 文件大小:0 KB

下载得到文件列表

IBM-PC汇编语言(⑨BIOS和DOS中断调用程序设计).ppt

文档介绍

文档介绍:第9章 BIOS和DOS中断调用程序设计
键盘输入中断调用
显示器输出中断调用
开始
DOS中断和BIOS中断
在存储器系统中,内存从0FE000H高端8K的ROM中存放有基本输入输出系统(Basic Input/Output System,BIOS)例行程序。BIOS给PC系列的不同微处理器提供了兼容的系统加电自检、引导装入、主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。
使用BIOS功能调用,给程序员编程带来极大方便。程序员不必了解硬件的具体细节,可直接使用指令设置参数,并中断调用BIOS例行程序,所以利用BIOS功能调用编写的程序简洁,可读性好,而且易于移植
磁盘操作系统(Disk Operating System)是PC机上最重要的操作系统,它是由软盘或硬盘提供的。使BIOS使用起来更方便。因为DOS模块提供了更多更必要的测试,使用DOS操作比使用相应功能的BIOS操作更简易,而且DOS对硬件的依赖性更少些。
DOS模块和ROM BIOS的关系如下图所示。
DOS中断和BIOS中断使用方法
DOS功能调用与BIOS功能都通过软件中断调用。在中断调用前需要把功能号装入AH寄存器,把子功能号装入AL寄存器,除此之外,还需要在CPU的寄存器中提供专门的调用参数。一般来说,调用DOS或BIOS功能时,有以下几个步骤:
(1)将调用参数装入指定的寄存器。
(2)如需功能调用号,把它装入AH。
(3)如需子功能调用号,把它装入AL。
(4)按中断号调用DOS或BIOS。
(5)检查返回参数是否正确。
BIOS中断类型
地址(Hex) 类型码中断名称
0—3 0 除以0
4—7 1 单步
8—B 2 非屏蔽
C—F 3 断点
10—13 4 溢出
14—17 5 打印屏幕
18—1B 6 保留
1D—1F 7 保留
20—23 8 定时器
24—27 9 键盘
28—2B A 保留的硬中断
2C—2F B 2)
30—33 C 1)
34—37 D 硬盘
38—3B E 软盘
3C—3F F 并行打印机
地址(Hex) 类型码中断名称
40—43 10 视频显示I/O调用
44—47 11 设备检测调用
48—4B 12 存储器容量检测
4C—4F 13 软/硬盘I/O调用
50—53 14 通信I/O调用
54—57 15 盒式磁带I/O调用
58—5B 16 键盘I/O调用
5C—5F 17 打印机I/O调用
60—63 18 ROM BASIC
64—67 19 引导程序入口
68—6B 1A 时间调用
6C—6F 1B 键盘CTRL-BREAK控制
70—73 1C 定时器报时
74—77 1D 显示器参数表
78—7B 1E 软盘参数表
7C—7F 1F 字符点阵结构参数表
BIOS中断向量
地址(Hex) 类型码中断名称
80—83 20 程序结束,返回DOS
84—87 21 DOS系统功能调用
88—8B 22 程序结束地址
8C—8F 23 CTRL_BREAK退出地址
90—93 24 标准错误出口地址
94—97 25 绝对磁盘读
98—9B 26 绝对磁盘写
9C—9F 27 程序结束,驻留内存
A0—FF 28—3F 为DOS保留
100—17F 40—5F 保留(扩充BIOS中断向量)
180—19F 60—67 为用户软中断保留
1A0—1FF 68—7F 不用(其中70—77为I/O设备中断向量)
200—217 80—85 BASIC使用
218—3C3 86—F0 BASIC运行时,用于解释
3C4—3FF F1—FF 未用
DOS中断类型
键盘输入中断调用
ASCII与扫描码
BIOS键盘中断
DOS中断调用
ASCII与扫描码
键盘是计算机最基本的一种输入设备,用来输入信息,以达到人机对话的目的。键盘主要由3种基本类型的键组成:
(1)字符数字键:
(2)扩展功能键:如Home、End、Backspace、Delete、Insert、PgUp、PgDown以及功能键F1~F10
(3)和其他键组合使用的控制键:如Alt,Ctrl,Shift等
键盘和主机通过5芯电缆相连,这5根线分别是电源线、地线、复位线以及键盘数据线和键盘时钟线。PC机系列的键盘触点电路按16行×8列的矩阵来排列,用单片机Intel8048来控制对键盘的扫描。按键的识别采用行列扫描法,即根据对行线和列线的扫描结果来确定闭合键的位置,这个位置值称为按键的扫描码,通过数据线将8位扫描码送往主机。当在键盘上“按下”或“放开”一个键时,如果