BIOS是用汇编语言编写的,机器只能理解二进制文件。 BIOS是系统启动时加载到内存中的第一个程序。什么编译BIOS来生成二进制文件?
答案 0 :(得分:6)
理论上,BIOS可以用任何产生可执行二进制文件的语言编写,但必须处理低级硬件,最合适和最常用的是汇编和C。
当PC打开时,没有什么可编译的,它已经是内存中的汇编/编译二进制文件(ROM,eprom,flash),CPU需要它。
您可以查看Bochs emulator's bios来源(我认为Qemu和Virtualbox也有自己的但不确定来源是否可用)。
还有一些旨在取代PC BIOS的开源项目,例如coreboot。
答案 1 :(得分:6)
BIOS工程师使用x86汇编语言编写BIOS,然后使用MASM或NASM等程序“编译”。
然后将生成的二进制文件刻录到Flash ROM芯片中(使用a tool like this),然后将其安装在主板上。
当PC打开时,它开始执行该闪存芯片的代码,该代码初始化PC的硬件,然后将控制权转移到操作系统。
对上述内容的一些评论:
答案 2 :(得分:1)
编辑:此答案不正确,如评论中所述。
我认为你误解了编译器。
编译程序时,您将使用高级语言(如C)并将其转换为程序集。汇编程序=二进制程序。他们是同一个。
因此,没有任何编译BIOS。它只是运行。
答案 3 :(得分:-1)
我认为主板制造商将其转换并将其写在ROM上?