mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 16:34:07 +00:00
1412 lines
49 KiB
Plaintext
1412 lines
49 KiB
Plaintext
1File: CSKELS.C Page 1
|
|
1 #include "cskel.h"
|
|
2 char ctnull[] {0};
|
|
3 char cteqa01[] {
|
|
4 LEA,' ',RADDR,',',LADDR,'\n',
|
|
5 MOVL,' ',LADDR,',',CR,'\n',
|
|
6 0 };
|
|
7 char cteqa02[] {
|
|
8 LEA,' ',RADDR,',',CAR,'\n',
|
|
9 MOVL,' ',CAR,',',LADDR,'\n',
|
|
10 MOVL,' ',CAR,',',CR,'\n',
|
|
11 0 };
|
|
12 char cteqa03[] {
|
|
13 LEFT,S_NEXT|S_INDR,
|
|
14 LEA,' ',RADDR,',',CAR,'\n',
|
|
15 MOVL,' ',CAR,',',LOFFSET,'(',NAR,')','\n',
|
|
16 MOVL,' ',CAR,',',CR,'\n',
|
|
17 0 };
|
|
18 struct skeleton fr_eqaddr[] {
|
|
19 SU_AREG|T_LONG, SU_ANY|T_ANY, cteqa01,
|
|
20 SU_AREG|T_LONG, SU_ANY|T_LONG, cteqa01,
|
|
21 SU_ADDR|T_LONG, SU_ANY|T_ANY, cteqa02,
|
|
22 SU_ADDR|T_LONG, SU_ANY|T_LONG, cteqa02,
|
|
23 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, cteqa03,
|
|
24 SU_ANY|T_LONG|T_INDR, SU_ANY|T_LONG, cteqa03,
|
|
25 0,
|
|
26 };
|
|
27 char cteqa04[] {
|
|
28 LEA,' ',RADDR,',',LADDR,'\n',
|
|
29 0 };
|
|
30 char cteqa05[] {
|
|
31 LEA,' ',RADDR,',',CAR,'\n',
|
|
32 MOVL,' ',CAR,',',LADDR,'\n',
|
|
33 0 };
|
|
34 char cteqa06[] {
|
|
35 LEFT,S_NEXT|S_INDR,
|
|
36 LEA,' ',RADDR,',',CAR,'\n',
|
|
37 MOVL,' ',CAR,',',LOFFSET,'(',NAR,')','\n',
|
|
38 0 };
|
|
39 struct skeleton fe_eqaddr[] {
|
|
40 SU_AREG|T_LONG, SU_ANY|T_ANY, cteqa04,
|
|
41 SU_AREG|T_LONG, SU_ANY|T_LONG, cteqa04,
|
|
42 SU_ADDR|T_LONG, SU_ANY|T_ANY, cteqa05,
|
|
43 SU_ADDR|T_LONG, SU_ANY|T_LONG, cteqa05,
|
|
44 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, cteqa06,
|
|
45 SU_ANY|T_LONG|T_INDR, SU_ANY|T_LONG, cteqa06,
|
|
46 0,
|
|
47 };
|
|
48 char ctcal01[] {
|
|
49 JSR,' ',LADDR,'\n',
|
|
50 0 };
|
|
51 char ctcal02[] {
|
|
52 LEFT,S_INDR,
|
|
53 JSR,' ',LOFFSET,'(',CAR,')','\n',
|
|
54 0 };
|
|
55 char ctcal03[] {
|
|
56 LEFT,0,
|
|
57 MOV,' ',CR,',',CAR,'\n',
|
|
58 JSR,' ','(',CAR,')','\n',
|
|
59 0 };
|
|
1File: CSKELS.C Page 2
|
|
60 struct skeleton fr_call[] {
|
|
61 SU_ADDR|T_ANY, SU_ANY|T_ANY, ctcal01,
|
|
62 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctcal01,
|
|
63 SU_ANY|T_ANY|T_INDR, SU_ANY|T_ANY, ctcal02,
|
|
64 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ctcal02,
|
|
65 SU_ANY|T_ANY, SU_ANY|T_ANY, ctcal03,
|
|
66 SU_ANY|T_LONG, SU_ANY|T_ANY, ctcal03,
|
|
67 0,
|
|
68 };
|
|
69 char ct109[] {
|
|
70 CLR,' ',CR,'\n',
|
|
71 0 };
|
|
72 char ctlod01[] {
|
|
73 CLR,TLEFT,' ',CR,'\n',
|
|
74 0 };
|
|
75 char ctlod02[] {
|
|
76 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
77 EXTW,' ',CR,'\n',
|
|
78 0 };
|
|
79 char ctlod03[] {
|
|
80 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
81 0 };
|
|
82 char ctlod04[] {
|
|
83 LEFT,S_INDR,
|
|
84 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
85 EXTW,' ',CR,'\n',
|
|
86 0 };
|
|
87 char ctlod05[] {
|
|
88 LEFT,S_INDR,
|
|
89 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
90 0 };
|
|
91 struct skeleton fr_ld[] {
|
|
92 SU_ZERO|T_CHAR, SU_ANY|T_ANY, ct109,
|
|
93 SU_ZERO|T_INT, SU_ANY|T_ANY, ctlod01,
|
|
94 SU_ZERO|T_LONG, SU_ANY|T_ANY, ctlod01,
|
|
95 SU_ADDR|T_CHAR, SU_ANY|T_ANY, ctlod02,
|
|
96 SU_ADDR|T_ANY, SU_ANY|T_ANY, ctlod03,
|
|
97 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctlod03,
|
|
98 SU_ADDR|T_FLOAT, SU_ANY|T_ANY, ctlod03,
|
|
99 SU_ANY|T_CHAR|T_INDR, SU_ANY|T_ANY, ctlod04,
|
|
100 SU_ANY|T_ANY|T_INDR, SU_ANY|T_ANY, ctlod05,
|
|
101 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ctlod05,
|
|
102 SU_ANY|T_FLOAT|T_INDR, SU_ANY|T_ANY, ctlod05,
|
|
103 0,
|
|
104 };
|
|
105 char ct115[] {
|
|
106 CLR,' ',PSH,'\n',
|
|
107 0 };
|
|
108 char ctlod06[] {
|
|
109 CLR,TLEFT,' ',PSH,'\n',
|
|
110 0 };
|
|
111 char ctlod07[] {
|
|
112 LEFT,0,
|
|
113 MOV,' ',CR,',',PSH,'\n',
|
|
114 0 };
|
|
115 char ctlod08[] {
|
|
116 MOV,TLEFT,' ',LADDR,',',PSH,'\n',
|
|
117 0 };
|
|
118 char ctlod09[] {
|
|
1File: CSKELS.C Page 3
|
|
119 LEFT,S_INDR,
|
|
120 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',PSH,'\n',
|
|
121 0 };
|
|
122 struct skeleton fs_ld[] {
|
|
123 SU_ZERO|T_CHAR, SU_ANY|T_ANY, ct115,
|
|
124 SU_ZERO|T_INT, SU_ANY|T_ANY, ctlod06,
|
|
125 SU_ZERO|T_LONG, SU_ANY|T_ANY, ctlod06,
|
|
126 SU_ADDR|T_CHAR, SU_ANY|T_ANY, ctlod07,
|
|
127 SU_ADDR|T_INT, SU_ANY|T_ANY, ctlod08,
|
|
128 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctlod08,
|
|
129 SU_ADDR|T_FLOAT, SU_ANY|T_ANY, ctlod08,
|
|
130 SU_ANY|T_INT|T_INDR, SU_ANY|T_ANY, ctlod09,
|
|
131 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ctlod09,
|
|
132 SU_ANY|T_FLOAT|T_INDR, SU_ANY|T_ANY, ctlod09,
|
|
133 0,
|
|
134 };
|
|
135 char ctpst01[] {
|
|
136 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
137 OP,TLEFT,' ',RADDR,',',LADDR,'\n',
|
|
138 0 };
|
|
139 char ctpst02[] {
|
|
140 LEFT,S_INDR,
|
|
141 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
142 OP,TLEFT,' ',RADDR,',',LOFFSET,'(',CAR,')','\n',
|
|
143 0 };
|
|
144 struct skeleton fr_postop[] {
|
|
145 SU_ADDR|T_ANY, SU_ANY|T_ANY, ctpst01,
|
|
146 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctpst01,
|
|
147 SU_ANY|T_ANY|T_INDR, SU_ANY|T_ANY, ctpst02,
|
|
148 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ctpst02,
|
|
149 0,
|
|
150 };
|
|
151 char ctneg01[] {
|
|
152 LEFT,0,
|
|
153 OP,TLEFT,' ',CR,'\n',
|
|
154 0 };
|
|
155 char ctneg02[] {
|
|
156 LEFT,S_STACK,
|
|
157 JSR,' ',OPCALL,'\n',
|
|
158 POP4,0 };
|
|
159 struct skeleton fr_neg[] {
|
|
160 SU_ANY|T_ANY, SU_ANY|T_ANY, ctneg01,
|
|
161 SU_ANY|T_LONG, SU_ANY|T_ANY, ctneg01,
|
|
162 SU_ANY|T_FLOAT, SU_ANY|T_ANY, ctneg02,
|
|
163 0,
|
|
164 };
|
|
165 char ctasg01[] {
|
|
166 CLRL,' ',CR,'\n',
|
|
167 MOV,' ',RADDR,',',CR,'\n',
|
|
168 OP,TLEFT,' ',CR,',',LADDR,'\n',
|
|
169 0 };
|
|
170 char ctasg02[] {
|
|
171 RIGHT,0,
|
|
172 EXRL,
|
|
173 OP,TLEFT,' ',CR,',',LADDR,'\n',
|
|
174 0 };
|
|
175 char ctasg03[] {
|
|
176 LEFT,S_INDR,
|
|
177 CLRL,' ',CR,'\n',
|
|
1File: CSKELS.C Page 4
|
|
178 MOV,' ',RADDR,',',CR,'\n',
|
|
179 OP,TLEFT,' ',LOFFSET,'(',NAR,')',',',CR,'\n',
|
|
180 MOV,TLEFT,' ',CR,',',LOFFSET,'(',NAR,')','\n',
|
|
181 0 };
|
|
182 char ctasg04[] {
|
|
183 LEFT,S_INDR,
|
|
184 MOV,TRIGHT,' ',RADDR,',',CR,'\n',
|
|
185 EXRL,
|
|
186 OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
187 0 };
|
|
188 char ctasg05[] {
|
|
189 RIGHT,0,
|
|
190 EXRL,
|
|
191 LEFT,S_NEXT|S_INDR,
|
|
192 OP,TLEFT,' ',CR,',',LOFFSET,'(',NAR,')','\n',
|
|
193 0 };
|
|
194 char ctasg06[] {
|
|
195 LEFT,S_STACK|S_INDR,
|
|
196 RIGHT,0,
|
|
197 EXRL,
|
|
198 MOVL,' ',POP,',',CAR,'\n',
|
|
199 OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
200 0 };
|
|
201 struct skeleton fr_assign[] {
|
|
202 SU_ADDR|T_LONG, SU_ADDR|T_UNSN, ctasg01,
|
|
203 SU_ADDR|T_ANY, SU_ANY|T_ANY, ctasg02,
|
|
204 SU_ADDR|T_ANY, SU_ANY|T_LONG, ctasg02,
|
|
205 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctasg02,
|
|
206 SU_ADDR|T_LONG, SU_ANY|T_LONG, ctasg02,
|
|
207 SU_ADDR|T_FLOAT, SU_ANY|T_FLOAT, ctasg02,
|
|
208 SU_ANY|T_LONG|T_INDR, SU_ADDR|T_UNSN, ctasg03,
|
|
209 SU_ANY|T_ANY|T_INDR, SU_ADDR|T_INT, ctasg04,
|
|
210 SU_ANY|T_ANY|T_INDR, SU_ADDR|T_LONG, ctasg04,
|
|
211 SU_ANY|T_LONG|T_INDR, SU_ADDR|T_INT, ctasg04,
|
|
212 SU_ANY|T_LONG|T_INDR, SU_ADDR|T_LONG, ctasg04,
|
|
213 SU_ANY|T_FLOAT|T_INDR, SU_ADDR|T_FLOAT, ctasg04,
|
|
214 SU_EASY|T_ANY|T_INDR, SU_EASY|T_ANY, ctasg05,
|
|
215 SU_EASY|T_ANY|T_INDR, SU_EASY|T_LONG, ctasg05,
|
|
216 SU_EASY|T_LONG|T_INDR, SU_EASY|T_LONG, ctasg05,
|
|
217 SU_EASY|T_LONG|T_INDR, SU_EASY|T_ANY, ctasg05,
|
|
218 SU_ANY|T_ANY|T_INDR, SU_ANY|T_ANY, ctasg06,
|
|
219 SU_ANY|T_ANY|T_INDR, SU_ANY|T_LONG, ctasg06,
|
|
220 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ctasg06,
|
|
221 SU_ANY|T_LONG|T_INDR, SU_ANY|T_LONG, ctasg06,
|
|
222 SU_ANY|T_FLOAT|T_INDR, SU_ANY|T_FLOAT, ctasg06,
|
|
223 0,
|
|
224 };
|
|
225 char ctasg07[] {
|
|
226 AOP,TLEFT,' ',LADDR,'\n',
|
|
227 0 };
|
|
228 char ctasg08[] {
|
|
229 LEFT,S_INDR,
|
|
230 AOP,TLEFT,' ',LOFFSET,'(',CAR,')','\n',
|
|
231 0 };
|
|
232 char ctasg09[] {
|
|
233 OP,TLEFT,' ',RADDR,',',LADDR,'\n',
|
|
234 0 };
|
|
235 char ctasg10[] {
|
|
236 RIGHT,0,
|
|
1File: CSKELS.C Page 5
|
|
237 OP,TLEFT,' ',CR,',',LADDR,'\n',
|
|
238 0 };
|
|
239 char ctasg11[] {
|
|
240 OP,TRIGHT,' ',RADDR,',',LADDR,'\n',
|
|
241 EXTW,' ',LADDR,'\n',
|
|
242 0 };
|
|
243 char ctasg12[] {
|
|
244 OP,TRIGHT,' ',RADDR,',',LADDR,'\n',
|
|
245 EXTW,' ',LADDR,'\n',
|
|
246 EXTL,' ',LADDR,'\n',
|
|
247 0 };
|
|
248 char ctasg13[] {
|
|
249 CLRL,' ',LADDR,'\n',
|
|
250 MOV,' ',RADDR,',',LADDR,'\n',
|
|
251 0 };
|
|
252 char ctasg22[] {
|
|
253 OP,TRIGHT,' ',RADDR,',',LADDR,'\n',
|
|
254 0 };
|
|
255 char ctasg14[] {
|
|
256 OP,TRIGHT,' ',RADDR,',',LADDR,'\n',
|
|
257 EXTL,' ',LADDR,'\n',
|
|
258 0 };
|
|
259 char ctasg15[] {
|
|
260 MOV,' ',RADDR,',',CAR,'\n',
|
|
261 OP,TLEFT,' ',CAR,',',LADDR,'\n',
|
|
262 0 };
|
|
263 char ctasg16[] {
|
|
264 LEFT,S_INDR,
|
|
265 CLRL,' ',CR,'\n',
|
|
266 OP,' ',RADDR,',',CR,'\n',
|
|
267 OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
268 0 };
|
|
269 char ctasg17[] {
|
|
270 RIGHT,S_INDR,
|
|
271 OP,TLEFT,' ',ROFFSET,'(',CAR,')',',',LADDR,'\n',
|
|
272 0 };
|
|
273 char ctasg18[] {
|
|
274 RIGHT,0,
|
|
275 EXRL,
|
|
276 OP,TLEFT,' ',CR,',',LADDR,'\n',
|
|
277 0 };
|
|
278 char ctasg19[] {
|
|
279 LEFT,S_INDR,
|
|
280 OP,TLEFT,' ',RADDR,',',LOFFSET,'(',CAR,')','\n',
|
|
281 0 };
|
|
282 char ctasg20[] {
|
|
283 LEFT,S_INDR,
|
|
284 RIGHT,S_NEXT|S_INDR,
|
|
285 OP,TLEFT,' ',ROFFSET,'(',NAR,')',',',LOFFSET,'(',CAR,')','\n',
|
|
286 0 };
|
|
287 char ct147[] {
|
|
288 RIGHT,S_STACK,
|
|
289 LEFT,S_INDR,
|
|
290 OP,TLEFT,' ',POP,',',LOFFSET,'(',CAR,')','\n',
|
|
291 0 };
|
|
292 struct skeleton fe_assign[] {
|
|
293 SU_ADDR|T_ANY, SU_ZERO|T_ANY, ctasg07,
|
|
294 SU_ADDR|T_LONG, SU_ZERO|T_ANY, ctasg07,
|
|
295 SU_ANY|T_ANY|T_INDR, SU_ZERO|T_ANY, ctasg08,
|
|
1File: CSKELS.C Page 6
|
|
296 SU_ADDR|T_CHAR, SU_ADDR|T_CHAR, ctasg09,
|
|
297 SU_ADDR|T_INT, SU_ADDR|T_INT, ctasg09,
|
|
298 SU_ADDR|T_LONG, SU_ADDR|T_LONG, ctasg09,
|
|
299 SU_ADDR|T_ANY, SU_CONST|T_INT, ctasg09,
|
|
300 SU_ADDR|T_LONG, SU_CONST|T_INT, ctasg09,
|
|
301 SU_ADDR|T_ANY, SU_REG|T_INT, ctasg09,
|
|
302 SU_ADDR|T_ANY, SU_REG|T_LONG, ctasg09,
|
|
303 SU_ADDR|T_FLOAT, SU_ADDR|T_FLOAT, ctasg09,
|
|
304 SU_AREG|T_LONG, SU_ADDR|T_CHAR, ctasg10,
|
|
305 SU_AREG|T_ANY, SU_ADDR|T_CHAR, ctasg10,
|
|
306 SU_REG|T_INT, SU_ADDR|T_CHAR, ctasg11,
|
|
307 SU_REG|T_LONG, SU_ADDR|T_CHAR, ctasg12,
|
|
308 SU_REG|T_LONG, SU_ADDR|T_UNSN, ctasg13,
|
|
309 SU_AREG|T_LONG, SU_ADDR|T_INT, ctasg22,
|
|
310 SU_REG|T_LONG, SU_ADDR|T_INT, ctasg14,
|
|
311 SU_ADDR|T_LONG, SU_ADDR|T_UNSN, ctasg01,
|
|
312 SU_ADDR|T_LONG, SU_ADDR|T_INT, ctasg15,
|
|
313 SU_ANY|T_LONG|T_INDR, SU_ADDR|T_UNSN, ctasg16,
|
|
314 SU_ADDR|T_CHAR, SU_ANY|T_CHAR|T_INDR, ctasg17,
|
|
315 SU_ADDR|T_INT, SU_ANY|T_INT|T_INDR, ctasg17,
|
|
316 SU_ADDR|T_LONG, SU_ANY|T_LONG|T_INDR, ctasg17,
|
|
317 SU_ADDR|T_ANY, SU_ANY|T_ANY, ctasg18,
|
|
318 SU_ADDR|T_ANY, SU_ANY|T_LONG, ctasg18,
|
|
319 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctasg18,
|
|
320 SU_ADDR|T_LONG, SU_ANY|T_LONG, ctasg18,
|
|
321 SU_ANY|T_INT|T_INDR, SU_ADDR|T_INT, ctasg19,
|
|
322 SU_ANY|T_CHAR|T_INDR, SU_ADDR|T_CHAR, ctasg19,
|
|
323 SU_ANY|T_LONG|T_INDR, SU_ADDR|T_LONG, ctasg19,
|
|
324 SU_ANY|T_ANY|T_INDR, SU_CONST|T_INT, ctasg19,
|
|
325 SU_ANY|T_LONG|T_INDR, SU_CONST|T_INT, ctasg19,
|
|
326 SU_ANY|T_FLOAT|T_INDR, SU_ADDR|T_FLOAT, ctasg19,
|
|
327 SU_EASY|T_CHAR|T_INDR, SU_EASY|T_CHAR|T_INDR, ctasg20,
|
|
328 SU_EASY|T_INT|T_INDR, SU_EASY|T_INT|T_INDR, ctasg20,
|
|
329 SU_EASY|T_LONG|T_INDR, SU_EASY|T_LONG|T_INDR, ctasg20,
|
|
330 SU_EASY|T_ANY|T_INDR, SU_EASY|T_ANY, ctasg05,
|
|
331 SU_EASY|T_ANY|T_INDR, SU_EASY|T_LONG, ctasg05,
|
|
332 SU_EASY|T_LONG|T_INDR, SU_EASY|T_ANY, ctasg05,
|
|
333 SU_EASY|T_LONG|T_INDR, SU_EASY|T_LONG, ctasg05,
|
|
334 SU_ANY|T_INT|T_INDR, SU_ANY|T_ANY, ct147,
|
|
335 SU_ANY|T_LONG|T_INDR, SU_ANY|T_LONG, ct147,
|
|
336 SU_ANY|T_ANY|T_INDR, SU_ANY|T_ANY, ctasg06,
|
|
337 SU_ANY|T_ANY|T_INDR, SU_ANY|T_LONG, ctasg06,
|
|
338 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ctasg06,
|
|
339 SU_ANY|T_FLOAT|T_INDR, SU_ADDR|T_FLOAT, ctasg06,
|
|
340 0,
|
|
341 };
|
|
342 char ctbop01[] {
|
|
343 LEFT,0,
|
|
344 0 };
|
|
345 char ctbop02[] {
|
|
346 LEFT,0,
|
|
347 EXLR,
|
|
348 OP,TRIGHT,' ',RADDR,',',CR,'\n',
|
|
349 0 };
|
|
350 char ctbop03[] {
|
|
351 LEFT,0,
|
|
352 CLRL,' ',NR,'\n',
|
|
353 MOV,' ',RADDR,',',NR,'\n',
|
|
354 OP,TLEFT,' ',NR,',',CR,'\n',
|
|
1File: CSKELS.C Page 7
|
|
355 0 };
|
|
356 char ctbop04[] {
|
|
357 CLRL,' ',CR,'\n',
|
|
358 MOV,' ',LADDR,',',CR,'\n',
|
|
359 RIGHT,S_NEXT,
|
|
360 OP,TRIGHT,' ',NR,',',CR,'\n',
|
|
361 0 };
|
|
362 char ctbop05[] {
|
|
363 LEFT,0,
|
|
364 OP,TLEFT,' ',RADDR,',',CR,'\n',
|
|
365 0 };
|
|
366 char ctbop06[] {
|
|
367 LEFT,0,
|
|
368 EXLR,
|
|
369 RIGHT,S_NEXT,
|
|
370 EXRLN,
|
|
371 OP,TEITHER,' ',NR,',',CR,'\n',
|
|
372 0 };
|
|
373 char ctbop07[] {
|
|
374 RIGHT,0,
|
|
375 EXRL,
|
|
376 MOVL,' ',CR,',',PSH,'\n',
|
|
377 LEFT,0,
|
|
378 OP,TLEFT,' ',POP,',',CR,'\n',
|
|
379 0 };
|
|
380 char ctbop08[] {
|
|
381 RIGHT,S_STACK,
|
|
382 LEFT,0,
|
|
383 EXLR,
|
|
384 OP,TRIGHT,' ',POP,',',CR,'\n',
|
|
385 0 };
|
|
386 char ctbop09[] {
|
|
387 RIGHT,S_STACK,
|
|
388 LEFT,0,
|
|
389 OP,' ',POP,',',CR,'\n',
|
|
390 0 };
|
|
391 char ctbop12[] {
|
|
392 RIGHT,S_STACK,
|
|
393 LEFT,S_STACK,
|
|
394 JSR,' ',OPCALL,'\n',
|
|
395 POP8,0 };
|
|
396 struct skeleton fr_op[] {
|
|
397 SU_ANY|T_ANY, SU_ZERO|T_ANY, ctbop01,
|
|
398 SU_ANY|T_ANY, SU_ADDR|T_INT, ctbop02,
|
|
399 SU_ANY|T_ANY, SU_ADDR|T_LONG, ctbop02,
|
|
400 SU_ANY|T_LONG, SU_ADDR|T_LONG, ctbop02,
|
|
401 SU_ANY|T_LONG, SU_ADDR|T_UNSN, ctbop03,
|
|
402 SU_ADDR|T_UNSN, SU_ANY|T_LONG, ctbop04,
|
|
403 SU_ANY|T_LONG, SU_CONST|T_INT, ctbop05,
|
|
404 SU_ANY|T_LONG, SU_ADDR|T_LONG, ctbop05,
|
|
405 SU_ANY|T_ANY, SU_EASY|T_ANY, ctbop06,
|
|
406 SU_ANY|T_ANY, SU_EASY|T_LONG, ctbop06,
|
|
407 SU_ANY|T_LONG, SU_EASY|T_ANY, ctbop06,
|
|
408 SU_ANY|T_LONG, SU_EASY|T_LONG, ctbop06,
|
|
409 SU_ANY|T_LONG, SU_ANY|T_ANY, ctbop07,
|
|
410 SU_ANY|T_LONG, SU_ANY|T_LONG, ctbop07,
|
|
411 SU_ANY|T_ANY, SU_ANY|T_LONG, ctbop08,
|
|
412 SU_ANY|T_LONG, SU_ANY|T_LONG, ctbop08,
|
|
413 SU_ANY|T_ANY, SU_ANY|T_ANY, ctbop09,
|
|
1File: CSKELS.C Page 8
|
|
414 SU_ANY|T_FLOAT, SU_ANY|T_FLOAT, ctbop12,
|
|
415 0,
|
|
416 };
|
|
417 char ctbop10[] {
|
|
418 LEFT,S_STACK,
|
|
419 OP,TLEFTL,' ',RADDR,',',STK,'\n',
|
|
420 0 };
|
|
421 char ctbop11[] {
|
|
422 LEFT,S_STACK,
|
|
423 RIGHT,0,
|
|
424 OP,TLEFTL,' ',CR,',',STK,'\n',
|
|
425 0 };
|
|
426 struct skeleton fs_op[] {
|
|
427 SU_ANY|T_ANY, SU_CONST|T_INT, ctbop10,
|
|
428 SU_ANY|T_LONG, SU_CONST|T_INT, ctbop10,
|
|
429 SU_ANY|T_ANY, SU_ANY|T_ANY, ctbop11,
|
|
430 0,
|
|
431 };
|
|
432 char ctxor01[] {
|
|
433 LEFT,S_STACK,
|
|
434 RIGHT,0,
|
|
435 OP,' ',CR,',',STK,'\n',
|
|
436 MOV,' ',POP,',',CR,'\n',
|
|
437 0 };
|
|
438 struct skeleton fr_xor[] {
|
|
439 SU_ANY|T_ANY, SU_EASY|T_ANY, ctbop06,
|
|
440 SU_ANY|T_ANY, SU_EASY|T_LONG, ctbop06,
|
|
441 SU_ANY|T_LONG, SU_EASY|T_ANY, ctbop06,
|
|
442 SU_ANY|T_LONG, SU_EASY|T_LONG, ctbop06,
|
|
443 SU_ANY|T_ANY, SU_ANY|T_ANY, ctxor01,
|
|
444 SU_ANY|T_LONG, SU_ANY|T_LONG, ctbop07,
|
|
445 0,
|
|
446 };
|
|
447 char ctshf01[] {
|
|
448 LEFT,0,
|
|
449 OP,TLEFTL,' ',RADDR,',',CR,'\n',
|
|
450 0 };
|
|
451 char ctshf02[] {
|
|
452 LEFT,0,
|
|
453 RIGHT,S_NEXT,
|
|
454 OP,TLEFTL,' ',NR,',',CR,'\n',
|
|
455 0 };
|
|
456 char ctshf03[] {
|
|
457 RIGHT,S_STACK,
|
|
458 LEFT,0,
|
|
459 MOV,TRIGHT,' ',POP,',',NR,'\n',
|
|
460 OP,TLEFTL,' ',NR,',',CR,'\n',
|
|
461 0 };
|
|
462 struct skeleton fr_shft[] {
|
|
463 SU_ANY|T_ANY, SU_ZERO|T_ANY, ctbop01,
|
|
464 SU_ANY|T_LONG, SU_ZERO|T_ANY, ctbop01,
|
|
465 SU_ANY|T_ANY, SU_SMALL|T_INT, ctshf01,
|
|
466 SU_ANY|T_LONG, SU_SMALL|T_INT, ctshf01,
|
|
467 SU_ANY|T_ANY, SU_EASY|T_ANY, ctshf02,
|
|
468 SU_ANY|T_ANY, SU_EASY|T_LONG, ctshf02,
|
|
469 SU_ANY|T_LONG, SU_EASY|T_ANY, ctshf02,
|
|
470 SU_ANY|T_LONG, SU_EASY|T_LONG, ctshf02,
|
|
471 SU_ANY|T_ANY, SU_ANY|T_ANY, ctshf03,
|
|
472 SU_ANY|T_ANY, SU_ANY|T_LONG, ctshf03,
|
|
1File: CSKELS.C Page 9
|
|
473 SU_ANY|T_LONG, SU_ANY|T_ANY, ctshf03,
|
|
474 SU_ANY|T_LONG, SU_ANY|T_LONG, ctshf03,
|
|
475 0,
|
|
476 };
|
|
477 char ctmul01[] {
|
|
478 LEFT,0,
|
|
479 OP,' ',RADDR,',',CR,'\n',
|
|
480 0 };
|
|
481 char ctmul02[] {
|
|
482 LEFT,0,
|
|
483 RIGHT,S_NEXT|S_INDR,
|
|
484 OP,' ',ROFFSET,'(',NAR,')',',',CR,'\n',
|
|
485 0 };
|
|
486 char ctmul03[] {
|
|
487 LEFT,0,
|
|
488 RIGHT,S_NEXT,
|
|
489 OP,' ',NR,',',CR,'\n',
|
|
490 0 };
|
|
491 char ctmul04[] {
|
|
492 RIGHT,S_STACK,
|
|
493 LEFT,0,
|
|
494 OP,' ',POP,',',CR,'\n',
|
|
495 0 };
|
|
496 char ctmul05[] {
|
|
497 MOVL,' ',RADDR,',',PSH,'\n',
|
|
498 LEFT,S_STACK,
|
|
499 JSR,' ',OPCALL,'\n',
|
|
500 POP8,0 };
|
|
501 char ctmul06[] {
|
|
502 RIGHT,0,
|
|
503 EXRL,
|
|
504 MOVL,' ',CR,',',PSH,'\n',
|
|
505 LEFT,S_STACK,
|
|
506 JSR,' ',OPCALL,'\n',
|
|
507 POP8,0 };
|
|
508 char ctmul07[] {
|
|
509 LEFT,0,
|
|
510 EXLR,
|
|
511 MOVL,' ',CR,',',PSH,'\n',
|
|
512 RIGHT,S_STACK,
|
|
513 JSR,' ',OPCALL,'\n',
|
|
514 POP8,0 };
|
|
515 struct skeleton fr_mult[] {
|
|
516 SU_ANY|T_ANY, SU_ADDR|T_ANY, ctmul01,
|
|
517 SU_ANY|T_ANY, SU_EASY|T_ANY|T_INDR, ctmul02,
|
|
518 SU_ANY|T_ANY, SU_EASY|T_ANY, ctmul03,
|
|
519 SU_ANY|T_ANY, SU_ANY|T_ANY, ctmul04,
|
|
520 SU_ANY|T_LONG, SU_CONST|T_INT, ctmul05,
|
|
521 SU_ANY|T_LONG, SU_ANY|T_ANY, ctmul06,
|
|
522 SU_ANY|T_ANY, SU_ANY|T_LONG, ctmul07,
|
|
523 SU_ANY|T_LONG, SU_ANY|T_LONG, ctbop12,
|
|
524 SU_ANY|T_FLOAT, SU_ANY|T_FLOAT, ctbop12,
|
|
525 0,
|
|
526 };
|
|
527 char ctdiv01[] {
|
|
528 CLRL,' ',CR,'\n',
|
|
529 MOV,' ',LADDR,',',CR,'\n',
|
|
530 OP,' ',RADDR,',',CR,'\n',
|
|
531 MODSWAP,0 };
|
|
1File: CSKELS.C Page 10
|
|
532 char ctdiv02[] {
|
|
533 LEFT,0,
|
|
534 EXL,
|
|
535 OP,' ',RADDR,',',CR,'\n',
|
|
536 MODSWAP,0 };
|
|
537 char ctdiv03[] {
|
|
538 RIGHT,S_INDR,
|
|
539 CLRL,' ',CR,'\n',
|
|
540 MOV,' ',LADDR,',',CR,'\n',
|
|
541 OP,' ',ROFFSET,'(',CAR,')',',',CR,'\n',
|
|
542 MODSWAP,0 };
|
|
543 char ctdiv04[] {
|
|
544 LEFT,0,
|
|
545 EXL,
|
|
546 RIGHT,S_NEXT|S_INDR,
|
|
547 OP,' ',ROFFSET,'(',NAR,')',',',CR,'\n',
|
|
548 MODSWAP,0 };
|
|
549 char ctdiv05[] {
|
|
550 CLRL,' ',CR,'\n',
|
|
551 MOV,' ',LADDR,',',CR,'\n',
|
|
552 RIGHT,S_NEXT,
|
|
553 OP,' ',NR,',',CR,'\n',
|
|
554 MODSWAP,0 };
|
|
555 char ctdiv06[] {
|
|
556 LEFT,0,
|
|
557 EXL,
|
|
558 RIGHT,S_NEXT,
|
|
559 OP,' ',NR,',',CR,'\n',
|
|
560 MODSWAP,0 };
|
|
561 char ctdiv07[] {
|
|
562 RIGHT,S_STACK,
|
|
563 LEFT,0,
|
|
564 EXL,
|
|
565 OP,' ',POP,',',CR,'\n',
|
|
566 MODSWAP,0 };
|
|
567 struct skeleton fr_div[] {
|
|
568 SU_ADDR|T_UNSN, SU_ADDR|T_INT, ctdiv01,
|
|
569 SU_ANY|T_ANY, SU_ADDR|T_INT, ctdiv02,
|
|
570 SU_ANY|T_LONG, SU_ADDR|T_INT, ctdiv02,
|
|
571 SU_ADDR|T_UNSN, SU_EASY|T_INT|T_INDR, ctdiv03,
|
|
572 SU_ANY|T_ANY, SU_EASY|T_INT|T_INDR, ctdiv04,
|
|
573 SU_ANY|T_LONG, SU_EASY|T_INT|T_INDR, ctdiv04,
|
|
574 SU_ADDR|T_UNSN, SU_EASY|T_ANY, ctdiv05,
|
|
575 SU_ANY|T_ANY, SU_EASY|T_ANY, ctdiv06,
|
|
576 SU_ANY|T_LONG, SU_EASY|T_ANY, ctdiv06,
|
|
577 SU_ANY|T_ANY, SU_ANY|T_ANY, ctdiv07,
|
|
578 SU_ANY|T_LONG, SU_ANY|T_ANY, ctdiv07,
|
|
579 SU_ANY|T_LONG, SU_ANY|T_LONG, ctbop12,
|
|
580 SU_ANY|T_FLOAT, SU_ANY|T_FLOAT, ctbop12,
|
|
581 0,
|
|
582 };
|
|
583 char ctreo01[] {
|
|
584 OP,TLEFT,' ',RADDR,',',LADDR,'\n',
|
|
585 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
586 0 };
|
|
587 char ctreo02[] {
|
|
588 CLRL,' ',CR,'\n',
|
|
589 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
590 OP,TRIGHT,' ',RADDR,',',CR,'\n',
|
|
1File: CSKELS.C Page 11
|
|
591 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
592 0 };
|
|
593 char ctreo03[] {
|
|
594 LEFT,0,
|
|
595 EXLR,
|
|
596 OP,TRIGHT,' ',RADDR,',',CR,'\n',
|
|
597 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
598 0 };
|
|
599 char ctreo04[] {
|
|
600 RIGHT,S_INDR,
|
|
601 CLRL,' ',CR,'\n',
|
|
602 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
603 OP,TRIGHT,' ',ROFFSET,'(',CAR,')',',',CR,'\n',
|
|
604 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
605 0 };
|
|
606 char ctreo05[] {
|
|
607 RIGHT,S_INDR,
|
|
608 LEFT,0,
|
|
609 EXLR,
|
|
610 OP,TRIGHT,' ',ROFFSET,'(',CAR,')',',',CR,'\n',
|
|
611 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
612 0 };
|
|
613 char ctreo06[] {
|
|
614 RIGHT,S_STACK,
|
|
615 LEFT,S_STACK,
|
|
616 JSR,' ',OPCALL,'\n',
|
|
617 POP8,MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
618 0 };
|
|
619 char ctreo07[] {
|
|
620 CLRL,' ',CR,'\n',
|
|
621 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
622 RIGHT,S_NEXT,
|
|
623 EXRLN,
|
|
624 OP,TRIGHT,' ',NR,',',CR,'\n',
|
|
625 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
626 0 };
|
|
627 char ctreo08[] {
|
|
628 LEFT,0,
|
|
629 EXLR,
|
|
630 RIGHT,S_NEXT,
|
|
631 EXRLN,
|
|
632 OP,TEITHER,' ',NR,',',CR,'\n',
|
|
633 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
634 0 };
|
|
635 char ctreo09[] {
|
|
636 RIGHT,S_STACK,
|
|
637 CLRL,' ',CR,'\n',
|
|
638 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
639 OP,TRIGHT,' ',POP,',',CR,'\n',
|
|
640 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
641 0 };
|
|
642 char ctreo10[] {
|
|
643 RIGHT,S_STACK,
|
|
644 LEFT,0,
|
|
645 EXLR,
|
|
646 OP,TRIGHT,' ',POP,',',CR,'\n',
|
|
647 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
648 0 };
|
|
649 char ctreo11[] {
|
|
1File: CSKELS.C Page 12
|
|
650 RIGHT,0,
|
|
651 EXRL,
|
|
652 MOV,TLEFT,' ',CR,',',PSH,'\n',
|
|
653 LEFT,0,
|
|
654 OP,TLEFT,' ',POP,',',CR,'\n',
|
|
655 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
656 0 };
|
|
657 char ctreo12[] {
|
|
658 RIGHT,S_STACK,
|
|
659 LEFT,0,
|
|
660 OP,' ',POP,',',CR,'\n',
|
|
661 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
662 0 };
|
|
663 char ctreo13[] {
|
|
664 LEFT,S_INDR,
|
|
665 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
666 EXTW,'\n',
|
|
667 EXLR,
|
|
668 OP,TRIGHT,' ',RADDR,',',CR,'\n',
|
|
669 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
670 0 };
|
|
671 char ctreo14[] {
|
|
672 LEFT,S_INDR,
|
|
673 OP,TLEFT,' ',RADDR,',',LOFFSET,'(',CAR,')','\n',
|
|
674 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
675 0 };
|
|
676 char ctreo15[] {
|
|
677 LEFT,S_INDR,
|
|
678 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
679 EXLR,
|
|
680 OP,TRIGHT,' ',RADDR,',',CR,'\n',
|
|
681 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
682 0 };
|
|
683 char ctreo16[] {
|
|
684 RIGHT,S_NEXT,
|
|
685 EXRLN,
|
|
686 LEFT,S_INDR,
|
|
687 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
688 EXLR,
|
|
689 OP,TRIGHT,' ',NR,',',CR,'\n',
|
|
690 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
691 0 };
|
|
692 char ctreo17[] {
|
|
693 RIGHT,S_NEXT,
|
|
694 LEFT,S_INDR,
|
|
695 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
696 EXTW,'\n',
|
|
697 EXLR,
|
|
698 OP,TRIGHT,' ',NR,',',CR,'\n',
|
|
699 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
700 0 };
|
|
701 char ctreo18[] {
|
|
702 RIGHT,S_NEXT,
|
|
703 LEFT,S_INDR,
|
|
704 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
705 EXTW,'\n',
|
|
706 OP,' ',NR,',',CR,'\n',
|
|
707 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
708 0 };
|
|
1File: CSKELS.C Page 13
|
|
709 char ctreo19[] {
|
|
710 RIGHT,S_STACK,
|
|
711 LEFT,S_INDR,
|
|
712 MOV,TLEFT,' ',CR,',',PSH,'\n',
|
|
713 JSR,' ',OPCALL,'\n',
|
|
714 POP8,MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
715 0 };
|
|
716 char ctreo20[] {
|
|
717 RIGHT,S_STACK,
|
|
718 LEFT,S_INDR,
|
|
719 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
720 EXLR,
|
|
721 OP,TRIGHT,' ',POP,',',CR,'\n',
|
|
722 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
723 0 };
|
|
724 char ctreo21[] {
|
|
725 RIGHT,S_STACK,
|
|
726 LEFT,S_INDR,
|
|
727 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
728 EXTW,'\n',
|
|
729 EXLR,
|
|
730 OP,TRIGHT,' ',POP,',',CR,'\n',
|
|
731 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
732 0 };
|
|
733 char ctreo22[] {
|
|
734 RIGHT,0,
|
|
735 EXRL,
|
|
736 MOV,TLEFT,' ',CR,',',PSH,'\n',
|
|
737 LEFT,S_INDR,
|
|
738 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
739 OP,TLEFT,' ',POP,',',CR,'\n',
|
|
740 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
741 0 };
|
|
742 char ctreo23[] {
|
|
743 RIGHT,S_STACK,
|
|
744 LEFT,S_INDR,
|
|
745 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
746 EXTW,'\n',
|
|
747 OP,' ',POP,',',CR,'\n',
|
|
748 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
749 0 };
|
|
750 struct skeleton fr_eqop[] {
|
|
751 SU_ADDR|T_INT, SU_CONST|T_INT, ctreo01,
|
|
752 SU_ADDR|T_LONG, SU_CONST|T_INT, ctreo01,
|
|
753 SU_ADDR|T_UNSN, SU_ADDR|T_LONG, ctreo02,
|
|
754 SU_ADDR|T_CHAR, SU_CONST|T_INT, ctreo03,
|
|
755 SU_ADDR|T_ANY, SU_ADDR|T_INT, ctreo03,
|
|
756 SU_ADDR|T_ANY, SU_ADDR|T_LONG, ctreo03,
|
|
757 SU_ADDR|T_LONG, SU_ADDR|T_LONG, ctreo03,
|
|
758 SU_ADDR|T_UNSN, SU_ANY|T_LONG|T_INDR, ctreo04,
|
|
759 SU_ADDR|T_ANY, SU_ANY|T_INT|T_INDR, ctreo05,
|
|
760 SU_ADDR|T_ANY, SU_ANY|T_LONG|T_INDR, ctreo05,
|
|
761 SU_ADDR|T_LONG, SU_ANY|T_LONG|T_INDR, ctreo05,
|
|
762 SU_ADDR|T_FLOAT, SU_ANY|T_FLOAT, ctreo06,
|
|
763 SU_ADDR|T_UNSN, SU_EASY|T_LONG, ctreo07,
|
|
764 SU_ADDR|T_ANY, SU_EASY|T_ANY, ctreo08,
|
|
765 SU_ADDR|T_ANY, SU_EASY|T_LONG, ctreo08,
|
|
766 SU_ADDR|T_LONG, SU_EASY|T_ANY, ctreo08,
|
|
767 SU_ADDR|T_LONG, SU_EASY|T_LONG, ctreo08,
|
|
1File: CSKELS.C Page 14
|
|
768 SU_ADDR|T_UNSN, SU_ANY|T_LONG, ctreo09,
|
|
769 SU_ADDR|T_ANY, SU_ANY|T_INT, ctreo10,
|
|
770 SU_ADDR|T_ANY, SU_ANY|T_LONG, ctreo10,
|
|
771 SU_ADDR|T_LONG, SU_ANY|T_LONG, ctreo10,
|
|
772 SU_ADDR|T_INT, SU_ANY|T_CHAR, ctreo11,
|
|
773 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctreo11,
|
|
774 SU_ADDR|T_CHAR, SU_ANY|T_CHAR, ctreo12,
|
|
775 SU_ANY|T_CHAR|T_INDR, SU_ADDR|T_INT, ctreo13,
|
|
776 SU_ANY|T_CHAR|T_INDR, SU_ADDR|T_LONG, ctreo13,
|
|
777 SU_ANY|T_INT|T_INDR, SU_CONST|T_INT, ctreo14,
|
|
778 SU_ANY|T_LONG|T_INDR, SU_CONST|T_INT, ctreo14,
|
|
779 SU_ANY|T_INT|T_INDR, SU_ADDR|T_INT, ctreo15,
|
|
780 SU_ANY|T_INT|T_INDR, SU_ADDR|T_LONG, ctreo15,
|
|
781 SU_ANY|T_LONG|T_INDR, SU_ADDR|T_LONG, ctreo15,
|
|
782 SU_ANY|T_INT|T_INDR, SU_EASY|T_ANY, ctreo16,
|
|
783 SU_ANY|T_INT|T_INDR, SU_EASY|T_LONG, ctreo16,
|
|
784 SU_ANY|T_LONG|T_INDR, SU_EASY|T_ANY, ctreo16,
|
|
785 SU_ANY|T_LONG|T_INDR, SU_EASY|T_LONG, ctreo16,
|
|
786 SU_ANY|T_CHAR|T_INDR, SU_EASY|T_INT, ctreo17,
|
|
787 SU_ANY|T_CHAR|T_INDR, SU_EASY|T_LONG, ctreo17,
|
|
788 SU_ANY|T_CHAR|T_INDR, SU_EASY|T_CHAR, ctreo18,
|
|
789 SU_ANY|T_FLOAT|T_INDR, SU_ANY|T_FLOAT, ctreo19,
|
|
790 SU_ANY|T_INT|T_INDR, SU_ANY|T_INT, ctreo20,
|
|
791 SU_ANY|T_CHAR|T_INDR, SU_ANY|T_INT, ctreo21,
|
|
792 SU_ANY|T_CHAR|T_INDR, SU_ANY|T_LONG, ctreo21,
|
|
793 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ctreo22,
|
|
794 SU_ANY|T_CHAR|T_INDR, SU_ANY|T_CHAR, ctreo23,
|
|
795 0,
|
|
796 };
|
|
797 char cteop01[] {
|
|
798 RIGHT,S_INDR,
|
|
799 MOV,TRIGHT,' ',ROFFSET,'(',CAR,')',',',CR,'\n',
|
|
800 OP,TLEFT,' ',CR,',',LADDR,'\n',
|
|
801 0 };
|
|
802 char cteop02[] {
|
|
803 RIGHT,S_INDR,
|
|
804 LEFT,S_NEXT|S_INDR,
|
|
805 MOV,TRIGHT,' ',ROFFSET,'(',CAR,')',',',CR,'\n',
|
|
806 OP,TLEFT,' ',CR,',',LOFFSET,'(',NAR,')','\n',
|
|
807 0 };
|
|
808 char cteop03[] {
|
|
809 RIGHT,S_INDR,
|
|
810 MOV,TLEFT,' ',LADDR,',',NR,'\n',
|
|
811 OP,TRIGHT,' ',ROFFSET,'(',CAR,')',',',NR,'\n',
|
|
812 MOV,TLEFT,' ',NR,',',LADDR,'\n',
|
|
813 0 };
|
|
814 char cteop04[] {
|
|
815 RIGHT,0,
|
|
816 MOV,TLEFT,' ',LADDR,',',NR,'\n',
|
|
817 OP,TLEFT,' ',CR,',',NR,'\n',
|
|
818 MOV,TLEFT,' ',NR,',',LADDR,'\n',
|
|
819 0 };
|
|
820 char cteop05[] {
|
|
821 RIGHT,S_STACK,
|
|
822 LEFT,S_INDR,
|
|
823 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
824 OP,TRIGHT,' ',POP,',',CR,'\n',
|
|
825 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
826 0 };
|
|
1File: CSKELS.C Page 15
|
|
827 char cteop06[] {
|
|
828 CLRL,' ',CR,'\n',
|
|
829 MOV,' ',RADDR,',',CR,'\n',
|
|
830 OP,TLEFT,' ',RADDR,',',LADDR,'\n',
|
|
831 0 };
|
|
832 char cteop07[] {
|
|
833 RIGHT,0,
|
|
834 EXRL,
|
|
835 OP,TLEFT,' ',CR,',',LADDR,'\n',
|
|
836 0 };
|
|
837 char cteop08[] {
|
|
838 RIGHT,S_STACK,
|
|
839 LEFT,S_INDR,
|
|
840 MOV,TRIGHT,' ',POP,',',CR,'\n',
|
|
841 OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
842 0 };
|
|
843 char cteop09[] {
|
|
844 LEFT,S_INDR,
|
|
845 MOV,TRIGHT,' ',RADDR,',',CR,'\n',
|
|
846 EXRL,
|
|
847 OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
848 0 };
|
|
849 char cteop10[] {
|
|
850 RIGHT,S_STACK,
|
|
851 LEFT,S_INDR,
|
|
852 MOV,TRIGHT,' ',POP,',',CR,'\n',
|
|
853 EXRL,
|
|
854 OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
855 0 };
|
|
856 struct skeleton fe_eqop[] {
|
|
857 SU_ANY|T_ANY|T_INDR, SU_ZERO|T_ANY, ctnull,
|
|
858 SU_ADDR|T_ANY, SU_ZERO|T_ANY, ctnull,
|
|
859 SU_ANY|T_LONG, SU_ZERO|T_ANY, ctnull,
|
|
860 SU_ANY|T_LONG|T_INDR, SU_ZERO|T_ANY, ctnull,
|
|
861 SU_ADDR|T_ANY, SU_CONST|T_INT, ctasg09,
|
|
862 SU_ADDR|T_LONG, SU_CONST|T_INT, ctasg09,
|
|
863 SU_ANY|T_ANY|T_INDR, SU_CONST|T_INT, ctasg19,
|
|
864 SU_ANY|T_LONG|T_INDR, SU_CONST|T_INT, ctasg19,
|
|
865 SU_ADDR|T_LONG, SU_AREG|T_LONG, ctasg02,
|
|
866 SU_ADDR|T_INT, SU_REG|T_INT, ctasg09,
|
|
867 SU_REG|T_INT, SU_ADDR|T_INT, ctasg09,
|
|
868 SU_ADDR|T_LONG, SU_REG|T_LONG, ctasg09,
|
|
869 SU_REG|T_LONG, SU_ADDR|T_LONG, ctasg09,
|
|
870 SU_AREG|T_LONG, SU_REG|T_INT, ctasg22,
|
|
871 SU_ADDR|T_INT, SU_ADDR|T_INT, ctasg02,
|
|
872 SU_ADDR|T_CHAR, SU_ADDR|T_CHAR, ctasg02,
|
|
873 SU_ADDR|T_LONG, SU_ADDR|T_LONG, ctasg02,
|
|
874 SU_ADDR|T_INT, SU_ANY|T_INT|T_INDR, cteop01,
|
|
875 SU_ADDR|T_INT, SU_ANY|T_ANY, ctasg02,
|
|
876 SU_EASY|T_INT|T_INDR, SU_ANY|T_INT|T_INDR, cteop02,
|
|
877 SU_EASY|T_LONG|T_INDR, SU_ANY|T_LONG|T_INDR, cteop02,
|
|
878 SU_ADDR|T_ANY, SU_ANY|T_INT|T_INDR, cteop03,
|
|
879 SU_ADDR|T_ANY, SU_ANY|T_ANY, cteop04,
|
|
880 SU_EASY|T_INT|T_INDR, SU_EASY|T_ANY, ctasg05,
|
|
881 SU_ANY|T_INT|T_INDR, SU_ANY|T_ANY, ctasg06,
|
|
882 SU_ANY|T_ANY|T_INDR, SU_ANY|T_ANY, cteop05,
|
|
883 SU_REG|T_LONG, SU_ADDR|T_UNSN, cteop06,
|
|
884 SU_REG|T_LONG, SU_ADDR|T_ANY, cteop07,
|
|
885 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctasg02,
|
|
1File: CSKELS.C Page 16
|
|
886 SU_ADDR|T_LONG, SU_ANY|T_LONG|T_INDR, cteop01,
|
|
887 SU_ADDR|T_LONG, SU_ANY|T_LONG, ctasg02,
|
|
888 SU_EASY|T_LONG|T_INDR, SU_EASY|T_LONG, ctasg05,
|
|
889 SU_ANY|T_LONG|T_INDR, SU_ANY|T_LONG, cteop08,
|
|
890 SU_ANY|T_LONG|T_INDR, SU_ADDR|T_ANY, cteop09,
|
|
891 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, cteop10,
|
|
892 0,
|
|
893 };
|
|
894 struct skeleton fr_eqmult[] {
|
|
895 SU_ADDR|T_ANY, SU_ADDR|T_INT, ctreo03,
|
|
896 SU_ADDR|T_ANY, SU_ANY|T_INT|T_INDR, ctreo05,
|
|
897 SU_ADDR|T_FLOAT, SU_ANY|T_FLOAT, ctreo06,
|
|
898 SU_ADDR|T_ANY, SU_EASY|T_ANY, ctreo08,
|
|
899 SU_ADDR|T_ANY, SU_ANY|T_INT, ctreo10,
|
|
900 SU_ADDR|T_INT, SU_ANY|T_CHAR, ctreo11,
|
|
901 SU_ADDR|T_CHAR, SU_ANY|T_CHAR, ctreo12,
|
|
902 SU_ANY|T_CHAR|T_INDR, SU_ADDR|T_INT, ctreo13,
|
|
903 SU_ANY|T_INT|T_INDR, SU_ADDR|T_INT, ctreo15,
|
|
904 SU_ANY|T_INT|T_INDR, SU_EASY|T_ANY, ctreo16,
|
|
905 SU_ANY|T_CHAR|T_INDR, SU_EASY|T_INT, ctreo17,
|
|
906 SU_ANY|T_CHAR|T_INDR, SU_EASY|T_CHAR, ctreo18,
|
|
907 SU_ANY|T_FLOAT|T_INDR, SU_ANY|T_FLOAT, ctreo19,
|
|
908 SU_ANY|T_INT|T_INDR, SU_ANY|T_INT, ctreo20,
|
|
909 SU_ANY|T_CHAR|T_INDR, SU_ANY|T_INT, ctreo21,
|
|
910 SU_ANY|T_CHAR|T_INDR, SU_ANY|T_CHAR, ctreo23,
|
|
911 0,
|
|
912 };
|
|
913 char ct247[] {
|
|
914 AOP,' ',RADDR,',',LADDR,'\n',
|
|
915 0 };
|
|
916 struct skeleton fe_eqmult[] {
|
|
917 SU_REG|T_INT, SU_ADDR|T_INT, ctasg09,
|
|
918 SU_REG|T_UNSN, SU_ADDR|T_INT, ct247,
|
|
919 SU_REG|T_UNSN, SU_ADDR|T_UNSN, ct247,
|
|
920 0,
|
|
921 };
|
|
922 char ctedv01[] {
|
|
923 CLRL,' ',CR,'\n',
|
|
924 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
925 OP,' ',RADDR,',',CR,'\n',
|
|
926 MODSWAP,MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
927 0 };
|
|
928 char ct249[] {
|
|
929 OP,' ',RADDR,',',LADDR,'\n',
|
|
930 EXTL,' ',LADDR,'\n',
|
|
931 0 };
|
|
932 char ct250[] {
|
|
933 EXTL,' ',LADDR,'\n',
|
|
934 OP,' ',RADDR,',',LADDR,'\n',
|
|
935 0 };
|
|
936 struct skeleton fe_eqdiv[] {
|
|
937 SU_ADDR|T_UNSN, SU_ADDR|T_INT, ctedv01,
|
|
938 SU_REG|T_LONG, SU_ADDR|T_INT, ct249,
|
|
939 SU_REG|T_INT, SU_ADDR|T_INT, ct250,
|
|
940 0,
|
|
941 };
|
|
942 char ct252[] {
|
|
943 OP,' ',RADDR,',',LADDR,'\n',
|
|
944 's','w','a','p',' ',LADDR,'\n',
|
|
1File: CSKELS.C Page 17
|
|
945 EXTL,' ',LADDR,'\n',
|
|
946 0 };
|
|
947 char ct253[] {
|
|
948 EXTL,' ',LADDR,'\n',
|
|
949 OP,' ',RADDR,',',LADDR,'\n',
|
|
950 's','w','a','p',' ',LADDR,'\n',
|
|
951 0 };
|
|
952 struct skeleton fe_eqmod[] {
|
|
953 SU_ADDR|T_UNSN, SU_ADDR|T_INT, ctedv01,
|
|
954 SU_REG|T_LONG, SU_ADDR|T_INT, ct252,
|
|
955 SU_REG|T_INT, SU_ADDR|T_INT, ct253,
|
|
956 0,
|
|
957 };
|
|
958 char ctedv02[] {
|
|
959 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
960 EXL,
|
|
961 OP,' ',RADDR,',',CR,'\n',
|
|
962 MODSWAP,MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
963 0 };
|
|
964 char ctedv03[] {
|
|
965 CLRL,' ',CR,'\n',
|
|
966 MOV,' ',LADDR,',',CR,'\n',
|
|
967 RIGHT,S_NEXT,
|
|
968 OP,' ',NR,',',CR,'\n',
|
|
969 MODSWAP,MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
970 0 };
|
|
971 char ctedv04[] {
|
|
972 LEFT,0,
|
|
973 OP,' ',RADDR,',',CR,'\n',
|
|
974 MODSWAP,EXRL,
|
|
975 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
976 0 };
|
|
977 char ctedv05[] {
|
|
978 RIGHT,S_STACK,
|
|
979 LEFT,0,
|
|
980 EXL,
|
|
981 OP,' ',POP,',',CR,'\n',
|
|
982 MODSWAP,EXRL,
|
|
983 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
984 0 };
|
|
985 char ctedv06[] {
|
|
986 RIGHT,S_STACK,
|
|
987 LEFT,S_INDR,
|
|
988 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
989 EXL,
|
|
990 OP,' ',POP,',',CR,'\n',
|
|
991 MODSWAP,EXRL,
|
|
992 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
993 0 };
|
|
994 struct skeleton fr_eqdiv[] {
|
|
995 SU_ADDR|T_UNSN, SU_ADDR|T_INT, ctedv01,
|
|
996 SU_ADDR|T_ANY, SU_ADDR|T_INT, ctedv02,
|
|
997 SU_ADDR|T_UNSN, SU_EASY|T_ANY, ctedv03,
|
|
998 SU_ADDR|T_LONG, SU_ADDR|T_INT, ctedv04,
|
|
999 SU_ADDR|T_ANY, SU_ANY|T_ANY, ctedv05,
|
|
1000 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctedv05,
|
|
1001 SU_ADDR|T_FLOAT, SU_ANY|T_FLOAT, ctreo06,
|
|
1002 SU_ANY|T_ANY|T_INDR, SU_ANY|T_ANY, ctedv06,
|
|
1003 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ctedv06,
|
|
1File: CSKELS.C Page 18
|
|
1004 SU_ANY|T_FLOAT|T_INDR, SU_ANY|T_FLOAT, ctreo19,
|
|
1005 0,
|
|
1006 };
|
|
1007 char ctexo01[] {
|
|
1008 RIGHT,0,
|
|
1009 EXRL,
|
|
1010 OP,TLEFT,' ',CR,',',LADDR,'\n',
|
|
1011 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
1012 0 };
|
|
1013 char ctexo02[] {
|
|
1014 LEFT,S_STACK|S_INDR,
|
|
1015 RIGHT,0,
|
|
1016 EXRL,
|
|
1017 MOVL,' ',POP,',',CAR,'\n',
|
|
1018 OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
1019 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
1020 0 };
|
|
1021 struct skeleton fr_eqxor[] {
|
|
1022 SU_ADDR|T_ANY, SU_ANY|T_ANY, ctexo01,
|
|
1023 SU_ADDR|T_ANY, SU_ANY|T_LONG, ctexo01,
|
|
1024 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctexo01,
|
|
1025 SU_ADDR|T_LONG, SU_ANY|T_LONG, ctexo01,
|
|
1026 SU_ANY|T_ANY|T_INDR, SU_ANY|T_ANY, ctexo02,
|
|
1027 SU_ANY|T_ANY|T_INDR, SU_ANY|T_LONG, ctexo02,
|
|
1028 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ctexo02,
|
|
1029 SU_ANY|T_LONG|T_INDR, SU_ANY|T_LONG, ctexo02,
|
|
1030 0,
|
|
1031 };
|
|
1032 char ctexo05[] {
|
|
1033 MOV,TRIGHT,' ',RADDR,',',CR,'\n',
|
|
1034 OP,TLEFT,' ',CR,',',LADDR,'\n',
|
|
1035 0 };
|
|
1036 struct skeleton fe_eqxor[] {
|
|
1037 SU_ADDR|T_ANY, SU_CONST|T_INT, ctasg09,
|
|
1038 SU_ADDR|T_LONG, SU_CONST|T_INT, ctasg09,
|
|
1039 SU_ADDR|T_ANY, SU_ANY|T_ANY, ctasg02,
|
|
1040 SU_ADDR|T_ANY, SU_ANY|T_LONG, ctasg02,
|
|
1041 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctasg02,
|
|
1042 SU_ADDR|T_LONG, SU_ANY|T_LONG, ctasg02,
|
|
1043 SU_ANY|T_ANY|T_INDR, SU_EASY|T_ANY, ctasg05,
|
|
1044 SU_ANY|T_ANY|T_INDR, SU_EASY|T_LONG, ctasg05,
|
|
1045 SU_ANY|T_LONG|T_INDR, SU_EASY|T_ANY, ctasg05,
|
|
1046 SU_ANY|T_LONG|T_INDR, SU_EASY|T_LONG, ctasg05,
|
|
1047 SU_ANY|T_ANY|T_INDR, SU_ANY|T_ANY, ctasg06,
|
|
1048 SU_ADDR|T_LONG, SU_CONST|T_INT, ctasg09,
|
|
1049 SU_ADDR|T_LONG, SU_ADDR|T_LONG, ctexo05,
|
|
1050 SU_ADDR|T_LONG, SU_ANY|T_LONG|T_INDR, cteop01,
|
|
1051 SU_ADDR|T_LONG, SU_ANY|T_LONG, ctasg02,
|
|
1052 SU_ANY|T_LONG|T_INDR, SU_CONST|T_INT, ctasg19,
|
|
1053 SU_EASY|T_LONG|T_INDR, SU_ANY|T_LONG, ctasg05,
|
|
1054 SU_ANY|T_LONG|T_INDR, SU_ANY|T_LONG, cteop08,
|
|
1055 0,
|
|
1056 };
|
|
1057 char ctesh01[] {
|
|
1058 OP,TLEFT,' ',LADDR,'\n',
|
|
1059 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
1060 0 };
|
|
1061 char ctesh02[] {
|
|
1062 LEFT,S_INDR,
|
|
1File: CSKELS.C Page 19
|
|
1063 OP,TLEFT,' ',LOFFSET,'(',CAR,')','\n',
|
|
1064 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
1065 0 };
|
|
1066 char ctesh03[] {
|
|
1067 LEFT,0,
|
|
1068 OP,TLEFT,' ',RADDR,',',CR,'\n',
|
|
1069 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
1070 0 };
|
|
1071 char ctesh05[] {
|
|
1072 RIGHT,S_NEXT,
|
|
1073 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
1074 OP,TLEFT,' ',NR,',',CR,'\n',
|
|
1075 MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
1076 0 };
|
|
1077 char ctesh06[] {
|
|
1078 LEFT,S_INDR,
|
|
1079 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
1080 OP,TLEFT,' ',RADDR,',',CR,'\n',
|
|
1081 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
1082 0 };
|
|
1083 char ctesh07[] {
|
|
1084 LEFT,S_INDR,
|
|
1085 RIGHT,S_NEXT,
|
|
1086 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
1087 OP,TLEFT,' ',NR,',',CR,'\n',
|
|
1088 MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
1089 0 };
|
|
1090 struct skeleton fr_eqshft[] {
|
|
1091 SU_ADDR|T_INT, SU_ONE|T_ANY, ctesh01,
|
|
1092 SU_ANY|T_INT|T_INDR, SU_ONE|T_ANY, ctesh02,
|
|
1093 SU_ADDR|T_ANY, SU_SMALL|T_INT, ctesh03,
|
|
1094 SU_ADDR|T_LONG, SU_SMALL|T_INT, ctesh03,
|
|
1095 SU_ADDR|T_ANY, SU_ANY|T_ANY, ctesh05,
|
|
1096 SU_ADDR|T_ANY, SU_ANY|T_LONG, ctesh05,
|
|
1097 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctesh05,
|
|
1098 SU_ADDR|T_LONG, SU_ANY|T_LONG, ctesh05,
|
|
1099 SU_ANY|T_ANY|T_INDR, SU_SMALL|T_INT, ctesh06,
|
|
1100 SU_ANY|T_LONG|T_INDR, SU_SMALL|T_INT, ctesh06,
|
|
1101 SU_ANY|T_ANY|T_INDR, SU_ANY|T_ANY, ctesh07,
|
|
1102 SU_ANY|T_ANY|T_INDR, SU_ANY|T_LONG, ctesh07,
|
|
1103 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ctesh07,
|
|
1104 SU_ANY|T_LONG|T_INDR, SU_ANY|T_LONG, ctesh07,
|
|
1105 0,
|
|
1106 };
|
|
1107 char ctesh08[] {
|
|
1108 OP,TLEFT,' ',LADDR,'\n',
|
|
1109 0 };
|
|
1110 char ctesh09[] {
|
|
1111 LEFT,S_INDR,
|
|
1112 OP,TLEFT,' ',LOFFSET,'(',CAR,')','\n',
|
|
1113 0 };
|
|
1114 char ctesh10[] {
|
|
1115 CLRL,' ',CR,'\n',
|
|
1116 MOV,TRIGHT,' ',RADDR,',',CR,'\n',
|
|
1117 OP,TLEFT,' ',CR,',',LADDR,'\n',
|
|
1118 0 };
|
|
1119 char ctesh11[] {
|
|
1120 RIGHT,S_INDR,
|
|
1121 CLRL,' ',CR,'\n',
|
|
1File: CSKELS.C Page 20
|
|
1122 MOV,TRIGHT,' ',ROFFSET,'(',CAR,')',',',CR,'\n',
|
|
1123 OP,TLEFT,' ',CR,',',LADDR,'\n',
|
|
1124 0 };
|
|
1125 char ctesh12[] {
|
|
1126 CLRL,' ',CR,'\n',
|
|
1127 RIGHT,0,
|
|
1128 OP,TLEFT,' ',CR,',',LADDR,'\n',
|
|
1129 0 };
|
|
1130 struct skeleton fe_eqshft[] {
|
|
1131 SU_ADDR|T_INT, SU_ONE|T_ANY, ctesh08,
|
|
1132 SU_ANY|T_INT|T_INDR, SU_ONE|T_ANY, ctesh09,
|
|
1133 SU_REG|T_ANY, SU_SMALL|T_INT, ctasg09,
|
|
1134 SU_REG|T_LONG, SU_SMALL|T_INT, ctasg09,
|
|
1135 SU_REG|T_ANY, SU_ADDR|T_INT, ctesh10,
|
|
1136 SU_REG|T_LONG, SU_ADDR|T_INT, ctesh10,
|
|
1137 SU_REG|T_ANY, SU_ANY|T_INT|T_INDR, ctesh11,
|
|
1138 SU_REG|T_LONG, SU_ANY|T_INT|T_INDR, ctesh11,
|
|
1139 SU_REG|T_ANY, SU_ANY|T_ANY, ctesh12,
|
|
1140 SU_REG|T_LONG, SU_ANY|T_ANY, ctesh12,
|
|
1141 0,
|
|
1142 };
|
|
1143 char ctitl01[] {
|
|
1144 CLRL,' ',CR,'\n',
|
|
1145 0 };
|
|
1146 char ctitl02[] {
|
|
1147 CLRL,' ',CR,'\n',
|
|
1148 MOV,' ',LADDR,',',CR,'\n',
|
|
1149 0 };
|
|
1150 char ctitl03[] {
|
|
1151 MOVL,' ',LADDR,',',CR,'\n',
|
|
1152 0 };
|
|
1153 char ctitl04[] {
|
|
1154 LEFT,0,
|
|
1155 EXL,
|
|
1156 0 };
|
|
1157 struct skeleton fr_itl[] {
|
|
1158 SU_ZERO|T_ANY, SU_ANY|T_ANY, ctitl01,
|
|
1159 SU_ADDR|T_UNSN, SU_ANY|T_ANY, ctitl02,
|
|
1160 SU_CONST|T_INT, SU_ANY|T_ANY, ctitl03,
|
|
1161 SU_ANY|T_ANY, SU_ANY|T_ANY, ctitl04,
|
|
1162 SU_ANY|T_LONG, SU_ANY|T_ANY, ctbop01,
|
|
1163 0,
|
|
1164 };
|
|
1165 char ctitl05[] {
|
|
1166 CLRL,' ',CR,'\n',
|
|
1167 MOV,' ',LADDR,',',CR,'\n',
|
|
1168 MOVL,' ',CR,',',PSH,'\n',
|
|
1169 0 };
|
|
1170 char ctitl06[] {
|
|
1171 LEFT,0,
|
|
1172 EXL,
|
|
1173 MOVL,' ',CR,',',PSH,'\n',
|
|
1174 0 };
|
|
1175 char ctitl07[] {
|
|
1176 MOV,' ',LADDR,',',CAR,'\n',
|
|
1177 MOVL,' ',CAR,',',PSH,'\n',
|
|
1178 0 };
|
|
1179 char ct296[] {
|
|
1180 LEFT,S_STACK,
|
|
1File: CSKELS.C Page 21
|
|
1181 0 };
|
|
1182 struct skeleton fs_itl[] {
|
|
1183 SU_ADDR|T_UNSN, SU_ANY|T_ANY, ctitl05,
|
|
1184 SU_ANY|T_UNSN, SU_ANY|T_ANY, ctitl06,
|
|
1185 SU_ADDR|T_INT, SU_ANY|T_ANY, ctitl07,
|
|
1186 SU_ANY|T_ANY, SU_ANY|T_ANY, ctitl06,
|
|
1187 SU_ANY|T_LONG, SU_ANY|T_ANY, ct296,
|
|
1188 0,
|
|
1189 };
|
|
1190 char ctlti01[] {
|
|
1191 LEFT,S_INDR,
|
|
1192 MOV,' ',LOFFSET,'+','2','(',CAR,')',',',CR,'\n',
|
|
1193 0 };
|
|
1194 struct skeleton fr_lti[] {
|
|
1195 SU_ADDR|T_LONG, SU_ANY|T_ANY, ctitl03,
|
|
1196 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ctlti01,
|
|
1197 SU_ANY|T_LONG, SU_ANY|T_ANY, ctbop01,
|
|
1198 0,
|
|
1199 };
|
|
1200 struct skeleton fr_ftol[] {
|
|
1201 SU_ANY|T_FLOAT, SU_ANY|T_ANY, ctneg02,
|
|
1202 0,
|
|
1203 };
|
|
1204 struct skeleton fr_ftoi[] {
|
|
1205 SU_ANY|T_FLOAT, SU_ANY|T_ANY, ctneg02,
|
|
1206 0,
|
|
1207 };
|
|
1208 struct skeleton fr_ltof[] {
|
|
1209 SU_ANY|T_LONG, SU_ANY|T_ANY, ctneg02,
|
|
1210 0,
|
|
1211 };
|
|
1212 char ct303[] {
|
|
1213 LEFT,0,
|
|
1214 EXL,
|
|
1215 MOVL,' ',CR,',',PSH,'\n',
|
|
1216 JSR,' ',OPCALL,'\n',
|
|
1217 POP4,0 };
|
|
1218 struct skeleton fr_itof[] {
|
|
1219 SU_ANY|T_ANY, SU_ANY|T_ANY, ct303,
|
|
1220 0,
|
|
1221 };
|
|
1222 char ct304[] {
|
|
1223 LEFT,0,
|
|
1224 EXTW,' ',CR,'\n',
|
|
1225 0 };
|
|
1226 struct skeleton fr_tochar[] {
|
|
1227 SU_ANY|T_ANY, SU_ANY|T_ANY, ct304,
|
|
1228 SU_ANY|T_LONG, SU_ANY|T_ANY, ct304,
|
|
1229 0,
|
|
1230 };
|
|
1231 char ctrel01[] {
|
|
1232 LEFT,S_FORCC,
|
|
1233 0 };
|
|
1234 char ctrel02[] {
|
|
1235 RIGHT,S_INDR,
|
|
1236 OP,TRIGHT,' ',ROFFSET,'(',CAR,')',',',LADDR,'\n',
|
|
1237 0 };
|
|
1238 char ctrel03[] {
|
|
1239 RIGHT,0,
|
|
1File: CSKELS.C Page 22
|
|
1240 EXRL,
|
|
1241 OP,TLEFT,' ',CR,',',LADDR,'\n',
|
|
1242 0 };
|
|
1243 char ctrel05[] {
|
|
1244 LEFT,0,
|
|
1245 MOV,' ',RADDR,',',CAR,'\n',
|
|
1246 OP,TLEFT,' ',CAR,',',CR,'\n',
|
|
1247 0 };
|
|
1248 char ct325[] {
|
|
1249 RIGHT,S_STACK,
|
|
1250 LEFT,S_STACK,
|
|
1251 JSR,' ',OPCALL,'\n',
|
|
1252 'a','d','d','a',' ','#','8',',','s','p','\n',
|
|
1253 0 };
|
|
1254 struct skeleton fc_rel[] {
|
|
1255 SU_CONST|T_INT, SU_ZERO|T_ANY, ctbop01,
|
|
1256 SU_CONST|T_INT, SU_CONST|T_INT, ctbop05,
|
|
1257 SU_AREG|T_LONG, SU_ZERO|T_ANY, ctlod03,
|
|
1258 SU_ADDR|T_ANY, SU_ZERO|T_ANY, ctasg07,
|
|
1259 SU_ADDR|T_LONG, SU_ZERO|T_ANY, ctasg07,
|
|
1260 SU_ANY|T_ANY|T_INDR, SU_ZERO|T_ANY, ctasg08,
|
|
1261 SU_ANY|T_LONG|T_INDR, SU_ZERO|T_ANY, ctasg08,
|
|
1262 SU_ANY|T_ANY, SU_ZERO|T_ANY, ctrel01,
|
|
1263 SU_ANY|T_LONG, SU_ZERO|T_ANY, ctrel01,
|
|
1264 SU_ADDR|T_ANY, SU_CONST|T_INT, ctasg09,
|
|
1265 SU_ADDR|T_LONG, SU_CONST|T_INT, ctasg09,
|
|
1266 SU_ANY|T_LONG|T_INDR, SU_CONST|T_INT, ctasg19,
|
|
1267 SU_ANY|T_ANY|T_INDR, SU_CONST|T_INT, ctasg19,
|
|
1268 SU_AREG|T_LONG, SU_ADDR|T_INT, ctasg22,
|
|
1269 SU_REG|T_CHAR, SU_ADDR|T_CHAR, ctasg09,
|
|
1270 SU_REG|T_INT, SU_ADDR|T_INT, ctasg09,
|
|
1271 SU_REG|T_LONG, SU_ADDR|T_LONG, ctasg09,
|
|
1272 SU_REG|T_INT, SU_ANY|T_CHAR, ctasg10,
|
|
1273 SU_REG|T_INT, SU_ANY|T_INT|T_INDR, ctrel02,
|
|
1274 SU_REG|T_LONG, SU_ANY|T_LONG|T_INDR, ctrel02,
|
|
1275 SU_AREG|T_LONG, SU_ANY|T_INT|T_INDR, ctrel02,
|
|
1276 SU_REG|T_INT, SU_EASY|T_ANY, ctrel03,
|
|
1277 SU_REG|T_LONG, SU_EASY|T_LONG, ctrel03,
|
|
1278 SU_REG|T_LONG, SU_EASY|T_ANY, ctrel03,
|
|
1279 SU_ANY|T_INT, SU_ADDR|T_INT, ctbop05,
|
|
1280 SU_ANY|T_CHAR, SU_ADDR|T_CHAR, ctbop05,
|
|
1281 SU_ANY|T_LONG, SU_ADDR|T_LONG, ctbop05,
|
|
1282 SU_ANY|T_LONG, SU_CONST|T_INT, ctbop05,
|
|
1283 SU_ANY|T_CHAR, SU_ADDR|T_INT, ctbop02,
|
|
1284 SU_ANY|T_LONG, SU_ADDR|T_INT, ctrel05,
|
|
1285 SU_ANY|T_ANY, SU_EASY|T_ANY, ctbop06,
|
|
1286 SU_ANY|T_ANY, SU_EASY|T_LONG, ctbop06,
|
|
1287 SU_ANY|T_LONG, SU_EASY|T_ANY, ctbop06,
|
|
1288 SU_ANY|T_LONG, SU_EASY|T_LONG, ctbop06,
|
|
1289 SU_ANY|T_LONG, SU_ANY|T_ANY, ctbop07,
|
|
1290 SU_ANY|T_ANY, SU_ANY|T_LONG, ctbop08,
|
|
1291 SU_ANY|T_LONG, SU_ANY|T_LONG, ctbop08,
|
|
1292 SU_ANY|T_ANY, SU_ANY|T_ANY, ctbop09,
|
|
1293 SU_ANY|T_FLOAT, SU_ANY|T_FLOAT, ct325,
|
|
1294 0,
|
|
1295 };
|
|
1296 char ctbtt01[] {
|
|
1297 OP,' ',RADDR,',',LADDR,'\n',
|
|
1298 0 };
|
|
1File: CSKELS.C Page 23
|
|
1299 char ctbtt02[] {
|
|
1300 LEFT,S_INDR,
|
|
1301 OP,' ',RADDR,',',LOFFSET,'(',CAR,')','\n',
|
|
1302 0 };
|
|
1303 struct skeleton fc_btst[] {
|
|
1304 SU_ADDR|T_ANY, SU_CONST|T_INT, ctbtt01,
|
|
1305 SU_ADDR|T_LONG, SU_CONST|T_INT, ctbtt01,
|
|
1306 SU_ANY|T_ANY|T_INDR, SU_CONST|T_INT, ctbtt02,
|
|
1307 SU_ANY|T_LONG|T_INDR, SU_CONST|T_INT, ctbtt02,
|
|
1308 0,
|
|
1309 };
|
|
1310 char ctfix01[] {
|
|
1311 TREE,0,
|
|
1312 0 };
|
|
1313 struct skeleton fc_fix[] {
|
|
1314 SU_ANY|T_ANY, SU_ANY|T_ANY, ctfix01,
|
|
1315 SU_ANY|T_LONG, SU_ANY|T_LONG, ctfix01,
|
|
1316 SU_ANY|T_LONG, SU_ANY|T_ANY, ctfix01,
|
|
1317 SU_ANY|T_ANY, SU_ANY|T_LONG, ctfix01,
|
|
1318 0,
|
|
1319 };
|
|
1320 char ct329[] {
|
|
1321 OP,TLEFT,' ',LADDR,'\n',
|
|
1322 MOV,TLEFT,' ',LADDR,',',CR,'\n',
|
|
1323 0 };
|
|
1324 char ct330[] {
|
|
1325 LEFT,S_STACK,
|
|
1326 JSR,' ',OPCALL,'\n',
|
|
1327 POP4,MOV,TLEFT,' ',CR,',',LADDR,'\n',
|
|
1328 0 };
|
|
1329 char ct331[] {
|
|
1330 LEFT,S_INDR,
|
|
1331 OP,TLEFT,' ',LOFFSET,'(',CAR,')','\n',
|
|
1332 MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
|
|
1333 0 };
|
|
1334 char ct332[] {
|
|
1335 LEFT,S_INDR,
|
|
1336 MOV,TLEFT,' ',CR,',',PSH,'\n',
|
|
1337 JSR,' ',OPCALL,'\n',
|
|
1338 POP4,MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
|
|
1339 0 };
|
|
1340 struct skeleton fr_eqnot[] {
|
|
1341 SU_ADDR|T_ANY, SU_ANY|T_ANY, ct329,
|
|
1342 SU_ADDR|T_LONG, SU_ANY|T_ANY, ct329,
|
|
1343 SU_ADDR|T_FLOAT, SU_ANY|T_ANY, ct330,
|
|
1344 SU_ANY|T_ANY|T_INDR, SU_ANY|T_ANY, ct331,
|
|
1345 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ct331,
|
|
1346 SU_ANY|T_FLOAT|T_INDR, SU_ANY|T_ANY, ct332,
|
|
1347 0,
|
|
1348 };
|
|
1349 char ct333[] {
|
|
1350 OP,TLEFT,' ',LADDR,'\n',
|
|
1351 0 };
|
|
1352 char ct334[] {
|
|
1353 LEFT,S_INDR,
|
|
1354 OP,TLEFT,' ',LOFFSET,'(',CAR,')','\n',
|
|
1355 0 };
|
|
1356 struct skeleton fe_eqnot[] {
|
|
1357 SU_ADDR|T_ANY, SU_ANY|T_ANY, ct333,
|
|
1File: CSKELS.C Page 24
|
|
1358 SU_ADDR|T_LONG, SU_ANY|T_ANY, ct333,
|
|
1359 SU_ANY|T_ANY|T_INDR, SU_ANY|T_ANY, ct334,
|
|
1360 SU_ANY|T_LONG|T_INDR, SU_ANY|T_ANY, ct334,
|
|
1361 0,
|
|
1362 };
|
|
1363 char ct335[] {
|
|
1364 RIGHT,0,
|
|
1365 EXTW,' ',CR,'\n',
|
|
1366 0 };
|
|
1367 char ct336[] {
|
|
1368 RIGHT,0,
|
|
1369 0 };
|
|
1370 struct skeleton fr_docast[] {
|
|
1371 SU_ANY|T_CHAR, SU_ANY|T_INT, ct335,
|
|
1372 SU_ANY|T_CHAR, SU_ANY|T_LONG, ct335,
|
|
1373 SU_ANY|T_ANY, SU_ANY|T_ANY, ct336,
|
|
1374 SU_ANY|T_ANY, SU_ANY|T_LONG, ct336,
|
|
1375 SU_ANY|T_LONG, SU_ANY|T_ANY, ct336,
|
|
1376 SU_ANY|T_LONG, SU_ANY|T_LONG, ct336,
|
|
1377 0,
|
|
1378 };
|
|
1379 char ct337[] {
|
|
1380 RIGHT,0,
|
|
1381 EXRL,
|
|
1382 MOV,TLEFT,' ',CR,',',PSH,'\n',
|
|
1383 0 };
|
|
1384 struct skeleton fs_docast[] {
|
|
1385 SU_ANY|T_LONG, SU_ANY|T_ANY, ct337,
|
|
1386 0,
|
|
1387 };
|