Menu
Coddy logo textTech

Two-File 패턴

Coddy Assembly 여정의 기초 섹션에 포함된 레슨 — 45개 중 5번째.

이 과정 전반에 걸쳐, 여러분은 두 개의 별도 파일을 사용하여 모든 프로그램을 작성하게 될 것입니다:

파일용도
data.asm모든 데이터(문자열, 숫자, 변수)를 저장합니다
main.asm모든 코드(명령어, 로직, 흐름)를 저장합니다

이것은 어셈블러에서 필수적인 사항은 아닙니다. 모든 내용을 하나의 파일에 담을 수도 있습니다. 하지만 코드와 데이터를 분리하면 프로그램이 더 깔끔해지고 가독성이 좋아지며 디버깅도 쉬워집니다.

왜 파일이 두 개인가요?

  • 조직화 — 데이터와 코드는 목적이 다릅니다. 이를 분리해 두면 생각을 명확히 하는 데 도움이 됩니다.
  • 재사용성 — 동일한 data.asm을 서로 다른 main.asm 파일과 함께 사용할 수 있습니다.
  • 가독성 — 코드를 찾기 위해 긴 문자열을 스크롤할 필요가 없습니다.
  • 업계 관행 — 실제 프로젝트에서는 코드와 데이터를 분리합니다(종종 더 복잡한 방식으로).

작동 원리:

main.asm 파일은 %include 지시어를 사용하여 data.asm 파일을 포함합니다. 이것은 어셈블러에게 "어셈블하기 전에 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링커가 진입점(entry point)을 볼 수 있도록 합니다main.asm
_start:프로그램 실행이 시작되는 레이블main.asm

지금 당장 section .data, section .text, global _start 또는 _start:를 외울 필요는 없습니다. 다음 레슨에서 이 명령어들 각각을 자세히 다룰 것입니다. 지금은 전체적인 그림을 보고 두 파일의 구조를 이해하는 데 집중하세요.

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨