引导程序
1:
概述
计算机在开始启动的时候,首先运行
BIOS
程序,
BIOS
程序检测当前硬件。
完成后,根据
CMOS
中的关于驱动器启动顺序的设置,找到一个可用的驱动器
来启动。这里的驱动器包括软盘、光盘、硬盘等设备,但是为了简化问题,下面
只讨论软盘驱动器或者硬盘驱动器的启动。
在软盘
(
硬盘
)
启动的过程中,最先是
BOIS
将软盘的首扇区(也就是
0
柱面,
0
头、
1
扇区)的
512
个字节的内容读到内存的
7C00H
的地方,然后
CPU
跳到
7C00H(CS:IP=0000:7C00H?)
处运行。由于只有
512
个字节的大小,不可能放下
一个操作系统的代码。
因此,
这
512
个字节的代码一般是一个过渡性的代码,
它
主要由读软盘扇区指令构成,
用来实现这样的一个功能:
将操作系统的代码都读
到内存中去,读完后再通过
JMP
指令跳到操作系统代码的入口地址,进一步运
行程序。习惯上,我们把保存在首扇区中的程序称为引导程序。
虽说引导程序一般是用来实现操作系统的引导的,的是但这并不是必要的;
它可以是任何形式的代码,只要符合的一个条件:代码对应的机器代码不超过
512
个字节。下面的引导程序演示代码就没有任何的读软盘指令,它只是不断的
循环一个过程:接受并显示字符。
在最后,交代一下程序的运行软件环境
:
程序在
XP
编写、编译,在虚拟机下
测试。