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:
| Archivo | Propósito |
|---|---|
data.asm | Almacena todos los datos (cadenas, números, variables) |
main.asm | Almacena 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.asmcon diferentes archivosmain.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.asm | main.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ón | Propósito | ¿Qué archivo? |
|---|---|---|
section .data | Contiene datos que existen en la memoria cuando el programa se ejecuta | data.asm |
section .text | Contiene las instrucciones ejecutables (código) | main.asm |
global _start | Hace que el punto de entrada sea visible para el enlazador | main.asm |
_start: | Etiqueta donde comienza la ejecución del programa | main.asm |
No es necesario memorizar
section .data,section .text,global _starto_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.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
1La máquina
¿Qué es la CPU?MemoriaRegistros vs. MemoriaCómo funcionan las instruccionesPatrón de dos archivosLa arquitectura x86-64