标签: c assembly binary
我现在真的被卡住了......
vmlinuz二进制文件,MBR和BOOTMGR图像等可启动文件都是用纯二进制/机器代码编写的。但它们是从C和汇编编译而来的 - 即linux内核源代码不仅仅由1和0组成,它由C源代码组成。我如何将我的汇编和C程序编译为一般x86(在我的情况下为x86-32)微处理器范围的机器代码,以便我可以从这些文件启动。
答案 0 :(得分:7)
这种事情有很好的资源:OSDev。
特别注意Bare bones页面:它将引导您完成创建,构建和运行用程序集和C编写的极简主义“内核”的过程。
另请参阅Baby steps页面了解如何构建引导扇区。