-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgen.s
More file actions
57 lines (56 loc) · 897 Bytes
/
gen.s
File metadata and controls
57 lines (56 loc) · 897 Bytes
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
51
52
53
54
55
56
.data
globals__: .space 12
.text
_lb_print:
li $v0, 1
lw $a0, 4($sp)
syscall
li $v0, 11
li $a0, 0x0a
syscall
jr $ra
nop # add (0 declarations)
_lb_add:
lw $a0, 4($sp)
sw $a0, 0($sp)
addiu $sp, $sp, -4
lw $a0, 12($sp)
lw $t0, 4($sp)
addu $a0, $t0, $a0
addiu $sp, $sp, 4
jr $ra
jr $ra # should not reach here
nop # main (1 declarations)
_lb_main:
sw $0, 4($sp)
li $a0, 3
sw $a0, 4($sp)
sw $ra, 0($sp)
addiu $sp, $sp, -4
sw $ra, 0($sp)
addiu $sp, $sp, -4
li $a0, 2
sw $a0, 0($sp)
addiu $sp, $sp, -4
lw $a0, 16($sp)
sw $a0, 0($sp)
addiu $sp, $sp, -4
jal _lb_add
addiu $sp, $sp, 8
lw $ra, 4($sp)
addiu $sp, $sp, 4
sw $a0, 0($sp)
addiu $sp, $sp, -4
jal _lb_print
addiu $sp, $sp, 4
lw $ra, 4($sp)
addiu $sp, $sp, 4
jr $ra # should not reach here
main:
la $t9, globals__
sw $0, 4($t9)
addiu $sp, $sp, -4
jal _lb_main
addiu $sp, $sp, 4
li $v0, 10
syscall