Как использовать несколько исходных файлов для одной программы с emu8086?

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

Я использую Эму8086.

Я полагаю, что в C это выглядело бы примерно так.

#include "sample file"

person gariaable    schedule 29.11.2015    source источник
comment
В C вы должны разделить исходный код на отдельные файлы и скомпилировать их по отдельности в объектные файлы. Затем вы свяжете объектные файлы в один исполняемый файл. Вы можете сделать то же самое в сборке.   -  person Ross Ridge    schedule 29.11.2015
comment
Разделение его на несколько файлов не ускорит его работу. Это делает программу более управляемой. Я никогда не использовал EMU8086 для проекта, но я не знал, что он допускает несколько объектных файлов для проекта (но я не знаю на 100%). Я знаю, что у него есть директива include, которая позволяет вам включать другой файл, который может содержать исходный код и макросы. EMU8086 является довольно строгим по сравнению с современным обычным ассемблером/компоновщиком.   -  person Michael Petch    schedule 29.11.2015
comment
Это именно то, что мне нужно. Есть идеи, как это сделать?   -  person gariaable    schedule 29.11.2015
comment
Я исправил ваш вопрос, чтобы спросить то, что вы, по-видимому, хотели знать, вместо того, чтобы запрашивать несколько программ, которые вызывают друг друга (многопроцессорная обработка с удаленными вызовами процедур?). По какой причине вы придерживаетесь emu8086 для этого, а не используете современный ассемблер, такой как YASM или NASM, для создания 16-битного двоичного файла, который вы могли бы запустить в DOSBOX или что-то в этом роде? Это позволит вам создавать отдельные объектные файлы отдельно и ставить ссылки в конце, если хотите. Это также облегчило бы написание некоторых частей на C вместо всего на ASM.   -  person Peter Cordes    schedule 29.11.2015
comment
К сожалению, я не могу использовать другие ассемблеры или даже совершенно другие языки. Это университетский проект. Вся тема посвящена этому конкретному ASM.   -  person gariaable    schedule 29.11.2015


Ответы (1)


В emu8086 директива include "..." работает точно так же, как #include "..." в C. Содержимое (текстового) файла вставляется так, как если бы оно было напечатано. Одно предостережение: текстовый файл должен быть отформатирован под DOS, т. е. новые строки должны быть закодированы двумя символами 0x0D и 0x0A.

person rkhb    schedule 29.11.2015
comment
Примечание. Стандартный суффикс для включаемых файлов .asm — .inc. - person rcgldr; 30.11.2015