假设我有一个Hello world
内置的简单程序C
。现在如何在启动PC时引导它?
我的愿望是制作一个简单的hello world操作系统。我对C
和有足够的了解C++
,如何引导它?请告诉我。我需要学习汇编语言吗?
如果是,那么在Assembly中我需要首先了解什么?我应该在哪里去了大会(NASM
,MASM
等..)?
帮助将不胜感激!
您可以通过编写一个简单的引导程序来做到这一点。这篇OSdev文章向您展示了一种解决方法。
关于语言:任何已编译的语言(C / C ++)都将被编译为机器代码,该代码也可以1-1映射到汇编指令。因此,原则上,您可以使用C / C ++编写大多数引导程序。
打印: “启动自己的代码”面临的挑战当然是您将没有任何驱动程序或任何标准库(因此,没有printf
-function或cout
)。但是,在x86中,启动时低内存的某些部分(从处开始0xa0000
)直接映射到视频内存,这意味着您写入此内存部分的字节会自动以文本形式出现在屏幕上。
汇编器的选择:这实际上只是口味的问题。对于简单的汇编语言引导程序,您将希望避免对生成的二进制文件进行任何特殊的格式化。nasm -f bin myfile.asm -o myBootsector
只会将代码汇编成原始二进制文件。
这篇文章有更多详细信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句