Fixed a few mistakes in cmp and sgbd.
This commit is contained in:
parent
eb2e07e821
commit
b761de252d
5 changed files with 25 additions and 28 deletions
|
@ -79,8 +79,8 @@ sur fonction).
|
|||
certaine étape est réalisée.
|
||||
|
||||
Plus on fait la liaison tôt, moins le code est flexible, mais plus c'est
|
||||
efficasse, mais à l'inverse plus on le fait tard, plus c'est réalisé tard, plus
|
||||
c'est flexible, mais c'est moins efficasse.
|
||||
efficace, mais à l'inverse plus on le fait tard, plus c'est réalisé tard, plus
|
||||
c'est flexible, mais c'est moins efficace.
|
||||
|
||||
Un bon compromis serait sans doute Java ou C\# grâce à l'utilisation de machine
|
||||
virtuelle qui permet l'introspection ou la compilation à la volée.
|
||||
|
|
|
@ -52,7 +52,7 @@ mémoire réservé au noyau.)
|
|||
Une activation désigne une simple instance d'une fonction.
|
||||
|
||||
Toutes les variables locales sont libérés automatiquement, c'est plus
|
||||
efficasse que de faire appel à \verb+malloc+.
|
||||
efficace que de faire appel à \verb+malloc+.
|
||||
|
||||
\subsubsection{Contenu}
|
||||
|
||||
|
@ -79,7 +79,7 @@ précédent.
|
|||
|
||||
Lié aux exceptions en C++.
|
||||
|
||||
Quand on lève des exceptions, on balance des pointeurs, du coup, on risque
|
||||
Quand on lève des exceptions, on balance des pointeurs, du coup, on risque de
|
||||
perdre cette mémoire.\\
|
||||
|
||||
Dans le nouveau standard, il est plutôt conseillé d'utiliser
|
||||
|
|
|
@ -18,7 +18,7 @@ partie est cachée (ou utilisé pour le passage d'arguments avec les fenêtres).
|
|||
On ne peut faire de l'arithmétique que sur des registres (pas directement en
|
||||
mémoire).
|
||||
|
||||
Les fonctions \verb+load+ et \verb+store+ sont relatives à un registres.
|
||||
Les fonctions \verb+load+ et \verb+store+ sont relatives à un registre.
|
||||
|
||||
Il y a peu d'instructions et elles ne font qu'une seule action à la fois, sans
|
||||
effet de bord.
|
||||
|
@ -33,7 +33,7 @@ Le premier registre contient toujours la constante 0. Le registre 1 est réserv
|
|||
à l'assembleur et les registres 26 et 27 sont quant à eux réservés au système
|
||||
d'exploitation.\\
|
||||
|
||||
Les derniers registres gérent le stack pointer (29), le frame pointer (30) et
|
||||
Les derniers registres gèrent le stack pointer (29), le frame pointer (30) et
|
||||
l'adresse de retour (31).\\
|
||||
|
||||
Comme en Sparc et dans la norme Épita, il n'est possible de passer que 4
|
||||
|
@ -57,7 +57,7 @@ afin d'avoir une plus grande précision.\\
|
|||
Les opérations logiques (\verb+and+, \verb+andi+, \verb+not+, \verb+rol+,
|
||||
\verb+sll+, \ldots) font les mêmes choses qu'en C, mais sur les mots binaires.
|
||||
|
||||
On a des instruction de comparaison~: \verb+seq+, \verb+sge+, \verb+sgt+,
|
||||
On a des instructions de comparaison~: \verb+seq+, \verb+sge+, \verb+sgt+,
|
||||
\ldots\\
|
||||
|
||||
On a deux types de branchement inconditionnel (vers une étiquette ou une
|
||||
|
@ -73,7 +73,7 @@ On a aussi des instructions de branchement conditionnel (\verb+bge+, \ldots).
|
|||
Il y a aussi des instructions qui permettent de contrôler le processeur
|
||||
(\verb+syscall+ qui permet de déclencher des appels système, \verb+rfe+ qui
|
||||
restaure le registre de statut, \verb+break+ qui déclenche une exception
|
||||
particulière et bien sur \verb+nop+).\\
|
||||
particulière et bien sûr \verb+nop+).\\
|
||||
|
||||
On a plein d'instruction de chargement \verb+ld+, \verb+lw+, \verb+ulw+, \ldots
|
||||
mais bon, il y en a tellement qu'il y en a forcément une qui charge ce qu'on
|
||||
|
@ -86,7 +86,7 @@ certaines instructions. Il utilise des registres particuliers qu'il faut penser
|
|||
à définir. Pareil pour les flags, il en utilise d'autres. Les instructions
|
||||
flottantes sont sur 32 ou 64 bits (\verb+.s+ single (32 bits) ou \verb+.d+
|
||||
double (64 bits) à la fin des instructions et puis il y a \verb+.w+ quand on
|
||||
utilise un mot utilisé pour les convertions (un mot c'est un entier par
|
||||
utilise un mot utilisé pour les conversions (un mot c'est un entier par
|
||||
définition)).\\
|
||||
|
||||
On remarque qu'il n'y a donc pas beaucoup d'instructions :p
|
||||
|
@ -130,4 +130,4 @@ case donnée).
|
|||
|
||||
D'autres traductions sont possibles (avec plus d'opérations ou avec des
|
||||
instructions plus complexes). Le mieux étant d'avoir le moins d'instructions
|
||||
couteuses.
|
||||
coûteuses.
|
||||
|
|
Reference in a new issue