|
|
1.1 root 1: .set reorder
2: .text
3: .globl main
4: .text
5: .align 2; .ent main
6: main:
7: $fp1=24
8: .frame $sp,24,$31
9: addu $sp,$sp,-24
10: .mask 0xc0000000,-4
11: sw $30,16($sp)
12: sw $31,20($sp)
13: move $30,$0
14: L.2:
15: sll $25,$30,2
16: li $24,1
17: sw $24,down($25)
18: sw $24,up($25)
19: L.3:
20: addu $30,$30,1
21: blt $30,15,L.2
22: move $30,$0
23: L.6:
24: sll $25,$30,2
25: li $24,1
26: sw $24,rows($25)
27: L.7:
28: addu $30,$30,1
29: blt $30,8,L.6
30: move $4,$0
31: jal queens # int
32: move $2,$0
33: L.1:
34: lw $30,16($sp)
35: lw $31,20($sp)
36: addu $sp,$sp,24
37: j $31
38: .end main
39: .globl queens
40: .text
41: .align 2; .ent queens
42: queens:
43: $fp2=32
44: .frame $sp,32,$31
45: addu $sp,$sp,-32
46: .mask 0xc0800000,-8
47: sw $23,16($sp)
48: sw $30,20($sp)
49: sw $31,24($sp)
50: move $30,$4
51: move $23,$0
52: L.11:
53: sll $25,$23,2
54: lw $25,rows($25)
55: beq $25,$0,L.15
56: subu $25,$23,$30
57: sll $25,$25,2
58: lw $25,up+28($25)
59: beq $25,$0,L.15
60: addu $25,$23,$30
61: sll $25,$25,2
62: lw $25,down($25)
63: beq $25,$0,L.15
64: addu $25,$23,$30
65: sll $25,$25,2
66: sw $0,down($25)
67: subu $25,$23,$30
68: sll $25,$25,2
69: sw $0,up+28($25)
70: sll $25,$23,2
71: sw $0,rows($25)
72: sll $25,$30,2
73: sw $23,x($25)
74: bne $30,7,L.19
75: jal print # int
76: b L.20
77: L.19:
78: addu $4,$30,1
79: jal queens # int
80: L.20:
81: addu $25,$23,$30
82: sll $25,$25,2
83: li $24,1
84: sw $24,down($25)
85: subu $25,$23,$30
86: sll $25,$25,2
87: sw $24,up+28($25)
88: sll $25,$23,2
89: sw $24,rows($25)
90: L.15:
91: L.12:
92: addu $23,$23,1
93: blt $23,8,L.11
94: L.10:
95: lw $23,16($sp)
96: lw $30,20($sp)
97: lw $31,24($sp)
98: addu $sp,$sp,32
99: j $31
100: .end queens
101: .globl print
102: .text
103: .align 2; .ent print
104: print:
105: $fp3=24
106: .frame $sp,24,$31
107: addu $sp,$sp,-24
108: .mask 0xc0000000,-4
109: sw $30,16($sp)
110: sw $31,20($sp)
111: move $30,$0
112: L.23:
113: la $4,L.27
114: sll $25,$30,2
115: lw $25,x($25)
116: addu $5,$25,49
117: jal printf # int
118: L.24:
119: addu $30,$30,1
120: blt $30,8,L.23
121: la $4,L.28
122: jal printf # int
123: L.22:
124: lw $30,16($sp)
125: lw $31,20($sp)
126: addu $sp,$sp,24
127: j $31
128: .end print
129: .globl x
130: .comm x,32
131: .globl rows
132: .comm rows,32
133: .globl down
134: .comm down,60
135: .globl up
136: .comm up,60
137: .rdata
138: L.28:.byte 10,0
139: L.27:.ascii "%c \000"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.