.data .text __start: jal main li $v0, 10 syscall add : subi $sp, $sp, 4 sw $fp, 0($sp) move $fp, $sp subi $sp, $sp, 4 sw $ra, 0($sp) lw $t0, 8($fp) #variable argument $a subi $sp, $sp, 4 sw $t0, 0($sp) lw $t0, 4($fp) #variable argument $b 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 12($fp) #Adresse de retour addi $sp, $sp 0 # desallocation variables locales lw $ra, 0($sp) addi $sp, $sp, 4 lw $fp, 0($sp) addi $sp, $sp, 4 jr $ra 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 main : subi $sp, $sp, 4 sw $fp, 0($sp) move $fp, $sp subi $sp, $sp, 4 sw $ra, 0($sp) subi $sp, $sp, 4 subi $sp, $sp, 4 subi $sp, $sp, 4 li $t0, 1 subi $sp, $sp, 4 sw $t0, 0($sp) lw $t0, 0($sp) addi $sp, $sp, 4 sw $t0, -8($fp) #variable locale li $t0, 2 subi $sp, $sp, 4 sw $t0, 0($sp) lw $t0, 0($sp) addi $sp, $sp, 4 sw $t0, -12($fp) #variable locale li $t0, 3 subi $sp, $sp, 4 sw $t0, 0($sp) lw $t0, 0($sp) addi $sp, $sp, 4 sw $t0, -16($fp) #variable locale subi $sp, $sp, 4 #Val Retour lw $t0, -8($fp) #variable locale subi $sp, $sp, 4 sw $t0, 0($sp) lw $t0, -12($fp) #variable locale subi $sp, $sp, 4 sw $t0, 0($sp) lw $t0, -16($fp) #variable locale subi $sp, $sp, 4 sw $t0, 0($sp) Nombre Argument différent pour l'appel à add