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






posted @ 2024-07-16 16:47  卡卡发  阅读(33)  评论(0)    收藏  举报