Add exercice 3 for TD4
[TD_IML.git] / TD4 / mips2.asm
diff --git a/TD4/mips2.asm b/TD4/mips2.asm
new file mode 100644 (file)
index 0000000..3a0e834
--- /dev/null
@@ -0,0 +1,51 @@
+.data
+values_number_str:     .asciiz "Nombre de valeurs ? "
+value_input_str:       .asciiz "Valeur entiere ? "
+average_str:           .asciiz "La moyenne est "
+newline:               .asciiz "\n"
+
+.text
+main:
+       jal   number_values_input
+       # counter initialization
+       la    $s0, ($zero)
+       la    $s2, ($zero)
+loop:
+       beq   $s0, $s1, end
+       jal   input_value
+       add   $s2, $s2, $t0 
+       addi  $s0, $s0, 1
+       j     loop
+end:
+       divu  $s2, $s1
+       mflo  $s3        
+       jal   display_average
+       li    $v0, 10
+       syscall
+
+number_values_input:
+       la   $a0, values_number_str
+       li   $v0, 4
+       syscall
+        li   $v0, 5
+        syscall
+        move $s1, $v0
+        jr   $ra
+
+input_value:
+       la   $a0, value_input_str
+       li   $v0, 4
+       syscall
+        li   $v0, 5
+        syscall
+        move $t0, $v0
+        jr   $ra
+        
+display_average:
+       la   $a0, average_str
+       li   $v0, 4
+       syscall
+       move $a0, $s3
+       li   $v0, 1
+       syscall
+       jr   $ra
\ No newline at end of file