Menu
Coddy logo textTech

Паттерн двух файлов

Часть раздела Основы путешествия по Assembly на Coddy — урок 5 из 45.

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

ФайлНазначение
data.asmХранит все данные (строки, числа, переменные)
main.asmХранит весь код (инструкции, логику, поток выполнения)

Это не требуется ассемблером. Вы могли бы поместить всё в один файл. Но разделение кода и данных делает ваши программы чище, легче для чтения и проще в отладке.

Почему два файла?

  • Организация — Данные и код имеют разные цели. Их разделение помогает мыслить яснее.
  • Повторное использование — Вы можете использовать один и тот же data.asm с разными файлами main.asm.
  • Читаемость — Вам никогда не придется прокручивать длинные строки, чтобы найти свой код.
  • Отраслевая практика — Реальные проекты разделяют код и данные (хотя часто и более сложными способами).

Как это работает:

Файл main.asm включает файл data.asm с помощью директивы %include. Это говорит ассемблеру: «вставь всё содержимое data.asm прямо сюда перед ассемблированием».

Два файла рядом:

data.asmmain.asm
section .data%include "data.asm"
(переменные располагаются здесь)section .text
 global _start
 _start:
 (инструкции располагаются здесь)

Что делает каждый раздел:

РазделНазначениеВ каком файле?
section .dataСодержит данные, которые находятся в памяти во время выполнения программыdata.asm
section .textСодержит исполняемые инструкции (код)main.asm
global _startДелает точку входа видимой для компоновщикаmain.asm
_start:Метка, с которой начинается выполнение программыmain.asm

Вам не нужно заучивать section .data, section .text, global _start или _start: прямо сейчас. Мы подробно разберем каждую из этих команд в следующих уроках. А пока просто взгляните на общую картину и поймите структуру этих двух файлов.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы