.data $$a: .space 4 .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, 0 subi $sp, $sp, 4 sw $t0, 0($sp) lw $t0, 0($sp) addi $sp, $sp, 4 sw $t0, $$a e0: lw $t0, $$a subi $sp, $sp, 4 sw $t0, 0($sp) li $t0, 10 subi $sp, $sp, 4 sw $t0, 0($sp) lw $t2, 0($sp) addi $sp, $sp, 4 lw $t1, 0($sp) addi $sp, $sp, 4 li $t0, 1 blt $t1, $t2 e2 li $t0, 0 e2: subi $sp, $sp, 4 sw $t0, 0($sp) lw $t0, 0($sp) addi $sp, $sp, 4 beq $t0 $0 e1 lw $t0, $$a 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 lw $t0, $$a subi $sp, $sp, 4 sw $t0, 0($sp) li $t0, 1 subi $sp, $sp, 4 sw $t0, 0($sp) lw $t2, 0($sp) addi $sp, $sp, 4 lw $t1, 0($sp) addi $sp, $sp, 4 add $t0, $t1, $t2 subi $sp, $sp, 4 sw $t0, 0($sp) lw $t0, 0($sp) addi $sp, $sp, 4 sw $t0, $$a j e0 e1: 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