Как мне скомпилировать более одного файла.asm с помощью fasm в один вывод?

Я хочу собрать несколько сборочных файлов в FAMM. У меня есть некоторые инструкции в одном файле и другие инструкции в другом файле. Как связать эти файлы с двоичным выходом?

И могу ли я использовать extern в этом случае? Или это незаконная команда?

2 ответа

Я хочу собрать несколько сборочных файлов в FAMM.

Таким образом, у вас есть несколько исходных файлов.ASM.

  • Выберите один из ваших исходных файлов в качестве основного исходного файла.
  • Вставьте в него include директива препроцессора для каждого дополнительного исходного файла, который вы хотите в вашем двоичном выходном файле.
  • Собрать. Никакого компоновщика не требуется, FASM делает все это.

Пример с 3 исходными файлами

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

Я обычно создаю включаемый файл (очень похожий на заголовок для моего приложения) и просто включаю этот файл, в котором перечислены все файлы, которые должны быть "включены".

include 'includes.inc'

В таком случае в include.inc будут все соответствующие включения, перечисленные для структуры "стиль проекта".

Это альтернативный подход к тому, что утверждает Фифоерник (это правильно).

Мне также нравится экстернализировать сегменты данных (особенно при разработке для Windows) в vars.inc (разрешения на чтение и запись, без выполнения) и const.inc (только для чтения без разрешения на запись или выполнение). Что-то еще, чтобы обдумать примечание стороны.

Другие вопросы по тегам