|
|
1.1 root 1: .text
2: .globl _addpoint
3: .align 2
4: _addpoint:link a6,#-8
5: moveml #0x10,a6@(-8)
6: movl a1,a6@(-4)
7: movl a6@(8),d4
8: addl a6@(16),d4
9: movl d4,a6@(8)
10: movl a6@(12),d4
11: addl a6@(20),d4
12: movl d4,a6@(12)
13: lea a6@(8),a0
14: movl a6@(-4),a1
15: movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
16: L1:
17: moveml a6@(-8),#0x10
18: unlk a6
19: rts
20: .globl _canonrect
21: .align 2
22: _canonrect:link a6,#-32
23: moveml #0xd0,a6@(-32)
24: movl a1,a6@(-4)
25: movl a6@(8),d4
26: cmpl a6@(16),d4; jge L10
27: movl a6@(8),d7
28: jra L11
29: L10:
30: movl a6@(16),d7
31: L11:
32: movl d7,a6@(-20)
33: movl a6@(12),d4
34: cmpl a6@(20),d4; jge L20
35: movl a6@(12),d6
36: jra L21
37: L20:
38: movl a6@(20),d6
39: L21:
40: movl d6,a6@(-16)
41: movl a6@(8),d4
42: cmpl a6@(16),d4; jle L26
43: movl a6@(8),d7
44: jra L27
45: L26:
46: movl a6@(16),d7
47: L27:
48: movl d7,a6@(-12)
49: movl a6@(12),d4
50: cmpl a6@(20),d4; jle L37
51: movl a6@(12),d1
52: jra L38
53: L37:
54: movl a6@(20),d1
55: L38:
56: movl d1,a6@(-8)
57: lea a6@(-20),a0
58: movl a6@(-4),a1
59: movl #16/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
60: L5:
61: moveml a6@(-32),#0xd0
62: unlk a6
63: rts
64: .globl _makepoint
65: .align 2
66: _makepoint:link a6,#-12
67: movl a1,a6@(-4)
68: movl a6@(8),a6@(-12)
69: movl a6@(12),a6@(-8)
70: lea a6@(-12),a0
71: movl a6@(-4),a1
72: movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
73: L39:
74: unlk a6
75: rts
76: .globl _makerect
77: .align 2
78: _makerect:link a6,#-36
79: movl a1,a6@(-4)
80: lea a6@(8),a0
81: lea a6@(-20),a1
82: movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
83: lea a6@(16),a0
84: lea a6@(-12),a1
85: movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
86: lea a6@(-20),a0
87: lea sp@(0),a1; movl #16/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
88: movl a6@(-4),a1
89: jbsr _canonrect:l
90: L42:
91: unlk a6
92: rts
93: .globl _ptinrect
94: .align 2
95: _ptinrect:link a6,#-4
96: moveml #0x10,a6@(-4)
97: movl a6@(8),d4
98: cmpl a6@(16),d4; jlt L54
99: cmpl a6@(24),d4; jge L54
100: movl a6@(12),d4
101: cmpl a6@(20),d4; jlt L54
102: movl a6@(12),d4
103: cmpl a6@(28),d4; jge L54
104: movl #1,d1
105: jra L55
106: L54:
107: clrl d1
108: L55:
109: movl d1,d0
110: L46:
111: moveml a6@(-4),#0x10
112: unlk a6
113: rts
114: .text
115: .align 2; L57:.long 0
116: .long 0
117: .align 2; L58:.long 320
118: .long 320
119: .align 2; L59:.long -1
120: .long -1
121: .long 1
122: .long 1
123: .long 20
124: .long 300
125: .long 500
126: .long 400
127: .text
128: .globl _main
129: .align 2
130: _main:link a6,#-136
131: moveml #0x90,a6@(-112)
132: lea L57:l,a0
133: lea a6@(-64),a1
134: movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
135: lea L58:l,a0
136: lea a6@(-72),a1
137: movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
138: lea L59:l,a0
139: lea a6@(-32),a1
140: movl #32/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
141: movl #-10,sp@
142: movl #-10,sp@(4)
143: lea a6@(-80),a1
144: jbsr _makepoint:l
145: lea a6@(-72),a0
146: lea sp@(0),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
147: lea a6@(-80),a0
148: lea sp@(8),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
149: lea a6@(-88),a1
150: jbsr _addpoint:l
151: movl #10,sp@
152: movl #10,sp@(4)
153: lea a6@(-96),a1
154: jbsr _makepoint:l
155: lea a6@(-64),a0
156: lea sp@(0),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
157: lea a6@(-96),a0
158: lea sp@(8),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
159: lea a6@(-104),a1
160: jbsr _addpoint:l
161: lea a6@(-88),a0
162: lea sp@(0),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
163: lea a6@(-104),a0
164: lea sp@(8),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
165: lea a6@(-48),a1
166: jbsr _makerect:l
167: clrl d7
168: jra L68
169: L65:
170: movl d7,d4; asll #3,d4
171: movl a6@(-32,d4:l:1),sp@
172: movl a6@(-28,d4:l:1),sp@(4)
173: lea a6@(-56),a1
174: jbsr _makepoint:l
175: movl #L69,sp@
176: movl d7,d4; asll #3,d4
177: movl a6@(-32,d4:l:1),sp@(4)
178: movl a6@(-52),sp@(8)
179: jbsr _printf:l
180: lea a6@(-56),a0
181: lea sp@(0),a1; movl #8/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
182: lea a6@(-48),a0
183: lea sp@(8),a1; movl #16/2,d0; 2:movw a0@+,a1@+; subql #1,d0; jgt 2b
184: jbsr _ptinrect:l
185: tstl d0; jne L73
186: movl #L75,sp@
187: jbsr _printf:l
188: L73:
189: movl #L76,sp@
190: movl a6@(-48),sp@(4)
191: movl a6@(-44),sp@(8)
192: movl a6@(-40),sp@(12)
193: movl a6@(-36),sp@(16)
194: jbsr _printf:l
195: L66:
196: addql #1,d7
197: L68:
198: cmpl #4,d7; jcs L65
199: movl #0,sp@
200: jbsr _exit:l
201: L56:
202: moveml a6@(-112),#0x90
203: unlk a6
204: rts
205: .text
206: .align 2; L76:.ascii "within [%d,%d; %d,%d]\012\000"
207: .align 2; L75:.ascii "not \000"
208: .align 2; L69:.ascii "(%d,%d) is \000"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.