Commit | Line | Data |
---|---|---|
ca13ceb0 JB |
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 |