Menu
Coddy logo textTech

Patrón de dos archivos

Parte de la sección Fundamentos del Journey de Assembly de Coddy — lección 5 de 45.

A lo largo de este curso, escribirás cada programa utilizando dos archivos separados:

ArchivoPropósito
data.asmAlmacena todos los datos (cadenas, números, variables)
main.asmAlmacena todo el código (instrucciones, lógica, flujo)

Esto no es requerido por el ensamblador. Podrías poner todo en un solo archivo. Pero separar el código de los datos hace que tus programas sean más limpios, más fáciles de leer y más fáciles de depurar.

¿Por qué dos archivos?

  • Organización — Los datos y el código tienen propósitos diferentes. Mantenerlos separados te ayuda a pensar con claridad.
  • Reutilización — Puedes usar el mismo data.asm con diferentes archivos main.asm.
  • Legibilidad — Nunca tendrás que desplazarte por cadenas largas para encontrar tu código.
  • Práctica de la industria — Los proyectos reales separan el código y los datos (aunque a menudo de formas más complejas).

Cómo funciona:

El archivo main.asm incluye el archivo data.asm usando la directiva %include. Esto le dice al ensamblador: "inserta todo el contenido de data.asm justo aquí antes de ensamblar."

Los dos archivos lado a lado:

data.asmmain.asm
section .data%include "data.asm"
(las variables van aquí)section .text
 global _start
 _start:
 (las instrucciones van aquí)

Qué hace cada sección:

SecciónPropósito¿Qué archivo?
section .dataContiene datos que existen en la memoria cuando el programa se ejecutadata.asm
section .textContiene las instrucciones ejecutables (código)main.asm
global _startHace que el punto de entrada sea visible para el enlazadormain.asm
_start:Etiqueta donde comienza la ejecución del programamain.asm

No es necesario memorizar section .data, section .text, global _start o _start: ahora mismo. Cubriremos cada uno de estos comandos en detalle en las siguientes lecciones. Por ahora, simplemente observa el panorama general y comprende la estructura de los dos archivos.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos