8086DOS和BIOS功能调用

上传人:宝路 文档编号:47645561 上传时间:2018-07-03 格式:PPT 页数:13 大小:631.37KB
返回 下载 相关 举报
8086DOS和BIOS功能调用_第1页
第1页 / 共13页
8086DOS和BIOS功能调用_第2页
第2页 / 共13页
8086DOS和BIOS功能调用_第3页
第3页 / 共13页
8086DOS和BIOS功能调用_第4页
第4页 / 共13页
8086DOS和BIOS功能调用_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《8086DOS和BIOS功能调用》由会员分享,可在线阅读,更多相关《8086DOS和BIOS功能调用(13页珍藏版)》请在金锄头文库上搜索。

1、第5章 汇编语言程序设计 5.5.6 DOS和BIOS功能调用为节省编程工作量与优化程序结构,在DOS及 BIOS中预先设计好了一系列通用子程序,以便DOS及 BIOS调用。由于这种调用采用的是以中断指令INT n 的内部中断方式进行的,所以常称为DOS及BIOS中断调用。在一个中断服务程序中往往包含多个功能相对独 立的子程序,所以也将中断调用称为系统功能调用或功 能调用或中断功能调用。第5章 汇编语言程序设计 IBM PC及兼容机的ROM中有一系列外部设备管 理软件,组成了基本的输入输出系统(ROM BIOS)。DOS在此基础上开发了输入输出设备处理程序 IBMBIO.COM,这也是DOS与

2、ROM BIOS的接口。在IBMBIO.COM基础上,DOS还开发了文件管理 和一系列处理程序IBMDOS.COM。另外DOS还有命令处理程序COMMAND.COM, 它与前两种程序构成基本DOS系统。第5章 汇编语言程序设计 中断调用及中断服务程序返回中断调用是一种内部中断方式,通过执行INT n 指令来实 现。即执行INT n 指令,使CPU根据中断类型号n,找中断向量 表中第n项作为此服务的程序入口。0段相对地址4*n+0处字为IP ,0段相对低至4*n+2处字为CS。INT n指令功能:-当前标志寄存器的内容压栈,保存TF;-TF0,IF0;-当前断点的CS值压栈,当前IP值压栈;-I

3、P,CS中断向量第n项的4字节内容。第5章 汇编语言程序设计 DOS及BIOS功能调用属于软件中断,即可用INT n指令调用的中断,它可分为三部分: DOS 中断,占用中断类型号为20H27H和 2FH,其余类型号保留。 ROM BIOS 中断,占用中断类型号10H 1FH。 自由中断,占用中断类型号40H FFH,可供系统或应用程序设置开发的中断处理程序用。第5章 汇编语言程序设计 1、DOS中断及功能调用DOS常用的9类中断(20H27H和2FH)可分为 两种: DOS专用中断。DOS专用中断是指INT 22H、 INT 23H、 INT 24H 3个中断,属DOS操作时专用,用 户不要直

4、接使用。 DOS可调用中断。DOS可调用中断是指INT 20H、 INT 21H、 INT 25H、 INT 26H、 INT 27H和 INT 2FH 6个中断。这6个中断都供用户直接调用,但都 必须要满足一定的入口条件。其中:第5章 汇编语言程序设计 磁盘读写中断。INT 25H、INT 26H分别用来 读和写磁盘上的若干扇区,这实际上是两条BIOS调用。 程序退出中断。INT 20H、INT 27H都为程序 的退出命令。 假脱机打印文件中断。INT 2FH用来实现假脱 机打印文件命令PRINT。 系统功能调用。又称为DOS功能调用,是指 INT 21H 中断。它是可供系统程序和应用程序调

5、用的一 个极其重要的中断,内含近百个子功能。第5章 汇编语言程序设计 2、系统功能调用1.系统功能调用方法 DOS启动成功后,INT 21H 的中断向量(中断处 理程序的首地址)被初始化在中断向量表中,向量地 址为84H87H的4个存储单元内。调用 INT 21H的方法 如下: 入口参数送相应的寄存器; 子功能编号送AH; 发出中断请求:INT 21H 2.常用系统调用子功能第5章 汇编语言程序设计 01H号调用(带回显的键符输入)1 号子功能是从标准输入设备输入一个字符,并送 入寄存器AL,不许入口参数。例如:MOV AH, 01HINT 21H 执行上述指令,系统将扫描键盘,等待有键按下,

6、 一旦有键按下,就将键值(相应字符的ASCII码值)读 入,并送入AL寄存器,同时将这个字符显示在屏幕上。第5章 汇编语言程序设计 0AH号调用(字符串输入)从键盘接收字符串到内存输入缓冲区,要求事先 定义一个输入缓冲区,缓冲区第一个字节指出缓冲区 的字符个数,不能为零。第二个字节保留已用作填写 输入的字符实际个数。从第三个字节开始存放从键盘 上接收的字符。调用时,要求DS:DX指向输入缓冲区 的首地址。键入字符串以回车结束。 例如,从键盘输入一个小于50个字符的字符串数 据。其程序设计方法是:第5章 汇编语言程序设计 DATA SEGMENTBUFDB 50 DB ? DB 50 DUP(?

7、) DATAENDS CODESEGMENT MOV DX, OFFSET BUF MOV AH, 10 INT 21H CODEENDS第5章 汇编语言程序设计 02H号调用(字符输出显示)2号功能是将一个字符(一个ASCII码值)输出到 标准输出设备(即显示器或打印机)。入口参数为DL寄 存器,寄存器DL中存放待输出的字符。例如:MOV DL, AMOV AH, 2INT 21H即将字符“A”显示在屏幕上或输出到打印机。第5章 汇编语言程序设计 09H号调用(字符串输出) 9号功能调用是将缓冲区中的一组以“”结束的字 符串送标准输出设备输出(显示器或打印机)。调用前 必须将输出缓冲区的首地

8、址送DS:DX。例如: DATA SEGMENTBUFDB HOW DO YOU DO ? $ DATAENDS CODESEGMENT MOV DX, OFFSET BUF MOV AH, 9 INT 21H CODEENDS第5章 汇编语言程序设计 3、BIOS中断调用在IBMPC机的ROM存储器中包含一些基本输入输 出子程序。这些基本输入输出子程序简称为BIOS。它们 的功能与DOS中字符IO功能相似,用户也可通过软件中 断方式直接调用。由于BIOS提供的字符IO功能直接依 赖于硬件,因而调用它们比调用DOS字符IO功能速度更 快。例如:键盘输入子程序。调用指令为 INT 16H屏幕显示子程序。调用指令为 INT 10H打印输出子程序。调用指令为 INT 17H

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号