Assembleur MIPS R3000 : Cours et Exercices Corrigés

Telechargé par abdelmadjid redjechta
REPUBLIQUE ALGERIENNE DEMOCTRATIQUE ET POPULAIRE
DJILLALI UNVERSITE DJILLALI LIABES DE SIDI BEL-ABBES
FACULTE DES SCIENCES EXACTES DEPARTEMENT INFORMATIQUE
ASSEMBLEUR MIPS R3000
avec un recueil
d'exercices Corrigés
PR GAFOUR ABDELKADER
ANNÉE UNIVERSITAIRE 2020-2021
Langage Assembleur
ADD A ,B ,C
Langage Machine
0000 0010 1011 0110 0100 1000 0010 0000
Langage de Haut niveau
C := A+ B
2
La programmation en information est un art très passionnant qui permet
entre autres de comprendre le principe de fonctionnement d'un ordinateur
en général et le rôle du processeur en particulier.
Comme le langage d'assemblage appelé communément l'assembleur est le
langage le plus proche de la machine, il est impératif que tout
informaticien doive étudier au moins un assembleur dans son cursus
universitaire.
Dans ce polycopié j'ai relaté la représentation de l'information en
mémoire du MIPS R 3000, son architecture externe en terme de registres
et de zone mémoire accessibles à l'utilisateur, son jeu d'instructions ses
pseudo_instructions, ses directives et certaines fonctions d'appel système
pour les entrées- sorties de données. En outre il contient un recueil
d'exercices corrigés, il est bien illustré de beaucoup d'exerces types pour
permettre aux usagers "d'apprendre par l'exemple".
Il est scindé en trois parties, dans la première partie est exposée
La représentation de l'information en mémoire, la deuxième partie
englobe l'architecture externe du MIPS R3000, son jeu d'instruction,
certaines de ses directives et fonctions systèmes utiles à la
programmation enfin la troisième partie vient enrichir ce dernier avec un
recueil d'exercices corrigés.
3
I- Introduction 7
II- Représentation de l’information en mémoire 8
II.1 Les unités de mesure en Informatique 8
II.2 Représentation des nombres signés et non signés 10
II.2.1 Représentation des nombres en binaire pur 10
II.2.2 Les intervalles de représentations des nombres entiers
signés et non signés 13
II.2.3 Intervalle de représentation sur format 10 BITS 13
II.3 Représentation des réels en Virgule Flottante 15
II.4 Représentation des caractères 17
III Hiérarchie des langages de programmation 18
III.1 Notion d’architecture RISC et CISC 19
III.2 L’architecture RISC 19
III.3 Différences entre L’architecture RISC et CISC 19
IV Processeur MIPS R3000 20
IV.1 Introduction 20
IV.2 Architecture Externe 20
IV.3 Registres visibles Ou Accessibles par 21
Instruction(non protégés)
IV.4 Registres protégés 22
IV.5 Organisation de la Mémoire 23
4
IV.6 Langage d’Assemblage : L’Assembleur MIPS 24
IV.6.1 Format D’Instruction en ASSEMBLEUR 24
IV.6.2 Les directives 24
IV.6.3 Directive de réservation d’espace mémoire 24
IV.6.4 Directive d’Initialisation de Zone Mémoire 24
IV.6.5 Les Pseudo-Instruction en ASSEMBLEUR 28
IV.6.6 Le Jeu d’Instruction du MIPS R3000 30
IV.6.7 Les Instruction de Lecture/Ecriture 30
IV.6.8 Les Instruction de Logique 33
IV.6.9 Les Instructions de Décalage 35
IV.6.10 Les Instructions de Branchement 37
IV.6.11 Traduction en Assembleur des
actions de test et des boucles 39
IV.6.12 Structure d’un Programme en Assembleur
42
IV.6.13 Les fonctions Appel Système (SYSCALL) 43
IV.6.14 Programmation en Assembleur 52
IV.6.15 Rappel de la Structure d’un Programme en Assembleur 52
IV.6.16 Exemple 1 sans Procédures Système sans Directives 52
IV.6.17 Exemple 2 : Avec Procédure Système 52
IV.6.18 Exemple 3 : Avec Procédures Système & Directives 53
IV.6.19 Exemple 4 : Calcul du PGCD et PPMC 53
IV.6.20 Exemple 5 : Calcul de l'inverse
d'un nombre de 2 chiffres 56
5
IV.6.21 Exemple 6 : Calcul de Factoriel N = N!= 1.2.3….N 57
IV.6.22 Les directives relatives au réels( les flottants) 58
IV.6.23 Le Jeu d’Instruction sur les Réels du MIPS R3000 58
IV.6.24 Exemple: Equation AX2 + BX + C = 0 60
IV.7 Les Sous-Programmes en Assembleur 61
IV.7.1 EXEMPLE d’algorithme avec Fonction 61
IV.7.2 PROCEDURES & LES FONCTIONS 63
RÉCURSIVES
IV.7.2.1 Définition de Fonction Récursive 63
IV.7.2.2 Exemple de Fonction Récursive 63
IV.7.2.3 Rappel de fonction d’appel à 64
un sous programme
IV.7.2.4 Structures dynamiques 65
IV.7.2.5 Gestion de la file d’attente 65
IV.7.2.6 Gestion de la PILE 65
IV.7.2.7 Exemple de Gestion de la PILE 66
IV.8 ASSEMBLAGE & DESASSEMBLAGE 68
IV.8.1 Organisation de la Mémoire du MIPS 69
IV.8.2 Codage ou Assemblage d’Instruction 70
IV.8.3 Exemple de Codage d’une instruction au format R 75
IV.8.4 Exemple de Codage d’une instruction au format I 76
IV.8.5 Exemple de Codage d’une instruction au format J 77
1 / 97 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!