将C和汇编编译为纯机器代码?

时间:2011-07-16 09:23:27

标签: c assembly binary

我现在真的被卡住了......

vmlinuz二进制文件,MBR和BOOTMGR图像等可启动文件都是用纯二进制/机器代码编写的。但它们是从C和汇编编译而来的 - 即linux内核源代码不仅仅由1和0组成,它由C源代码组成。我如何将我的汇编和C程序编译为一般x86(在我的情况下为x86-32)微处理器范围的机器代码,以便我可以从这些文件启动。

1 个答案:

答案 0 :(得分:7)

这种事情有很好的资源:OSDev

特别注意Bare bones页面:它将引导您完成创建,构建和运行用程序集和C编写的极简主义“内核”的过程。

另请参阅Baby steps页面了解如何构建引导扇区。