Assembleur, registres, pile et appels de fonctions
Cette fiche résume les mécanismes de base qui relient un programme de haut niveau à son exécution machine.
Jeu d’instructions
Définition
L’assembleur est une représentation textuelle du code machine.
- Le jeu d’instructions décrit les opérations élémentaires du processeur.
- Une instruction réalise un calcul, une copie, une comparaison ou un saut.
- Une instruction agit localement, avec un effet très précis sur la machine.
Repères
ADD,MOV,CMP,JMPillustrent des opérations typiques.- Le flot d’exécution peut rester séquentiel ou devenir conditionnel.
Registres et mémoire
Comparaison
Registres généraux
- Données temporaires très rapides.
- Opérandes et résultats intermédiaires.
- Capacité limitée.
Registres spéciaux
- Contrôle de l’exécution.
- Adresse ou sommet de pile.
- Rôle imposé par l’architecture.
Adressage
| Mode | Idée |
|---|---|
| Immédiat | La valeur est dans l’instruction. |
| Direct | L’adresse est donnée explicitement. |
Mémo
Adresse et contenu sont différents : l’une pointe, l’autre est la donnée.
Pile d’exécution
Fonctionnement
Définition
La pile d’exécution suit la règle LIFO : dernier entré, premier sorti.
- Le pointeur de pile repère le sommet.
- La pile organise les appels imbriqués.
Appel et retour
Processus
- 1
L’appel transfère l’exécution vers la fonction.
- 2
Les arguments sont placés dans des registres ou sur la pile.
Sauvegarde
Une fonction utilise un registre général déjà occupé. Que faut-il faire avant de le modifier ?
- Sauvegarder le registre sur la pile avant toute écriture.
- Modifier librement le registre pendant la fonction.
- Restaurer la valeur sauvegardée avant le retour.
Le contexte initial est préservé et l’appelant récupère son état.
Lien haut niveau
Langage de haut niveau
- Fonction lisible par le programmeur.
- Variables locales abstraites.
Traduction machine
- Séquence d’instructions élémentaires.
- Prologue et épilogue.
À retenir
Vocabulaire
- PC / IP
- Registre qui pointe l’instruction suivante.
- SP
- Registre qui pointe le sommet de pile.
- Prologue
- Début de fonction qui sauvegarde le contexte.
- Épilogue
- Fin de fonction qui restaure le contexte.
Résumé
- L’assembleur expose les opérations élémentaires du processeur.
- Les registres accélèrent les calculs et les transferts.
