about summary refs log tree commit diff
path: root/lang/mips/chapter-2/exercise-1/l.s
blob: 73b999dcc34be9e0d6dc30e1309b8d17d8f13033 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# for (t1 = 99; t1 > 0; v0 += t1--)
	.text
main:
	li	$v0,	0		# v0 = 0
	li	$t1,	99		# t1 = 99
for:
	blez	$t1,	end		# if (t1 <= 0) goto end
	add	$v0,	$v0,	$t1	# v0 += t1
	addi	$t1,	$t1,	-1	# t1--
	j	for			# goto for
end:

	move	$a0,	$v0		# a0 = v0
	li	$v0,	1		# print integer at a0
	syscall

	li	$v0,	11		# print character
	li	$a0,	10		# newline
	syscall

	li	$v0,	10		# terminate program run
	syscall