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 à l’aide de deux fichiers distincts :
| Fichier | Rôle |
|---|---|
data.asm | Stocke toutes les données (chaînes, nombres, variables) |
main.asm | Stocke tout le code (instructions, logique, flux) |
Cela n’est pas requis par l’assembleur. Tu pourrais tout mettre dans un seul fichier. Mais séparer le code des données rend tes 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 pour trouver votre code.
- Pratique du secteur : Les projets réels séparent le code et les données (bien que souvent de manière plus complexe).
Comment cela fonctionne :
Le fichier main.asm inclut le fichier data.asm à l’aide de la directive %include. Cela indique à l’assembleur : « insérer ici l’intégralité du contenu de data.asm 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) |
Fonction de 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, contentez-vous d’observer la vue d’ensemble et de comprendre 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-64Entraînez-vous par vous-même : Playground Assembly