1
École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66.
Jean-Jacques Girardot
girardot@emse.fr
http://kiwi.emse.fr/ASI
Quatrième séance
Introduction à la Compilation
Cours Architecture des Systèmes
Informatiques
2
École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66.
Plan
Concepts des processeurs : la pile
Le simulateur pédagogique, suite…
Langage machine, langage d’assemblage
Compilation et génération de code
Expressions arithmétiques, boucles, sous-programmes
Module objet, exécutable
Allocation des variables
Statique, automatique, dynamique
Utilisation de la pile
Notion de cadre
3
École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66.
Terminologie
Source (code, programme) : texte rédigé par le programmeur
dans un langage de programmation “évolué”
Objet (code, programme) : traduction en langage de la
machine d’un texte source
Exécutable : programme obtenu en assemblant un programme
objet et l’ensemble des sous-programmes nécessaires à son
exécution
Assembleur : génère du code objet à partir d’un programme en
langage d’assemblage (source)
Compilateur : génère du code objet à partir d’un programme
source en langage de haut niveau (Pascal, C…)
Éditeur de liens : rassemble des modules objets pour constituer
un programme exécutable
Chargeur : installe en mémoire centrale un programme en vue
de son exécution
4
École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66.
La pile du processeur
Qu’est-ce, à quoi sert-elle ?
Portion de la mémoire centrale
Référencée par un registre spécifique, le “pointeur de pile”, stack pointer
“Empiler” une valeur :
a: déplacer le pointeur de pile de ± un mot
b: écrire la valeur dans le mot désigné par le pointeur de pile
Note: certaines machines font b, puis a
“Dépiler” une valeur : effectuer les opérations inverses :
b: lire le mot pointé par le registre de pile
a: déplacer le pointeur de pile en sens inverse
5
École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66.
La pile : outil des sous-programmes
Gestion des appels et retour de sous-programmes
2 instructions :
Appel de sous-programme :
Empiler la valeur du pointeur programme (PC)
Se brancher à l’adresse du sous-programme
Retour de sous-programme :
Dépiler une valeur [le pointeur programme sauvegardé avant
l’appel]
Affecter cette valeur au pointeur programme
1 / 32 100%