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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
2021-07-16 URL下载网络资源
2021-07-16 UDP多线程-在线咨询
2021-07-16 UDP聊天实现