Change test
This commit is contained in:
49
eval-final-projet/ref-mips/eval10.mips
Normal file
49
eval-final-projet/ref-mips/eval10.mips
Normal file
@@ -0,0 +1,49 @@
|
||||
.data
|
||||
|
||||
.text
|
||||
___start:
|
||||
jal f_main
|
||||
li $v0, 10
|
||||
syscall # stoppe l'execution du processus
|
||||
f_procedure:
|
||||
subi $sp, $sp, 4 # empile registre
|
||||
sw $fp, 0($sp)
|
||||
move $fp, $sp # nouvelle valeur de $fp
|
||||
subi $sp, $sp, 4 # empile registre
|
||||
sw $ra, 0($sp)
|
||||
li $t0, 1
|
||||
subi $sp, $sp, 4 # empile registre
|
||||
sw $t0, 0($sp)
|
||||
lw $t0, 0($sp) # depile vers registre
|
||||
addi $sp, $sp, 4
|
||||
sw $t0, 4($fp) # ecriture de la valeur de retour
|
||||
lw $ra, 0($sp) # depile vers registre
|
||||
addi $sp, $sp, 4
|
||||
lw $fp, 0($sp) # depile vers registre
|
||||
addi $sp, $sp, 4
|
||||
jr $ra
|
||||
lw $ra, 0($sp) # depile vers registre
|
||||
addi $sp, $sp, 4
|
||||
lw $fp, 0($sp) # depile vers registre
|
||||
addi $sp, $sp, 4
|
||||
jr $ra
|
||||
f_main:
|
||||
subi $sp, $sp, 4 # empile registre
|
||||
sw $fp, 0($sp)
|
||||
move $fp, $sp # nouvelle valeur de $fp
|
||||
subi $sp, $sp, 4 # empile registre
|
||||
sw $ra, 0($sp)
|
||||
subi $sp, $sp, 4 # allocation valeur de retour
|
||||
jal f_procedure
|
||||
lw $a0, 0($sp) # depile vers registre
|
||||
addi $sp, $sp, 4
|
||||
li $v0, 1
|
||||
syscall # ecriture
|
||||
li $a0, '\n'
|
||||
li $v0, 11
|
||||
syscall # ecrire char
|
||||
lw $ra, 0($sp) # depile vers registre
|
||||
addi $sp, $sp, 4
|
||||
lw $fp, 0($sp) # depile vers registre
|
||||
addi $sp, $sp, 4
|
||||
jr $ra
|
||||
Reference in New Issue
Block a user