abc*_*bar 3 compiler-construction x86 assembly
我正在为8086组装一个汇编程序.我的问题是你如何将十六进制操作码转换为可执行文件,如.EXE,.ELF,.COM,a.out等.为此寻找链接/资源,如果汇编程序执行链接过程,或者它是由OS自动?
它相当复杂,通常包括两个步骤:
因此汇编程序通常不会输出可执行文件; 你需要选择一个目标文件格式并阅读如何生成它.理论上,只要您输出给定格式的有效目标文件,任何链接器都应该能够进行实际的链接过程,但通常汇编器和链接器都是一组,所以我不确定它实际上会有多好在实践中工作(例如,GNU汇编程序(气体)输出GNU特定的重定位和GNU链接器(ld)知道如何处理的部分,因此您不能在任何其他链接器中使用气体生成的目标文件)
ELF记录在SV ABI的第4节中,尽管您也需要阅读处理器的附录.COFF被记录为PE规范的一部分,尽管我无法在任何地方找到它在互联网上托管; 如果你需要它,我可以把它贴在某个地方