Assembly 如何将NASM应用程序分解为模块/包并包含它们?
我开始学习汇编语言了。我对它基本上很熟悉。我想知道程序集中的应用程序有多大,也就是说,如何将它们拆分为模块/包,并将它们包含到其他模块中?我特别说的是NASM。您可以:Assembly 如何将NASM应用程序分解为模块/包并包含它们?,assembly,nasm,Assembly,Nasm,我开始学习汇编语言了。我对它基本上很熟悉。我想知道程序集中的应用程序有多大,也就是说,如何将它们拆分为模块/包,并将它们包含到其他模块中?我特别说的是NASM。您可以: 使用 将外部文件包括到当前文件中。 这可以通过命令行开关进一步控制 您还可以使用开关强制NASM预包含文件 组合多个文件 由于NASM不是链接器,您可以利用链接器的能力。。。好吧,把文件链接在一起 使用指令使一组符号对其他模块可见。 使用指令从其他模块导入一组符号 您可以将所有对象文件传递给链接器。 NASM(就像今天一样)一
- 使用
将外部文件包括到当前文件中。
这可以通过命令行开关进一步控制 您还可以使用开关强制NASM预包含文件 - 组合多个文件
由于NASM不是链接器,您可以利用链接器的能力。。。好吧,把文件链接在一起 使用指令使一组符号对其他模块可见。
使用指令从其他模块导入一组符号 您可以将所有对象文件传递给链接器。
NASM(就像今天一样)一次只能组装一个文件,因此需要一个构建脚本
上述两种方法并不相互排斥,但您必须基本了解该方法,以了解后者何时适用(这是有偏见的观点,所以请考虑一下)大型汇编应用程序通常被组织成C++应用程序,只使用少数几个关键部分的程序集。用一个合理编写的C++源代码,机器代码的平均质量将比手写汇编容易得多,而少数关键部件在编译器第一次使用之后更容易调整。因此,不要期望找到一些用于大型asm项目管理的高度复杂的工具。实际上有几个,叫做C、C++、爪哇、C等。Ped7g,不正确。