什么是BIOS中断
在存储器系统中,内存从0FE000H高端8K的ROM中存放有基本输入输出系统(Basic Input/Output System,BIOS)例行程序。BIOS给PC系列的不同微处理器提供了兼容的系统加电自检、引导装入、主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。
使用BIOS功能调用,给程序员编程带来极大方便。程序员不必了解硬件的具体细节,可直接使用指令设置参数,并中断调用BIOS例行程序,所以利用BIOS功能调用编写的程序简洁,可读性好,而且易于移植。
简单讲,cpu有一套指令系统,让人来操作电脑。而通常人们完成一个动作需要多个指令,如指示cpu显示一个字符串。为了方便,人们便做了一个映射,如
a->p1p2p3p4……,就把p1等指令用一个新指令来代替。我们输入a就等于输入了p1p2p3p4……这就好比高级语言中的函数功能。一个函数实际是由多个语句构成。
但函数是没有限制的,但bios中断有个数限制。因为bios需要快速运行,只能在内存上找需要的指令。而分配给它的内存容量有限。
我们还可以推断,高级语言就是指令的一个映射集。而编译器的作用就是一个了逆映射,也就是把高级语句,转换为指令。
而高级语言的简洁化加快了程序开发,但它必然会失去语言的强大化。如n个p->一个a为了减少以a为元素的集合中,元素的总数。必须减少映射关系。而通常映射关系就是高级语言的功能模块。
最后的结果是高级语言的语句很少,但实现的功能相对常用。也就是所谓的语言局限性,如专用来开发web2.0等。
操作系统可以看作是一个强大的bios系统,它也可以有中断,自己来实现指令集的映射。当然,随着电脑内存的增大。它可以用函数来代替映射。其实质是中断个数增多,而且再由中断映射到高级语言的函数,使操作更接近人们的思维,操作更加简单。
人跟操作系统打交道,他告诉操作系统,在屏幕上显示某个文件夹的文件名。然后操作系统把人的命令转为指令,输入个cpu,然后cpu执行。
所以,操作系统是用来管理硬件的。而软件是将人的简化命令翻译给操作系统的。
BIOS中断使用方法
BIOS功能都通过软件中断调用。在中断调用前需要把功能号装入AH寄存器,把子功能号装入AL寄存器,除此之外,还需要在CPU的寄存器中提供专门的调用参数。一般来说,调用DOS或BIOS功能时,有以下几个步骤:
(1)将调用参数装入指定的寄存器。
(2)如需功能调用号,把它装入AH。(move ah,x)
(3)如需子功能调用号,把它装入AL。(move al,y)
(4)按中断号调用BIOS。 int z
(5)检查返回参数是否正确。