|
|
1.1 root 1: .seg "text"
2: .global _main
3: .align 4
4: .proc 4
5: _main:save %sp,-96,%sp
6: mov %r0,%r29
7: L2:
8: set 1,%r28
9: sll %r29,2,%r27
10: set _down,%r26
11: st %r28,[%r27+%r26]
12: set _up,%r26
13: st %r28,[%r27+%r26]
14: L3:
15: add %r29,1,%r29
16: cmp %r29,15; bl L2; nop
17: mov %r0,%r29
18: L6:
19: set 1,%r28
20: sll %r29,2,%r27
21: set _rows,%r26
22: st %r28,[%r27+%r26]
23: L7:
24: add %r29,1,%r29
25: cmp %r29,8; bl L6; nop
26: mov %r0,%r8
27: call _queens; nop
28: mov %r0,%r24
29: L1:
30: ret; restore
31: .global _queens
32: .align 4
33: .proc 4
34: _queens:save %sp,-96,%sp
35: mov %r0,%r29
36: L11:
37: sll %r29,2,%r28
38: set _rows,%r27
39: ld [%r28+%r27],%r28
40: cmp %r28,%r0; be L15; nop
41: sub %r29,%r24,%r28
42: sll %r28,2,%r28
43: set _up+28,%r27
44: ld [%r28+%r27],%r28
45: cmp %r28,%r0; be L15; nop
46: add %r29,%r24,%r28
47: sll %r28,2,%r28
48: set _down,%r27
49: ld [%r28+%r27],%r28
50: cmp %r28,%r0; be L15; nop
51: add %r29,%r24,%r28
52: sll %r28,2,%r28
53: set _down,%r27
54: st %r0,[%r28+%r27]
55: sub %r29,%r24,%r28
56: sll %r28,2,%r28
57: set _up+28,%r27
58: st %r0,[%r28+%r27]
59: sll %r29,2,%r28
60: set _rows,%r27
61: st %r0,[%r28+%r27]
62: sll %r24,2,%r28
63: set _x,%r27
64: st %r29,[%r28+%r27]
65: cmp %r24,7; bne L19; nop
66: call _print; nop
67: ba L20; nop
68: L19:
69: add %r24,1,%r8
70: call _queens; nop
71: L20:
72: set 1,%r28
73: add %r29,%r24,%r27
74: sll %r27,2,%r27
75: set _down,%r26
76: st %r28,[%r27+%r26]
77: sub %r29,%r24,%r27
78: sll %r27,2,%r27
79: set _up+28,%r26
80: st %r28,[%r27+%r26]
81: sll %r29,2,%r27
82: set _rows,%r26
83: st %r28,[%r27+%r26]
84: L15:
85: L12:
86: add %r29,1,%r29
87: cmp %r29,8; bl L11; nop
88: L10:
89: ret; restore
90: .global _print
91: .align 4
92: .proc 4
93: _print:save %sp,-96,%sp
94: mov %r0,%r29
95: L23:
96: set L27,%r8
97: sll %r29,2,%r28
98: set _x,%r27
99: ld [%r28+%r27],%r28
100: add %r28,49,%r9
101: call _printf; nop
102: L24:
103: add %r29,1,%r29
104: cmp %r29,8; bl L23; nop
105: set L28,%r8
106: call _printf; nop
107: L22:
108: ret; restore
109: .seg "bss"
110: .global _x
111: .align 4; .common _x,32
112: .global _rows
113: .align 4; .common _rows,32
114: .global _down
115: .align 4; .common _down,60
116: .global _up
117: .align 4; .common _up,60
118: .seg "text"
119: L28:.byte 10,0
120: L27:.ascii "%c \000"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.