Line | |
---|
1 | .data |
---|
2 | globals: |
---|
3 | .space 0 |
---|
4 | nl: |
---|
5 | .asciiz "\n" |
---|
6 | .align 2 |
---|
7 | .text |
---|
8 | main: |
---|
9 | la $gp, globals |
---|
10 | j main17 |
---|
11 | write: |
---|
12 | li $v0, 1 |
---|
13 | syscall |
---|
14 | jr $ra |
---|
15 | writeln: |
---|
16 | li $v0, 1 |
---|
17 | syscall |
---|
18 | la $a0, nl |
---|
19 | li $v0, 4 |
---|
20 | syscall |
---|
21 | jr $ra |
---|
22 | readln: |
---|
23 | li $v0, 5 |
---|
24 | syscall |
---|
25 | jr $ra |
---|
26 | alloc: |
---|
27 | li $v0, 9 |
---|
28 | syscall |
---|
29 | jr $ra |
---|
30 | |
---|
31 | # begin fib |
---|
32 | fib37: |
---|
33 | addiu $sp, $sp, -12 |
---|
34 | sw $ra, 8($sp) |
---|
35 | sw $s1, 4($sp) |
---|
36 | sw $s0, 0($sp) |
---|
37 | move $s1, $a0 |
---|
38 | c4: |
---|
39 | li $v0, 2 |
---|
40 | slt $v0, $s1, $v0 |
---|
41 | beq $v0, $zero, fib10 |
---|
42 | c3: |
---|
43 | li $v0, 1 |
---|
44 | fib48: |
---|
45 | lw $ra, 8($sp) |
---|
46 | lw $s1, 4($sp) |
---|
47 | lw $s0, 0($sp) |
---|
48 | addiu $sp, $sp, 12 |
---|
49 | jr $ra |
---|
50 | fib10: |
---|
51 | c2: |
---|
52 | li $v0, 1 |
---|
53 | subu $a0, $s1, $v0 |
---|
54 | jal fib37 |
---|
55 | move $s0, $v0 |
---|
56 | c1: |
---|
57 | li $v0, 2 |
---|
58 | subu $a0, $s1, $v0 |
---|
59 | jal fib37 |
---|
60 | c0: |
---|
61 | addu $v0, $s0, $v0 |
---|
62 | j fib48 |
---|
63 | # end fib |
---|
64 | |
---|
65 | # begin _main |
---|
66 | main17: |
---|
67 | addiu $sp, $sp, -4 |
---|
68 | sw $ra, 0($sp) |
---|
69 | c6: |
---|
70 | li $a0, 10 |
---|
71 | jal fib37 |
---|
72 | c5: |
---|
73 | lw $ra, 0($sp) |
---|
74 | addiu $sp, $sp, 4 |
---|
75 | jr $ra |
---|
76 | # end _main |
---|
Note: See
TracBrowser
for help on using the repository browser.