Postscript, | Luc Maranget | Le poly |
|
|
|
|
add
r1, r2, o qui place dans r1 la valeur
r2 + o.
lw
r1, n (r2) place dans r1 le mot contenu à
l'adresse r2 + n.
sw
r1, n (r2) place r1 dans le mot contenu à
l'adresse r2 + n.
bne
r, a, l saute à l'adresse l si r et a
sont différents,
jal
o qui sauve pc+4 dans ra et saute à l'étiquette o.
|
|
|
Assembleur | Langage machine | Commentaire |
blt r, o, a |
slt $1, r, o |
Justifie le registre at ($1) |
bne $1, $0, a |
réservé par l'assembleur. | |
li $t0,400020 |
lui $1,6 |
charge les 16 bits de poids fort |
ori $8, $1,6804 |
puis les 16 bits de poids faible | |
add $t0, $t1,1 |
addi $8, $9,1 |
addition avec une constante |
move $t0,$t1 |
addu $8, $0,$9 |
addition ``unsigned'' avec zéro |
% spim -notrap -file hello.spi)et regarder dans la zône
Text Segments
.
|
|
__start
. -notrap
, le chargeur ajoute un prélude
qui se branche à l'étiquette main
(remplacer alors
__start
par main
).
|
|
|
Programme équivalent
|
Code Mips
|
p
, on utilise l'instruction
jalp
, qui transfère le contrôle en p
,
et sauve l'adresse de l'instruction suivante dans ra.j$ra
.
writeln
qui
imprime un entier
puis un retour à la ligne.
|
|
j
et jal
.
|
Code de la fonction
|
Usage de la fonction
|
|
|
fn | ⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ |
|
|
|
sub
) et désalloue (add
) l'espace en
pile par blocs pour plusieurs registres à la fois.
|
|
|
|
|
|
Ce document a été traduit de LATEX par HEVEA