xref: /plan9/sys/src/libmach/68020/2.out.h (revision 473d4f4b3fed09ca133e03643ec71c9150b33bcc)
1 #define	NSYM	50
2 #define	NSNAME	8
3 
4 /* R0 is return */
5 #define	REGEXT	7
6 /* A7 is sp A6 is sb */
7 #define	AREGEXT	5
8 /* F0 is ret */
9 #define	FREGEXT	7
10 
11 enum	as
12 {
13 	AXXX = 0,
14 	AABCD,
15 	AADDB,
16 	AADDL,
17 	AADDW,
18 	AADDXB,
19 	AADDXL,
20 	AADDXW,
21 	AADJSP,
22 	AANDB,
23 	AANDL,
24 	AANDW,
25 	AASLB,
26 	AASLL,
27 	AASLW,
28 	AASRB,
29 	AASRL,
30 	AASRW,
31 	ABCASE,
32 	ABCC,
33 	ABCHG,
34 	ABCLR,
35 	ABCS,
36 	ABEQ,
37 	ABFCHG,
38 	ABFCLR,
39 	ABFEXTS,
40 	ABFEXTU,
41 	ABFFFO,
42 	ABFINS,
43 	ABFSET,
44 	ABFTST,
45 	ABGE,
46 	ABGT,
47 	ABHI,
48 	ABKPT,
49 	ABLE,
50 	ABLS,
51 	ABLT,
52 	ABMI,
53 	ABNE,
54 	ABPL,
55 	ABRA,
56 	ABSET,
57 	ABSR,
58 	ABTST,
59 	ABVC,
60 	ABVS,
61 	ACALLM,
62 	ACAS2B,
63 	ACAS2L,
64 	ACAS2W,
65 	ACASB,
66 	ACASEW,
67 	ACASL,
68 	ACASW,
69 	ACHK2B,
70 	ACHK2L,
71 	ACHK2W,
72 	ACHKL,
73 	ACHKW,
74 	ACLRB,
75 	ACLRL,
76 	ACLRW,
77 	ACMP2B,
78 	ACMP2L,
79 	ACMP2W,
80 	ACMPB,
81 	ACMPL,
82 	ACMPW,
83 	ADATA,
84 	ADBCC,
85 	ADBCS,
86 	ADBEQ,
87 	ADBF,
88 	ADBGE,
89 	ADBGT,
90 	ADBHI,
91 	ADBLE,
92 	ADBLS,
93 	ADBLT,
94 	ADBMI,
95 	ADBNE,
96 	ADBPL,
97 	ADBT,
98 	ADBVC,
99 	ADBVS,
100 	ADIVSL,
101 	ADIVSW,
102 	ADIVUL,
103 	ADIVUW,
104 	AEND,
105 	AEORB,
106 	AEORL,
107 	AEORW,
108 	AEXG,
109 	AEXTBL,
110 	AEXTBW,
111 	AEXTWL,
112 	AFABSB,
113 	AFABSD,
114 	AFABSF,
115 	AFABSL,
116 	AFABSW,
117 	AFACOSB,
118 	AFACOSD,
119 	AFACOSF,
120 	AFACOSL,
121 	AFACOSW,
122 	AFADDB,
123 	AFADDD,
124 	AFADDF,
125 	AFADDL,
126 	AFADDW,
127 	AFASINB,
128 	AFASIND,
129 	AFASINF,
130 	AFASINL,
131 	AFASINW,
132 	AFATANB,
133 	AFATAND,
134 	AFATANF,
135 	AFATANHB,
136 	AFATANHD,
137 	AFATANHF,
138 	AFATANHL,
139 	AFATANHW,
140 	AFATANL,
141 	AFATANW,
142 	AFBEQ,
143 	AFBF,
144 	AFBGE,
145 	AFBGT,
146 	AFBLE,
147 	AFBLT,
148 	AFBNE,
149 	AFBT,
150 	AFCMPB,
151 	AFCMPD,
152 	AFCMPF,
153 	AFCMPL,
154 	AFCMPW,
155 	AFCOSB,
156 	AFCOSD,
157 	AFCOSF,
158 	AFCOSHB,
159 	AFCOSHD,
160 	AFCOSHF,
161 	AFCOSHL,
162 	AFCOSHW,
163 	AFCOSL,
164 	AFCOSW,
165 	AFDBEQ,
166 	AFDBF,
167 	AFDBGE,
168 	AFDBGT,
169 	AFDBLE,
170 	AFDBLT,
171 	AFDBNE,
172 	AFDBT,
173 	AFDIVB,
174 	AFDIVD,
175 	AFDIVF,
176 	AFDIVL,
177 	AFDIVW,
178 	AFETOXB,
179 	AFETOXD,
180 	AFETOXF,
181 	AFETOXL,
182 	AFETOXM1B,
183 	AFETOXM1D,
184 	AFETOXM1F,
185 	AFETOXM1L,
186 	AFETOXM1W,
187 	AFETOXW,
188 	AFGETEXPB,
189 	AFGETEXPD,
190 	AFGETEXPF,
191 	AFGETEXPL,
192 	AFGETEXPW,
193 	AFGETMANB,
194 	AFGETMAND,
195 	AFGETMANF,
196 	AFGETMANL,
197 	AFGETMANW,
198 	AFINTB,
199 	AFINTD,
200 	AFINTF,
201 	AFINTL,
202 	AFINTRZB,
203 	AFINTRZD,
204 	AFINTRZF,
205 	AFINTRZL,
206 	AFINTRZW,
207 	AFINTW,
208 	AFLOG10B,
209 	AFLOG10D,
210 	AFLOG10F,
211 	AFLOG10L,
212 	AFLOG10W,
213 	AFLOG2B,
214 	AFLOG2D,
215 	AFLOG2F,
216 	AFLOG2L,
217 	AFLOG2W,
218 	AFLOGNB,
219 	AFLOGND,
220 	AFLOGNF,
221 	AFLOGNL,
222 	AFLOGNP1B,
223 	AFLOGNP1D,
224 	AFLOGNP1F,
225 	AFLOGNP1L,
226 	AFLOGNP1W,
227 	AFLOGNW,
228 	AFMODB,
229 	AFMODD,
230 	AFMODF,
231 	AFMODL,
232 	AFMODW,
233 	AFMOVEB,
234 	AFMOVED,
235 	AFMOVEF,
236 	AFMOVEL,
237 	AFMOVEM,
238 	AFMOVEMC,
239 	AFMOVEW,
240 	AFMULB,
241 	AFMULD,
242 	AFMULF,
243 	AFMULL,
244 	AFMULW,
245 	AFNEGB,
246 	AFNEGD,
247 	AFNEGF,
248 	AFNEGL,
249 	AFNEGW,
250 	AFREMB,
251 	AFREMD,
252 	AFREMF,
253 	AFREML,
254 	AFREMW,
255 	AFRESTORE,
256 	AFSAVE,
257 	AFSCALEB,
258 	AFSCALED,
259 	AFSCALEF,
260 	AFSCALEL,
261 	AFSCALEW,
262 	AFSEQ,
263 	AFSF,
264 	AFSGE,
265 	AFSGT,
266 	AFSINB,
267 	AFSIND,
268 	AFSINF,
269 	AFSINHB,
270 	AFSINHD,
271 	AFSINHF,
272 	AFSINHL,
273 	AFSINHW,
274 	AFSINL,
275 	AFSINW,
276 	AFSLE,
277 	AFSLT,
278 	AFSNE,
279 	AFSQRTB,
280 	AFSQRTD,
281 	AFSQRTF,
282 	AFSQRTL,
283 	AFSQRTW,
284 	AFST,
285 	AFSUBB,
286 	AFSUBD,
287 	AFSUBF,
288 	AFSUBL,
289 	AFSUBW,
290 	AFTANB,
291 	AFTAND,
292 	AFTANF,
293 	AFTANHB,
294 	AFTANHD,
295 	AFTANHF,
296 	AFTANHL,
297 	AFTANHW,
298 	AFTANL,
299 	AFTANW,
300 	AFTENTOXB,
301 	AFTENTOXD,
302 	AFTENTOXF,
303 	AFTENTOXL,
304 	AFTENTOXW,
305 	AFTSTB,
306 	AFTSTD,
307 	AFTSTF,
308 	AFTSTL,
309 	AFTSTW,
310 	AFTWOTOXB,
311 	AFTWOTOXD,
312 	AFTWOTOXF,
313 	AFTWOTOXL,
314 	AFTWOTOXW,
315 	AGLOBL,
316 	AGOK,
317 	AHISTORY,
318 	AILLEG,
319 	AINSTR,
320 	AJMP,
321 	AJSR,
322 	ALEA,
323 	ALINKL,
324 	ALINKW,
325 	ALOCATE,
326 	ALONG,
327 	ALSLB,
328 	ALSLL,
329 	ALSLW,
330 	ALSRB,
331 	ALSRL,
332 	ALSRW,
333 	AMOVB,
334 	AMOVEM,
335 	AMOVEPL,
336 	AMOVEPW,
337 	AMOVESB,
338 	AMOVESL,
339 	AMOVESW,
340 	AMOVL,
341 	AMOVW,
342 	AMULSL,
343 	AMULSW,
344 	AMULUL,
345 	AMULUW,
346 	ANAME,
347 	ANBCD,
348 	ANEGB,
349 	ANEGL,
350 	ANEGW,
351 	ANEGXB,
352 	ANEGXL,
353 	ANEGXW,
354 	ANOP,
355 	ANOTB,
356 	ANOTL,
357 	ANOTW,
358 	AORB,
359 	AORL,
360 	AORW,
361 	APACK,
362 	APEA,
363 	ARESET,
364 	AROTLB,
365 	AROTLL,
366 	AROTLW,
367 	AROTRB,
368 	AROTRL,
369 	AROTRW,
370 	AROXLB,
371 	AROXLL,
372 	AROXLW,
373 	AROXRB,
374 	AROXRL,
375 	AROXRW,
376 	ARTD,
377 	ARTE,
378 	ARTM,
379 	ARTR,
380 	ARTS,
381 	ASBCD,
382 	ASCC,
383 	ASCS,
384 	ASEQ,
385 	ASF,
386 	ASGE,
387 	ASGT,
388 	ASHI,
389 	ASLE,
390 	ASLS,
391 	ASLT,
392 	ASMI,
393 	ASNE,
394 	ASPL,
395 	AST,
396 	ASTOP,
397 	ASUBB,
398 	ASUBL,
399 	ASUBW,
400 	ASUBXB,
401 	ASUBXL,
402 	ASUBXW,
403 	ASVC,
404 	ASVS,
405 	ASWAP,
406 	ASYS,
407 	ATAS,
408 	ATEXT,
409 	ATRAP,
410 	ATRAPCC,
411 	ATRAPCS,
412 	ATRAPEQ,
413 	ATRAPF,
414 	ATRAPGE,
415 	ATRAPGT,
416 	ATRAPHI,
417 	ATRAPLE,
418 	ATRAPLS,
419 	ATRAPLT,
420 	ATRAPMI,
421 	ATRAPNE,
422 	ATRAPPL,
423 	ATRAPT,
424 	ATRAPV,
425 	ATRAPVC,
426 	ATRAPVS,
427 	ATSTB,
428 	ATSTL,
429 	ATSTW,
430 	AUNLK,
431 	AUNPK,
432 	AWORD,
433 	ASIGNAME,
434 
435 	ALAST
436 };
437 
438 enum
439 {
440 	NREG		= 8,
441 
442 	D_R0		= 0,
443 	D_A0		= NREG,
444 	D_F0		= D_A0+NREG,
445 	D_NONE		= D_F0+NREG,
446 	D_TOS,
447 	D_BRANCH,
448 	D_STACK,
449 	D_TREE,
450 	D_EXTERN,
451 	D_STATIC,
452 	D_AUTO,
453 	D_PARAM,
454 	D_CONST,
455 	D_FCONST,
456 	D_QUICK,
457 
458 	D_CCR,
459 	D_SR,
460 	D_SFC,
461 	D_CACR,
462 	D_USP,
463 	D_VBR,
464 	D_CAAR,
465 	D_MSP,
466 	D_ISP,
467 	D_DFC,
468 	D_FPCR,
469 	D_FPSR,
470 	D_FPIAR,
471 	D_SCONST,
472 	D_FILE,
473 
474 	D_TC,		/* new for 68040 */
475 	D_ITT0,
476 	D_ITT1,
477 	D_DTT0,
478 	D_DTT1,
479 	D_MMUSR,
480 	D_URP,
481 	D_SRP,
482 
483 	D_FILE1,
484 
485 	D_MASK		= 63/(D_SRP>=63?0:1),
486 
487 	I_DIR		= (D_MASK+1)*0,
488 	I_INDINC	= (D_MASK+1)*1,
489 	I_INDDEC	= (D_MASK+1)*2,
490 	I_INDIR		= (D_MASK+1)*3,
491 	I_ADDR		= (D_MASK+1)*4,
492 
493 	I_INDEX1	= (D_MASK+1)*1,
494 	I_INDEX2	= (D_MASK+1)*2,
495 	I_INDEX3	= (D_MASK+1)*3,
496 
497 	I_MASK		= (D_MASK+1)*7,
498 
499 	T_FIELD		= 1<<0,
500 	T_INDEX		= 1<<1,
501 	T_TYPE		= 1<<2,
502 	T_OFFSET	= 1<<3,
503 	T_FCONST	= 1<<4,
504 	T_SYM		= 1<<5,
505 	T_SCONST	= 1<<6
506 };
507 
508 /*
509  * this is the ranlib header
510  */
511 #define	SYMDEF	"__.SYMDEF"
512 
513 /*
514  * this is the simulated IEEE floating point
515  */
516 typedef	struct	ieee	Ieee;
517 struct	ieee
518 {
519 	long	l;	/* contains ls-man	0xffffffff */
520 	long	h;	/* contains sign	0x80000000
521 				    exp		0x7ff00000
522 				    ms-man	0x000fffff */
523 };
524