Add exercice 3 for TD4
[TD_IML.git] / TD4 / mips2.asm
1 .data
2 values_number_str: .asciiz "Nombre de valeurs ? "
3 value_input_str: .asciiz "Valeur entiere ? "
4 average_str: .asciiz "La moyenne est "
5 newline: .asciiz "\n"
6
7 .text
8 main:
9 jal number_values_input
10 # counter initialization
11 la $s0, ($zero)
12 la $s2, ($zero)
13 loop:
14 beq $s0, $s1, end
15 jal input_value
16 add $s2, $s2, $t0
17 addi $s0, $s0, 1
18 j loop
19 end:
20 divu $s2, $s1
21 mflo $s3
22 jal display_average
23 li $v0, 10
24 syscall
25
26 number_values_input:
27 la $a0, values_number_str
28 li $v0, 4
29 syscall
30 li $v0, 5
31 syscall
32 move $s1, $v0
33 jr $ra
34
35 input_value:
36 la $a0, value_input_str
37 li $v0, 4
38 syscall
39 li $v0, 5
40 syscall
41 move $t0, $v0
42 jr $ra
43
44 display_average:
45 la $a0, average_str
46 li $v0, 4
47 syscall
48 move $a0, $s3
49 li $v0, 1
50 syscall
51 jr $ra