00-大概的开发流程
计算机系统引导介绍

前三步:硬件自己完成
后两步:由自己编写
第四步:bios会先检查硬盘第0个扇区(512字节)中是否有引导代码,(通过检查引导标志来确定,即第0扇区的最后两个字节);接着再将第0个扇区的内容加载到内存中,即把引导代码加载到内存中 (暂不考虑磁盘分区的情况)

整体开发工作流程

1. 首先bios会自动加载磁盘的最开始的那个扇区(即boot程序的代码)到内存的0x7c00处
2. 接着需要自己编写,初始化引导程序(即把一些寄存器的值置为0,并把esp寄存器存入地址值0x7c00)这样在初始化之后就可以从内存的0x7c00开始执行已经加载到内存中的boot程序
https://www.cnblogs.com/kakafa/p/18305789
3. 编写boot程序的内容(通过bios的读取磁盘的功能,把loader程序从磁盘上加载到内存的0x8000的位置处)
https://www.cnblogs.com/kakafa/p/18312145
4. 编写boot程序的最后一步(跳转到Loader程序中)
https://www.cnblogs.com/kakafa/p/18318309
5. 编写loader的内容
6. ……
开始编写/简单的介绍
打开一个初始的工程文件,已经包含了 可引导的启动程序:

接下来的任务是:初始化引导程序(即在程序运行之前为变量或者对象设置初始值的过程)(也就是在boot模块的start.s中编写一些赋初始值的语句)
具体内容:https://www.cnblogs.com/kakafa/p/18305789
浙公网安备 33010602011771号