Systèmes Informatiques I - Assembleur
2. 1. 2001 Version 2.31 - 2000 / 01- Matières 2 -
- Compteur de position et compteur-ordinal . . . . . . . . . . . . . . . . . 3.13
- Valeur initiale du compteur-ordinal lors de l’exécution . . . . . . 3.13
Contrôle des segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.14
L‘instruction SEGMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.14
Association du code-objet à un segment logique . . . . . . . . . . . . . . 3.15
- Décomposition du code en segments logiques . . . . . . . . . . . . . . 3.15
- Gestion à l’aide d’un compteur de position . . . . . . . . . . . . . . . . 3.15
- Alternance entre segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.15
- Exemple: résultat du travail de l’éditeur de liens . . . . . . . . . . . 3.16
Placement de segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.17
Alignement de l’adresse de base d’un segment . . . . . . . . . . . . . . . 3.18
Gestion des registres de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.19
Initialisation des registres de base . . . . . . . . . . . . . . . . . . . . . . . . . . 3.19
- Réalisation (assembleur et éditeur de liens) . . . . . . . . . . . . . . . . 3.20
Association segments logiques - registres de base . . . . . . . . . . . . . 3.21
Gestion des registres de base, exemple . . . . . . . . . . . . . . . . . . . . . . 3.22
Contrôle des segments, résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.24
Exemple d’un programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.25
Définition de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.26
Pseudo-instructions pour la réservation et définition de données . . 3.26
- La fonction DUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.27
- Constantes-caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.27
- Formats possibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.27
Réservation de données, exemples . . . . . . . . . . . . . . . . . . . . . . . . . 3.28
LE RÉPERTOIRE D’INSTRUCTIONS .......................4.1
Opérations utilisant la pile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2
Utilisation d’une pile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2
Opérations utilisant la pile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3
Opérations de branchement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4
Forme des instructions de branchement . . . . . . . . . . . . . . . . . . . . . 4.4
Branchements sans condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4
Branchements pour itérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4
Branchements conditionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5
Opérations arithmétiques & logiques . . . . . . . . . . . . . . . . . . . . . . . . . 4.6
Extension du bit de signe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9
Opérations itératives, actions sur chaînes de caractères . . . . . . . . . . . 4.10
Résumé des instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.10
Contrôle des itérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.11
Contrôle des bits du registre ‘flags’ . . . . . . . . . . . . . . . . . . . . . . . . . . 4.12
Diverses opérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.12
VARIABLES ET EXPRESSIONS ......................... 5.1
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2
Composantes d’une variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2
Définition d’une variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3
- Visibilité d’une variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3
Types de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4
Etiquettes (“labels”) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4
Variables relogeables (“variables”) . . . . . . . . . . . . . . . . . . . . . . . . 5.5
Constantes (“numbers”) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5
Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6
Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7
Fonction pour l’accès au compteur de position . . . . . . . . . . . . . . . 5.7
Fonctions pour obtenir les attributs d’un “RECORD” . . . . . . . . . . 5.7
Fonctions pour obtenir les attributs d’une variable . . . . . . . . . . . . 5.8
Fonctions pour manipuler les attributs d’une variable . . . . . . . . . . 5.9
Fonctions comme opérateurs dans une expression . . . . . . . . . . . . . 5.10
ASPECTS MÉTA-ASSEMBLEUR ......................... 6.1
Assemblage conditionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2
- Conditions reconnues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2
- Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3
Assemblage répétitif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4
Substitutions de chaînes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6
Macro-assemblage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7
Définition d’une macro-instruction . . . . . . . . . . . . . . . . . . . . . . . . 6.7
Appel d’une macro-instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7
- Principes de la substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7