# a simple program to average 3 integers
# Actually, the TAL program uses $1 rather than $3, but I couldn't
# persuade the assembler to let me do that myself.

		.data
avg:		.word			# integer average
i1:		.word	20		# first number in the average
i2:		.word	13		# second number in the average
i3:		.word	82		# third number in the average

		.text
__start:	lw	$4,i1		# add	avg, i1, i2
		lw	$2,i2
		add	$2,$4,$2
		sw	$2,avg

		lw	$4,avg		# add	avg, avg, i3
		lw	$2,i3
		add	$2,$4,$2
		sw	$2,avg

		li	$2,3		# div	avg, avg, 3
		bne	$2,$0,nonzero
		break	0
nonzero:	div	$2,$4,$2
		sw	$2,avg

		li	$2,10		# done
		syscall
