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"
(variables는 여기에 작성합니다)section .text
 global _start
 _start:
 (instructions는 여기에 작성합니다)

각 섹션의 기능:

섹션목적어느 파일?
section .data프로그램이 실행될 때 메모리에 존재하는 데이터를 보관합니다data.asm
section .text실행 가능한 명령어(코드)를 보관합니다main.asm
global _start링커가 진입점을 볼 수 있도록 합니다main.asm
_start:프로그램 실행이 시작되는 레이블입니다main.asm

지금 당장은 section .data, section .text, global _start 또는 _start:를 암기할 필요가 없습니다. 다음 수업에서 이러한 명령을 각각 자세히 다룰 것입니다. 지금은 전체적인 그림을 살펴보고 두 파일의 구조를 이해하기만 하세요.

직접 해보기

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

quiz icon실력 점검

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

기초의 모든 레슨

직접 연습해 보세요: Assembly 플레이그라운드