Le modèle à deux fichiers
Fait partie de la section Fondamentaux du Journey Assembly de Coddy — leçon 5 sur 45.
Tout au long de ce cours, vous écrirez chaque programme en utilisant deux fichiers distincts :
| Fichier | Objectif |
|---|---|
data.asm | Stocke toutes les données (chaînes de caractères, nombres, variables) |
main.asm | Stocke tout le code (instructions, logique, flux) |
Ceci n'est pas requis par l'assembleur. Vous pourriez tout mettre dans un seul fichier. Mais séparer le code des données rend vos programmes plus propres, plus faciles à lire et plus faciles à déboguer.
Pourquoi deux fichiers ?
- Organisation — Les données et le code ont des objectifs différents. Les garder séparés vous aide à réfléchir clairement.
- Réutilisabilité — Vous pouvez utiliser le même
data.asmavec différents fichiersmain.asm.
- Lisibilité — Vous n'avez jamais besoin de faire défiler de longues chaînes de caractères pour trouver votre code.
- Pratique de l'industrie — Les projets réels séparent le code et les données (bien que souvent de manières plus complexes).
Comment ça fonctionne :
Le fichier main.asm inclut le fichier data.asm en utilisant la directive %include. Cela indique à l'assembleur : « insérez tout le contenu de data.asm juste ici avant l'assemblage. »
Les deux fichiers côte à côte :
| data.asm | main.asm |
|---|---|
section .data | %include "data.asm" |
| (les variables vont ici) | section .text |
global _start | |
_start: | |
| (les instructions vont ici) |
Ce que fait chaque section :
| Section | Objectif | Quel fichier ? |
|---|---|---|
section .data | Contient les données qui existent en mémoire lors de l'exécution du programme | data.asm |
section .text | Contient les instructions exécutables (code) | main.asm |
global _start | Rend le point d'entrée visible pour l'éditeur de liens | main.asm |
_start: | Étiquette où commence l'exécution du programme | main.asm |
Vous n'avez pas besoin de mémoriser
section .data,section .text,global _startou_start:pour le moment. Nous aborderons chacune de ces commandes en détail dans les leçons suivantes. Pour l'instant, regardez simplement la vue d'ensemble et comprenez la structure des deux fichiers.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
1La Machine
Qu'est-ce qu'un CPULa mémoireRegistres vs MémoireFonctionnement des instructionsLe modèle à deux fichiersL'architecture x86-64