如何将带有fasm的多个.asm文件编译到一个输出中?

时间:2017-11-17 13:32:46

标签: assembly x86 fasm

我想在fasm中编译多个程序集文件。 我在一个文件中有一些指令,在另一个文件中有其他指令。如何将这些文件链接到二进制输出?

在这种情况下我可以使用extern吗?或者这是非法命令?

2 个答案:

答案 0 :(得分:3)

  

我想在fasm中编译多个汇编文件。

所以你有多个.ASM源文件。

  • 选择一个源文件作为主源文件。
  • 在单个二进制输出文件中为每个其他源文件插入include预处理程序指令。
  • 组装。不需要链接器,FASM可以完成所有工作。

包含3个源文件的示例

; Main source is 'source1.asm'
include 'source2.asm'
include 'source3.asm'
...

答案 1 :(得分:1)

我通常创建一个包含文件(非常类似于我的应用程序的标题),只需包含该文件,该文件列出了所有文件"包含"。

include 'includes.inc'

然后, includes.inc 将拥有为项目风格列出的所有相关内容"结构

这是what Fifoernik states的替代方法(这是正确的)。

我也喜欢将数据段外部化(尤其是在开发Windows时)到 vars.inc (读取和写入权限,无执行)和 const.inc (只读,没有写入或执行权限)。还有其他需要思考的问题。