]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/2c/2.out.h
devproc: can't wait for ourselfs to stop (thanks Shamar)
[plan9front.git] / sys / src / cmd / 2c / 2.out.h
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 };