我正在尝试为汇编中的引导加载程序做一个hello world。我将遵循本教程:http://www.osdever.net/tutorials/view/hello-world-boot-loader
我搜索了一下,似乎有人说gcc不是做汇编工作的。所以我找到了扁平汇编器。当我试图编译这个例子时,它在第一行的第16位给出了一个错误。基本上它会声明“非法指令”。
这段代码需要什么类型的汇编器?
发布于 2012-09-16 01:12:06
我不知道在GCC的一些工具是否可以编译汇编语言(如果可以,它是否可以编译成16位代码),但是您参考的站点推荐使用NASM。你用NASM试过了吗?
发布于 2015-09-03 16:28:50
我简单地注释掉了这一行,它在FASM中起作用了。似乎FASM会自动默认为16位。编译后,它会生成一个同名的BIN文件。我将其重命名为IMG扩展,然后使用VirtualBox将其指定为软盘映像进行测试。工作得很好,并且启动了。
只要你把这个BIN/IMG文件写到第一个扇区的驱动器上,它就能正常工作。我也使用了上面网站上的教程。
发布于 2020-02-22 05:45:13
试着去掉16位周围的方括号,以防你没有这样做。
https://stackoverflow.com/questions/12439415
复制相似问题