BIOS中断

本文从《x86汇编语言-从实模式到保护模式》第9章摘抄

电脑的每个外部设备接口,包括各种板卡,如网卡、显卡、键盘接口电路、硬件控制器等,都有自己的只读存储器(Read Only Memory,ROM) ,类似于 BIOS 芯片,这些 ROM 中提供了它自己的功能调用例程,以及本设备的初始化代码。按照规范,前两个单元的内容是 0x55 和 0xAA,第三个单元是本 ROM 中以 512 字节为单位的代码长度;从第四个单元开始,就是实际的 ROM 代码

从内存物理地址 A0000 开始,到 FFFFF 结束,有相当一部分空间是留给外围设备的。如果设备存在,那么,它自带的 ROM 会映射到分配给它的地址范围内。

在计算机启动期间,BIOS 程序会以 2KB 为单位搜索内存地址 C0000~E0000 之间的区域。当它发现某个区域的头两个字节是 0x55 和 0xAA 时,那意味着该区域有 ROM 代码存在,是有效的。接着,它对该区域做累加和检查,看结果是否和第三个单元相符。如果相符,就从第四个单元进入。
这时,处理器执行的是硬件自带的程序指令,这些指令初始化外部设备的相关寄存器和工作状态,最后,填写相关的中断向量表,使它们指向自带的中断处理过程。

上述中断成为BIOS中断,可以通过 int n 指令产生软中断来使用最基本的硬件访问功能,n 表示硬件的中断号,不同硬件使用不同的中断号.

常用BIOS功能调用:
BIOS中断_第1张图片
BIOS中断_第2张图片
BIOS中断_第3张图片

DOS系统功能调INT 21H指令说明及使用方法,请参见 暧鹅 的博客

你可能感兴趣的:(x86汇编,x86,BIOS,中断)