gpt4 book ai didi

compiler-construction - 8086 汇编器 - 从操作码生成目标代码

转载 作者:行者123 更新时间:2023-12-04 08:38:52 27 4
gpt4 key购买 nike

我正在为 8086 开发一个汇编程序。我的问题是如何将十六进制操作码转换为可执行文件,如 .EXE、.ELF、.COM、a.out 等。为此寻找链接/资源,汇编程序应该执行链接过程还是由操作系统自动?

最佳答案

相当复杂,通常涉及两个步骤:

  • 汇编程序读入汇编代码,计算出相应的机器代码,并将其连同其他一些信息一起写入目标文件,这些信息因您使用的目标文件格式而异
  • 链接器获取一组目标文件并将它们合并成一个可以实际运行的可执行文件

因此汇编器一般不会输出可执行文件;您需要选择一种目标文件格式并阅读如何生成它。理论上,只要您以给定格式输出一个有效的目标文件,任何链接器都应该能够执行实际的链接过程,但通常汇编器和链接器是一组来的,所以我不确定它实际上有多好在实践中工作(例如,GNU 汇编器(gas)输出 GNU 特定的重定位和 GNU 链接器(ld)知道如何处理的部分,因此您不能在任何其他链接器中使用 gas 生成的目标文件)

ELF 记录在 SV ABI 的第 4 节中。 ,尽管您也需要阅读处理器的附录。 COFF 被记录为 PE 规范的一部分,尽管我无法在 Internet 上的任何地方找到它;如果你需要,我可以把它贴在某个地方

关于compiler-construction - 8086 汇编器 - 从操作码生成目标代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3434786/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com