欢迎来到天天文库
浏览记录
ID:38959980
大小:825.81 KB
页数:13页
时间:2019-06-22
《DOS和BIOS功能调用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5.5.6DOS和BIOS功能调用为节省编程工作量与优化程序结构,在DOS及BIOS中预先设计好了一系列通用子程序,以便DOS及BIOS调用。由于这种调用采用的是以中断指令INTn的内部中断方式进行的,所以常称为DOS及BIOS中断调用。在一个中断服务程序中往往包含多个功能相对独立的子程序,所以也将中断调用称为系统功能调用或功能调用或中断功能调用。IBMPC及兼容机的ROM中有一系列外部设备管理软件,组成了基本的输入输出系统(ROMBIOS)。DOS在此基础上开发了输入输出设备处理程序IBMBIO.COM
2、,这也是DOS与ROMBIOS的接口。在IBMBIO.COM基础上,DOS还开发了文件管理和一系列处理程序IBMDOS.COM。另外DOS还有命令处理程序COMMAND.COM,它与前两种程序构成基本DOS系统。中断调用及中断服务程序返回中断调用是一种内部中断方式,通过执行INTn指令来实现。即执行INTn指令,使CPU根据中断类型号n,找中断向量表中第n项作为此服务的程序入口。0段相对地址4*n+0处字为IP,0段相对低至4*n+2处字为CS。INTn指令功能:-当前标志寄存器的内容压栈,保存TF;-T
3、F←0,IF←0;-当前断点的CS值压栈,当前IP值压栈;-IP,CS←中断向量第n项的4字节内容。DOS及BIOS功能调用属于软件中断,即可用INTn指令调用的中断,它可分为三部分:⑴DOS中断,占用中断类型号为20H~27H和2FH,其余类型号保留。⑵ROMBIOS中断,占用中断类型号10H~1FH。⑶自由中断,占用中断类型号40H~FFH,可供系统或应用程序设置开发的中断处理程序用。1、DOS中断及功能调用DOS常用的9类中断(20H~27H和2FH)可分为两种:⑴DOS专用中断。DOS专用中断是指
4、INT22H、INT23H、INT24H3个中断,属DOS操作时专用,用户不要直接使用。⑵DOS可调用中断。DOS可调用中断是指INT20H、INT21H、INT25H、INT26H、INT27H和INT2FH6个中断。这6个中断都供用户直接调用,但都必须要满足一定的入口条件。其中:①磁盘读写中断。INT25H、INT26H分别用来读和写磁盘上的若干扇区,这实际上是两条BIOS调用。②程序退出中断。INT20H、INT27H都为程序的退出命令。③假脱机打印文件中断。INT2FH用来实现假脱机打印文件命令P
5、RINT。④系统功能调用。又称为DOS功能调用,是指INT21H中断。它是可供系统程序和应用程序调用的一个极其重要的中断,内含近百个子功能。2、系统功能调用1.系统功能调用方法DOS启动成功后,INT21H的中断向量(中断处理程序的首地址)被初始化在中断向量表中,向量地址为84H87H的4个存储单元内。调用INT21H的方法如下:⑴入口参数送相应的寄存器;⑵子功能编号送AH;⑶发出中断请求:INT21H2.常用系统调用子功能⑴01H号调用(带回显的键符输入)1号子功能是从标准输入设备输入一个字符,并送入寄
6、存器AL,不许入口参数。例如:MOVAH,01HINT21H执行上述指令,系统将扫描键盘,等待有键按下,一旦有键按下,就将键值(相应字符的ASCII码值)读入,并送入AL寄存器,同时将这个字符显示在屏幕上。⑵0AH号调用(字符串输入)从键盘接收字符串到内存输入缓冲区,要求事先定义一个输入缓冲区,缓冲区第一个字节指出缓冲区的字符个数,不能为零。第二个字节保留已用作填写输入的字符实际个数。从第三个字节开始存放从键盘上接收的字符。调用时,要求DS:DX指向输入缓冲区的首地址。键入字符串以回车结束。例如,从键盘输
7、入一个小于50个字符的字符串数据。其程序设计方法是:DATASEGMENTBUFDB50DB?DB50DUP(?)DATAENDSCODESEGMENT…MOVDX,OFFSETBUFMOVAH,10INT21H…CODEENDS⑶02H号调用(字符输出显示)2号功能是将一个字符(一个ASCII码值)输出到标准输出设备(即显示器或打印机)。入口参数为DL寄存器,寄存器DL中存放待输出的字符。例如:MOVDL,‘A’MOVAH,2INT21H即将字符“A”显示在屏幕上或输出到打印机。⑷09H号调用(字符串输
8、出)9号功能调用是将缓冲区中的一组以“$”结束的字符串送标准输出设备输出(显示器或打印机)。调用前必须将输出缓冲区的首地址送DS:DX。例如:DATASEGMENTBUFDB‘HOWDOYOUDO?$’DATAENDSCODESEGMENT…MOVDX,OFFSETBUFMOVAH,9INT21H…CODEENDS3、BIOS中断调用在IBM-PC机的ROM存储器中包含一些基本输入输出子程序。这些基本输入输出子程序简称为BIO
此文档下载收益归作者所有