[ASM]计算机开机运行
现在我们知道了计算机是怎么样运行、区分指令和数据、读写指令和数据的。那么计算机中的程序是怎么运行的呢?
在系统主板的ROM中存放着一套程序,称为BIOS(基本输入输出系统),主要包含以下几部分内容。
1. 硬件系统的检测和初始化程序
2. 外部中断和内部中断的中断例程
3. 用于硬件设备进行I/O 操作的中断例程
4. 其他和硬件系统相关的中断例程
操作系统也提供了中断例程,从操作系统来看,操作系统的中断例程是向程序员提供的编程资源。
1. 开机后,CPU一加电,初始化CS=0FFFFH,IP=0,自动从FFFF:0单元开始执行程序。FFFF:0处有一条跳转指令,转去执行BIOS中的硬件系统检测和初始化程序。
2. 初始化程序将建立BIOS所支持的中断向量,将BIOS提供的中断例程入口地址登记在中断向量表中。这里只需要将入口地址登记在中断向量表中即可,不需要考程序数据,因为它们是固化到ROM中的程序,一直在内在中存在。
3. 硬件系统检测和初始化完成后,调用int 19h进行操作系统的引导。从此将计算机交由操作系统控制。
4. 操作系统启动后,除完成其他工作外,还将它所提供的中断例程装入内存,并建立相应的中断向量。