Language machine
2007/2008
Joëlle Delacroix
EXERCICES DIRIGES 4 LANGAGE MACHINE
Rappels de cours
A. Notion d'instructions, modes d'adressages Le langage de programmation d'une machine est un ensemble d'instructions permettant de spécifier à la machines les opérations à exécuter pour résoudre un problème donné. Il existe différents niveaux de langages. Au niveau de la machine physique se trouve le langage dit langage machine, seul exécutable par la machine. Les instructions du langage machine sont des mots binaires. Le schéma ci-dessous résume les différents niveaux de langages existants sur une machine : le langage de haut niveau (C, ada, Cobol, etc…) est indépendant de la machine physique et ne peut pas être directement exécuté par celle-ci. le langage d'assemblage est dépendant de la machine. Il est équivalent au langage machine à la différence près que les chaines binaires de l'instruction machine sont remplacées par des chaines mnémoniques. le langage machine est composé des instructions directement exécutées par le processeur.
Indépendant matériel
Langage haut niveau
I := 1; J := 3; I = J + I;
COMPILATEUR Langage assemblage Dépendant matériel ASSEMBLEUR Langage machine
00000000000011110000000000000001 00000000000010100000000000000011 0010111100000001 LOAD Im R0 1 LOAD Im R1 3 ADD Rg2 R0 R1
1
Architecture des machines NFA004
2007/2008
Joëlle Delacroix
On se réfère à la documentation MAP32 pour étudier le format des instructions et les différents types d'instructions.
2
Architecture des machines NFA004
2007/2008
Joëlle Delacroix
Spécification MAP32
I. La mémoire Elle est constituée de mots de 32 bits. La mémoire est accédée par le biais de deux registres processeur, le registre RAD (Registre Adresse) et le registre RDO (Registre Données), chacun de ces registres étant de 32 bits. Une zone de la mémoire est gérée comme une structure de pile. II. L’unité centrale Les registres de l’unité