CM3
Assembleur MIPS (suite)
Olivier Marchetti (CM-TD-TP) Laurent Lambert (TD-TP)
Laboratoire d’informatique de Paris 6 – Pˆole SoC – UPMC
Ann´ee 2016-2017
Instructions de saut ?Fonction ?Remarques programmation
Passer du C `a l’assembleur MIPS : rappels (1/3)
Programmer en ensembleur... ou se substituer au compilateur
Savoir pr´ecis´ement o`u ´ecrire, o`u lire.
=orchestrer un va-et-vient entre CPU et RAM.
Pour cela, il faut :
Ieffectuer des calculs d’adresses m´emoire,
Icharger/d´echarger certains registres depuis/vers la RAM.
Syntaxe MIPS
Chargement d’un registre (lw : load word) :
lw $t, C($s) $tRAM[$s + C]
echargement d’un registre (sw : store word) :
sw $t, C($s) RAM[$s + C] $t
1
0
2
@
2 −2
| mot |
2 −1
| mot |
00101101
01001100
11100000
11000101
00011110
RAM
$Reg
CPU
C
valeur de $svaleur de $s
Olivier Marchetti CM3 – Assembleur MIPS (suite) Ann´ee 2016-2017 2 / 32
Instructions de saut ?Fonction ?Remarques programmation
Passer du C `a l’assembleur MIPS : rappels (2/3)
Programmer en ensembleur... ou se substituer au compilateur
Savoir organiser les donn´ees dans le code assembleur.
=pr´eciser la localisation en RAM, la nature et la visibilit´e.
Syntaxe MIPS
Utilisation de directives assembleur dans le code :
ISegment m´emoire : .data,.text...
IDescription des donn´ees : asciiz,word...
IVisibilit´e : globl,extern.
Etiquettes Dir{Seg. m´em,visib.,donn´ees}– Instr. Commentaires
↓ ↓
.data
tab ent : .word 1,2,3,4
... ... ...
.text
.globl main # main global
... ... ...
main : la $r, tab ent # $rtab ent
... ... ...
Olivier Marchetti CM3 – Assembleur MIPS (suite) Ann´ee 2016-2017 3 / 32
Instructions de saut ?Fonction ?Remarques programmation
Passer du C `a l’assembleur MIPS : rappels (3/3)
Programmer en ensembleur... ou se substituer au compilateur
einventer les structures de contrˆole en jouant avec des
´etiquettes assembleurs.
=organiser des sauts d’instructions avec PC
Syntaxe MIPS
Utilisation d’instructions MIPS dans le code :
IBranchements conditionnels : beq,bne,slt...
IBranchements inconditionnels : j.
Olivier Marchetti CM3 – Assembleur MIPS (suite) Ann´ee 2016-2017 4 / 32
Instructions de saut ?Fonction ?Remarques programmation
Plan
1Programmation en assembleur MIPS : saut sur instructions
Assembleur MIPS : prendre des d´ecisions
Structure de contrˆole switch - case
2Programmation en assembleur MIPS : fonction
G´en´eralit´es sur les fonctions en MIPS
Impl´ementation MIPS de la pile
3Quelques remarques sur le langage assembleur MIPS
Programmation et conventions
Langage de haut-niveau & langage assembleur
Olivier Marchetti CM3 – Assembleur MIPS (suite) Ann´ee 2016-2017 5 / 32
1 / 32 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !