EVAL FINAL ESAYYYYYYY
This commit is contained in:
@@ -1,127 +1,58 @@
|
||||
<programme>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<listeDecFonctions>
|
||||
<declarationFonction>
|
||||
<id_fonction>main</id_fonction>
|
||||
<listeParam>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<optListeDecVariables>
|
||||
</optListeDecVariables>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</listeParam>
|
||||
<optDecVariables>
|
||||
</optDecVariables>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionSi>
|
||||
<mot_clef>si</mot_clef>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>1</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
<symbole>OU</symbole>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<mot_clef>lire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<mot_clef>alors</mot_clef>
|
||||
<instructionBloc>
|
||||
<symbole>ACCOLADE_OUVRANTE</symbole>
|
||||
<listeInstructions>
|
||||
<instruction>
|
||||
<instructionEcriture>
|
||||
<mot_clef>ecrire</mot_clef>
|
||||
<symbole>PARENTHESE_OUVRANTE</symbole>
|
||||
<expression>
|
||||
<conjonction>
|
||||
<negation>
|
||||
<comparaison>
|
||||
<expArith>
|
||||
<terme>
|
||||
<facteur>
|
||||
<nombre>5</nombre>
|
||||
</facteur>
|
||||
<termeBis>
|
||||
</termeBis>
|
||||
</terme>
|
||||
<expArithBis>
|
||||
</expArithBis>
|
||||
</expArith>
|
||||
<comparaisonBis>
|
||||
</comparaisonBis>
|
||||
</comparaison>
|
||||
</negation>
|
||||
<conjonctionBis>
|
||||
</conjonctionBis>
|
||||
</conjonction>
|
||||
<expressionBis>
|
||||
</expressionBis>
|
||||
</expression>
|
||||
<symbole>PARENTHESE_FERMANTE</symbole>
|
||||
<symbole>POINT_VIRGULE</symbole>
|
||||
</instructionEcriture>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
<optSinon>
|
||||
</optSinon>
|
||||
</instructionSi>
|
||||
</instruction>
|
||||
<listeInstructions>
|
||||
</listeInstructions>
|
||||
</listeInstructions>
|
||||
<symbole>ACCOLADE_FERMANTE</symbole>
|
||||
</instructionBloc>
|
||||
</declarationFonction>
|
||||
<listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</listeDecFonctions>
|
||||
</programme>
|
||||
.data
|
||||
.text
|
||||
__start:
|
||||
jal main
|
||||
li $v0, 10
|
||||
syscall
|
||||
main :
|
||||
subi $sp, $sp, 4
|
||||
sw $fp, 0($sp)
|
||||
move $fp, $sp
|
||||
subi $sp, $sp, 4
|
||||
sw $ra, 0($sp)
|
||||
li $t0, 1
|
||||
subi $sp, $sp, 4
|
||||
sw $t0, 0($sp)
|
||||
lw $t1, 0($sp)
|
||||
addi $sp, $sp, 4
|
||||
beq $zero, $t1, e0
|
||||
j e2
|
||||
e0 :
|
||||
li $v0 5
|
||||
syscall
|
||||
move $t0, $v0
|
||||
subi $sp, $sp, 4
|
||||
sw $t0, 0($sp)
|
||||
lw $t2, 0($sp)
|
||||
addi $sp, $sp, 4
|
||||
or $t0, $zero, $t2
|
||||
j e3
|
||||
e2 :
|
||||
move $t0 $t1
|
||||
e3 :
|
||||
subi $sp, $sp, 4
|
||||
sw $t0, 0($sp)
|
||||
lw $t0, 0($sp)
|
||||
addi $sp, $sp, 4
|
||||
beq $t0 $zero e4
|
||||
li $t0, 5
|
||||
subi $sp, $sp, 4
|
||||
sw $t0, 0($sp)
|
||||
lw $t0, 0($sp)
|
||||
addi $sp, $sp, 4
|
||||
move $a0, $t0
|
||||
li $v0, 1
|
||||
syscall
|
||||
li $a0, '\n'
|
||||
li $v0, 11
|
||||
syscall
|
||||
j e5
|
||||
e4:
|
||||
e5:
|
||||
addi $sp, $sp 0 # desallocation variables locales
|
||||
lw $ra, 0($sp)
|
||||
addi $sp, $sp, 4
|
||||
lw $fp, 0($sp)
|
||||
addi $sp, $sp, 4
|
||||
addi $sp, $sp, 4 #ignore valeur de retour
|
||||
jr $ra
|
||||
|
||||
Reference in New Issue
Block a user