-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathbabyshark.mips.asm
50 lines (41 loc) · 1.07 KB
/
babyshark.mips.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
.data
baby: .asciiz "Baby shark"
mommy: .asciiz "Mommy shark"
daddy: .asciiz "Daddy shark"
grandma: .asciiz "Grandma shark"
grandpa: .asciiz "Grandpa shark"
hunt: .asciiz "Let's go hunt"
run: .asciiz "Run away"
safe: .asciiz "Safe at last"
end: .asciiz "It's the end"
doo: .asciiz ", doo doo doo doo doo doo"
family: .word baby, mommy, daddy, grandma, grandpa,
hunt, run, safe, end
.space 4
.text
la $s0, family
loop: lw $s1, 0($s0)
beqz $s1, exit
li $t0, 3
printdoo: li $v0, 4
move $a0, $s1
syscall
beqz $t0, exc
la $a0, doo
syscall
subi $t0, $t0, 1
jal newline
j printdoo
exc: la $a0, '!'
li $v0, 11
syscall
jal newline
syscall
addi $s0, $s0, 4
j loop
exit: li $v0, 10
syscall
newline: li $a0, '\n'
li $v0, 11
syscall
jr $ra