1.代码从MBR启动(boot\freeldr\bootsect\dosmbr.asm)

2.转到硬盘启动分区(boot\freeldr\bootsect\fat32.asm),它负责寻找freeldr.sys。找到后加载到0000:8000h,然后找到freeldr.sys的入口地址。

3.代码跳转到_mainCRTStartup代码(boot\freeldr\freeldr\arch\i386\fathelp.asm)。

4._mainCRTStartup是三个字节的16位代码,跳转到boot\freeldr\freeldr\arch\i386\Arch.S中的RealEntryPoint。

5.RealEntryPoint切换到保护模式,设置启动参数,然后执行函数_BootMain。

6.BootMain已经变成C语言了。

相关文章:

  • 2022-01-11
  • 2021-10-09
  • 2021-11-30
  • 2021-12-08
  • 2021-12-06
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-23
  • 2021-12-23
  • 2021-05-10
  • 2021-12-30
  • 2021-04-07
  • 2021-12-17
  • 2021-12-06
相关资源
相似解决方案