如何将 NASM 应用程序分解为 modules/packages 并包含它们?
How to break down a NASM application into modules/packages and include them?
我开始学习汇编语言。我在基础水平上熟悉它。我想知道,Assembly 中的应用程序是如何组织的,也就是说,我如何将它们拆分成 modules/packages 并将它们包含到其他模块中?我指的是 NASM。
您可以:
使用%include
将外部文件包含到当前文件中。
这可以通过 -i
命令行开关进一步控制。
您还可以使用 -p
开关强制 NASM 预先包含文件。
Assemble多个文件
由于 NASM 不是 link 人,您可以利用 link 人的能力...好吧,link 一起归档。
使用 GLOBAL
指令使一组符号对其他模块可见。
使用 EXTERN
指令从其他模块导入一组符号。
您可以将所有目标文件传递给 linker。
NASM(如今天)一次只能assemble一个文件,因此需要构建脚本。
以上两者并不相互排斥,但你必须基本了解NASM output file formats才能知道后者何时适用。
我开始学习汇编语言。我在基础水平上熟悉它。我想知道,Assembly 中的应用程序是如何组织的,也就是说,我如何将它们拆分成 modules/packages 并将它们包含到其他模块中?我指的是 NASM。
您可以:
使用
%include
将外部文件包含到当前文件中。
这可以通过-i
命令行开关进一步控制。您还可以使用
-p
开关强制 NASM 预先包含文件。Assemble多个文件
由于 NASM 不是 link 人,您可以利用 link 人的能力...好吧,link 一起归档。使用
GLOBAL
指令使一组符号对其他模块可见。
使用EXTERN
指令从其他模块导入一组符号。您可以将所有目标文件传递给 linker。
NASM(如今天)一次只能assemble一个文件,因此需要构建脚本。
以上两者并不相互排斥,但你必须基本了解NASM output file formats才能知道后者何时适用。