Files
compilateur-l/eval-final-projet/output/eval23.mips
2016-04-19 10:04:20 +02:00

59 lines
775 B
Plaintext

.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, $t1, $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