		.data
datos:  .word 10, 5, 12, 9, 22, 17, 9, 15       # 8 enteros
n:		.word 8
datos2: .word 1, 6, 4, 8, 5       # 5 enteros
n2:		.word 5

		.text

# funcion main

# calcula suma y promedio de datos

		la $a0, datos		# t0 apunta a datos[0]

		la $a1, n			# t1 apunta a n
		lw $a1, ($a1)		# t1 tiene el valor de n

		jal promedio

		move $t0, $v0
		move $t1, $v1

# imprime la suma
		li $v0, 1			# llamada a print_int
		move $a0, $t0		# a0 = t0
		syscall

# imprime un espacio
		li $v0, 11			# llamada a print_char
		li $a0, 32			# a0 = " "
		syscall

# imprime el promedio
		li $v0, 1			# llamada a print_int
		move $a0, $t1		# a0 = t1
		syscall

# imprime un return
		li $v0, 11			# llamada a print_char
		li $a0, 10			# a0 = " "
		syscall

# calcula suma y promedio de datos2

		la $a0, datos2		# t0 apunta a datos2[0]

		la $a1, n2			# t1 apunta a n2
		lw $a1, ($a1)		# t1 tiene el valor de n2

		jal promedio

		move $t0, $v0
		move $t1, $v1

# imprime la suma
		li $v0, 1			# llamada a print_int
		move $a0, $t0		# a0 = t0
		syscall

# imprime un espacio
		li $v0, 11			# llamada a print_char
		li $a0, 32			# a0 = " "
		syscall

# imprime el promedio
		li $v0, 1			# llamada a print_int
		move $a0, $t1		# a0 = t1
		syscall

		# The program is finished. Exit.
		li $v0, 10          	# system call for exit
		syscall               	# Exit!

promedio:

		li $s0, 0			# suma = 0
		move $t0, $a0		# t0 apunta al arreglo
		move $t1, $a1		# t1 vale el tamano del arreglo

		# Calcula la suma de los datos
ciclo:
		lw $t2, ($t0)		# t2 = datos[t0]
		add $s0, $s0, $t2	# suma = suma + datos[t0]
		addi $t0, $t0, 4	# t0 = t0 + 4 (siguiente elemento de datos)
		addi $t1, $t1, -1	# n = n - 1
		bgtz $t1, ciclo		# if (n > 0) goto ciclo

		# Guarda la suma en v0
		move $v0, $s0		# v0 tiene la suma

		# Calcula el promedio
		move $t1, $a1		# t1 vale el tamano del arreglo
		div $s0, $t1		# prom = suma / n
		mflo $s0			# s0 = suma / n
		mfhi $s1			# s1 = suma % n

		# Guarda el promedio en v1
		move $v1, $s0		# v1 tiene el promedio

		# Regresa al main
		jr $ra

