Information Technology Reference
In-Depth Information
Exemple
On considère le programme en langage d'assemblage suivant qui correspond au
programme machine vu précédemment :
var : DS 1 -- définition de la variable var et réservation d'un mot mémoire
un : DC 1 -- définition de la constante 1 nommée un
LOAD Im R1, 0
boucle :
ADD Im R1, un
STORE D R1, var
JMP boucle
STOP
La première passe de l'assembleur construit la table des symboles suivante
(tableau 4.8) :
Ta b l e a u 4 . 8
T ABLE DES SYMBOLES .
Nom du symbole
Valeur
var
0
un
1
boucle
8
Deuxième passe de l'assembleur
Lors de la deuxième passe, l'assembleur génère les instructions en code machine.
Pour cela, l'assembleur remplace chaque mnémonique par son code binaire, chaque
symbole par la valeur qui lui a été attribuée dans la table des symboles. S'il y a des
expressions arithmétiques, celles-ci sont évaluées.
Si cela a été demandé, l'assembleur génère également un listing d'assemblage du
programme. Ce listing comporte généralement pour chaque ligne : un numéro de ligne,
le texte source, la représentation interne en hexadécimal ou en octal de l'instruction
machine, la signalisation d'éventuelles erreurs de syntaxe.
Exemple
Le programme en langage d'assemblage suivant :
var : DS 1 -- définition de la variable var et réservation d'un mot mémoire
un : DC 1 -- définition de la constante 1 nommée un
LOAD Im R1, 0
boucle :
ADD Im R1, un
STORE D R1, var
JMP D boucle
STOP
Search WWH ::




Custom Search