Hello World Boot Loader

时间:2012-09-15 17:07:33

标签: loader boot

我正在尝试为程序集中的引导加载程序做一个hello world。 我正在学习本教程: http://www.osdever.net/tutorials/view/hello-world-boot-loader

我搜索过,似乎有人说gcc不能用于编译程序集。所以我搜索并找到了平面汇编程序。当我尝试编译示例时,它在第一行[BITS 16]给出了一个错误。基本上它表示“非法指令”。

此代码需要什么类型的汇编程序?

3 个答案:

答案 0 :(得分:1)

我不知道GCC中的某个工具是否可以编译汇编程序(如果可以,它是否可以编译为16位代码),但是您引用的站点建议使用NASM。你有没有尝试过NASM?

答案 1 :(得分:0)

我只是评论了这条线,它在FASM中起作用。似乎FASM自动默认为16位。编译完成后,它会生成一个同名的BIN文件。我将其重命名为IMG扩展,然后使用VirtualBox将其分配为软盘映像以进行测试。工作得很好并且被启动了。

只要您将此BIN / IMG文件写入第一个扇区的驱动器,它似乎工作正常。我也使用了上面网站上的教程。

答案 2 :(得分:0)

尝试删除BITS 16周围的方括号,以防万一。