|
|
1.1 root 1: .seg "text"
2: .global _addpoint
3: .align 4
4: .proc 4
5: _addpoint:mov %fp,%g7; mov %sp,%fp
6: ld [%r8],%r13
7: ld [%r9],%r12
8: add %r13,%r12,%r13
9: st %r13,[%r8]
10: add %r8,4,%r13
11: ld [%r13],%r12
12: ld [%r9+4],%r11
13: add %r12,%r11,%r12
14: st %r12,[%r13]
15: ld [%fp+64],%r13
16: mov %r8,%r12
17: ld [%r12+0],%r1
18: ld [%r12+4],%r2
19: st %r1,[%r13+0]
20: st %r2,[%r13+4]
21: L1:
22: retl; mov %g7,%fp
23: .global _canonrect
24: .align 4
25: .proc 4
26: _canonrect:save %sp,-112,%sp
27: ld [%r24],%r27
28: ld [%r24+8],%r26
29: cmp %r27,%r26; bge L6; nop
30: ld [%r24],%r29
31: ba L7; nop
32: L6:
33: ld [%r24+8],%r29
34: L7:
35: st %r29,[%fp+-16]
36: ld [%r24+4],%r27
37: ld [%r24+12],%r26
38: cmp %r27,%r26; bge L10; nop
39: ld [%r24+4],%r28
40: ba L11; nop
41: L10:
42: ld [%r24+12],%r28
43: L11:
44: st %r28,[%fp+-12]
45: ld [%r24],%r28
46: ld [%r24+8],%r27
47: cmp %r28,%r27; ble L14; nop
48: ld [%r24],%r29
49: ba L15; nop
50: L14:
51: ld [%r24+8],%r29
52: L15:
53: st %r29,[%fp+-8]
54: ld [%r24+4],%r28
55: ld [%r24+12],%r27
56: cmp %r28,%r27; ble L19; nop
57: ld [%r24+4],%r29
58: ba L20; nop
59: L19:
60: ld [%r24+12],%r29
61: L20:
62: st %r29,[%fp+-4]
63: ld [%fp+64],%r29
64: add -16,%fp,%r28
65: ld [%r28+0],%r1
66: ld [%r28+4],%r2
67: st %r1,[%r29+0]
68: ld [%r28+8],%r1
69: st %r2,[%r29+4]
70: ld [%r28+12],%r2
71: st %r1,[%r29+8]
72: st %r2,[%r29+12]
73: L3:
74: ret; restore
75: .global _makepoint
76: .align 4
77: .proc 4
78: _makepoint:save %sp,-104,%sp
79: st %r24,[%fp+-8]
80: st %r25,[%fp+-4]
81: ld [%fp+64],%r29
82: add -8,%fp,%r28
83: ld [%r28+0],%r1
84: ld [%r28+4],%r2
85: st %r1,[%r29+0]
86: st %r2,[%r29+4]
87: L21:
88: ret; restore
89: .global _makerect
90: .align 4
91: .proc 4
92: _makerect:save %sp,-128,%sp
93: add -16,%fp,%r29
94: mov %r24,%r28
95: ld [%r28+0],%r1
96: ld [%r28+4],%r2
97: st %r1,[%r29+0]
98: st %r2,[%r29+4]
99: add -8,%fp,%r29
100: mov %r25,%r28
101: ld [%r28+0],%r1
102: ld [%r28+4],%r2
103: st %r1,[%r29+0]
104: st %r2,[%r29+4]
105: add -32,%fp,%r29
106: add -16,%fp,%r28
107: ld [%r28+0],%r1
108: ld [%r28+4],%r2
109: st %r1,[%r29+0]
110: ld [%r28+8],%r1
111: st %r2,[%r29+4]
112: ld [%r28+12],%r2
113: st %r1,[%r29+8]
114: st %r2,[%r29+12]
115: mov %r29,%r8
116: ld [%fp+64],%r29
117: call _canonrect; st %r29,[%sp+64]
118: L24:
119: ret; restore
120: .global _ptinrect
121: .align 4
122: .proc 4
123: _ptinrect:
124: ld [%r8],%r12
125: ld [%r9],%r11
126: cmp %r12,%r11; bl L31; nop
127: ld [%r9+8],%r11
128: cmp %r12,%r11; bge L31; nop
129: ld [%r8+4],%r12
130: ld [%r9+4],%r11
131: cmp %r12,%r11; bl L31; nop
132: ld [%r9+12],%r11
133: cmp %r12,%r11; bge L31; nop
134: set 1,%r13
135: ba L32; nop
136: L31:
137: mov %r0,%r13
138: L32:
139: mov %r13,%r8
140: L29:
141: retl; nop
142: .seg "text"
143: .align 4; L34:.word 0
144: .word 0
145: .align 4; L35:.word 320
146: .word 320
147: .align 4; L36:.word -1
148: .word -1
149: .word 1
150: .word 1
151: .word 20
152: .word 300
153: .word 500
154: .word 400
155: .seg "text"
156: .global _main
157: .align 4
158: .proc 4
159: _main:save %sp,-240,%sp
160: add -64,%fp,%r28
161: set L34,%r27
162: ld [%r27+0],%r1
163: ld [%r27+4],%r2
164: st %r1,[%r28+0]
165: st %r2,[%r28+4]
166: add -72,%fp,%r28
167: set L35,%r27
168: ld [%r27+0],%r1
169: ld [%r27+4],%r2
170: st %r1,[%r28+0]
171: st %r2,[%r28+4]
172: add -32,%fp,%r28
173: set L36,%r27
174: add %r27,32,%r27
175: add %r28,32,%r3
176: 1: dec 8,%r3
177: ld [%r27+-8],%r1
178: ld [%r27+-4],%r2
179: st %r1,[%r3+0]
180: st %r2,[%r3+4]
181: cmp %r3,%r28; bgt 1b; dec 8,%r27
182: set -10,%r28
183: mov %r28,%r8
184: mov %r28,%r9
185: add -80,%fp,%r28
186: call _makepoint; st %r28,[%sp+64]
187: add -88,%fp,%r28
188: add -72,%fp,%r27
189: ld [%r27+0],%r1
190: ld [%r27+4],%r2
191: st %r1,[%r28+0]
192: st %r2,[%r28+4]
193: mov %r28,%r8
194: add -80,%fp,%r9
195: add -96,%fp,%r28
196: call _addpoint; st %r28,[%sp+64]
197: set 10,%r28
198: mov %r28,%r8
199: mov %r28,%r9
200: add -104,%fp,%r28
201: call _makepoint; st %r28,[%sp+64]
202: add -112,%fp,%r28
203: add -64,%fp,%r27
204: ld [%r27+0],%r1
205: ld [%r27+4],%r2
206: st %r1,[%r28+0]
207: st %r2,[%r28+4]
208: mov %r28,%r8
209: add -104,%fp,%r9
210: add -120,%fp,%r28
211: call _addpoint; st %r28,[%sp+64]
212: add -96,%fp,%r8
213: add -120,%fp,%r9
214: add -48,%fp,%r28
215: call _makerect; st %r28,[%sp+64]
216: mov %r0,%r29
217: ba L47; nop
218: L44:
219: sll %r29,3,%r28
220: add -32,%fp,%r27
221: ld [%r28+%r27],%r8
222: add -28,%fp,%r27
223: ld [%r28+%r27],%r9
224: add -56,%fp,%r28
225: call _makepoint; st %r28,[%sp+64]
226: set L48,%r8
227: sll %r29,3,%r28
228: add -32,%fp,%r27
229: ld [%r28+%r27],%r9
230: ld [%fp+-52],%r10
231: call _printf; nop
232: add -128,%fp,%r28
233: add -56,%fp,%r27
234: ld [%r27+0],%r1
235: ld [%r27+4],%r2
236: st %r1,[%r28+0]
237: st %r2,[%r28+4]
238: mov %r28,%r8
239: add -144,%fp,%r28
240: add -48,%fp,%r27
241: ld [%r27+0],%r1
242: ld [%r27+4],%r2
243: st %r1,[%r28+0]
244: ld [%r27+8],%r1
245: st %r2,[%r28+4]
246: ld [%r27+12],%r2
247: st %r1,[%r28+8]
248: st %r2,[%r28+12]
249: mov %r28,%r9
250: call _ptinrect; nop
251: cmp %r8,%r0; bne L52; nop
252: set L56,%r8
253: call _printf; nop
254: L52:
255: set L57,%r8
256: ld [%fp+-48],%r9
257: ld [%fp+-44],%r10
258: ld [%fp+-40],%r11
259: ld [%fp+-36],%r12
260: call _printf; nop
261: L45:
262: add %r29,1,%r29
263: L47:
264: cmp %r29,4; blu L44; nop
265: mov %r0,%r8
266: call _exit; nop
267: L33:
268: ret; restore
269: .seg "text"
270: L57:.ascii "within [%d,%d; %d,%d]\012\000"
271: L56:.ascii "not \000"
272: L48:.ascii "(%d,%d) is \000"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.