向32位模式转变,为main函数的调用做准备
1、关中断并将system移动到内存地址起始位置0x00000
1.1 关中断:将CPU的标志寄存器(EFLAGS)中的中断允许标志(IF)置0。
main函数中能够适应保护模式的中断服务体系被重建完毕才会打开中断,而那时候响应中断的服务程序将不再是BIOS提供的中断服务程序,取而代之的是由系统自身提供的中断服务程序。
关中断
EFLAGS:标志寄存器,存在于CPU中,32位,包含一组状态标志、控制标志及系统标志。
关中断(cli)和开中断(sti)操作将在操作系统代码中频繁出现,其意义深刻。目的是避免中断在此期间的介入。
CPU关中断为实模式下中断向量表和保护模式下中断描述符表(IDT)的交接工作。避免出现实模式的中断机制已经废除、保护模式的中断机制尚未完成的尴尬局面,从而出现系统崩溃。
2、setup程序做了一个影响深远的动作:将位于0x10000的内核程序复制至内存地址起始位置0x00000处!
复制system模块至内存起始处
复制动作将BIOS中断向量表和BIOS数据区完全覆盖,使它们不复存在。直到新的中断服务体系构