]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/7c/7.out.h
9bootfat: rename open() to fileinit and make it static as its really a internal funct...
[plan9front.git] / sys / src / cmd / 7c / 7.out.h
1 #define NSNAME  8
2 #define NSYM    50
3 #define NREG    32
4 #define NOPROF  (1<<0)
5 #define DUPOK   (1<<1)
6
7 enum
8 {
9         REGRET          = 0,    /* return register and first temp, grows++ */
10         REGARG          = 0,    /* first arg passed in */
11         REGEXT          = 15,   /* first external register, grows-- */
12
13         REGLINK         = 26,   /* subroutine linkage */
14         REGTMP          = 27,   /* used by the loader */
15         REGTMP2         = 28,   /* used by the loader */
16         REGSB           = 29,   /* static pointer */
17         REGSP           = 30,   /* stack pointer */
18         REGZERO         = 31,   /* always zero */
19
20         FREGRET         = 0,
21         FREGEXT         = 27,   /* first external register */
22         FREGHALF        = 28,   /* double */
23         FREGONE         = 29,   /* double */
24         FREGTWO         = 30,   /* double */
25         FREGZERO        = 31,   /* both float and double */
26 };
27
28 enum    as
29 {
30         AXXX,
31         AGOK,
32         ATEXT,
33         ADATA,
34         AGLOBL,
35         AHISTORY,
36         ANAME,
37         AWORD,
38
39         ANOP,
40
41         AMOVL,
42         AMOVLU,
43         AMOVQ,
44         AMOVQU,
45         AMOVS,
46         AMOVT,
47
48         AMOVB,
49         AMOVBU,
50         AMOVW,
51         AMOVWU,
52
53         AMOVA,
54         AMOVAH,
55
56         AMOVLL,
57         AMOVQL,
58         AMOVLC,
59         AMOVQC,
60
61         AMOVQP,
62         AMOVLP,
63
64         AADDL,
65         AADDLV,
66         AADDQ,
67         AADDQV,
68         AS4ADDL,
69         AS4ADDQ,
70         AS8ADDL,
71         AS8ADDQ,
72         AS4SUBL,
73         AS4SUBQ,
74         AS8SUBL,
75         AS8SUBQ,
76         ASUBL,
77         ASUBLV,
78         ASUBQ,
79         ASUBQV,
80
81         ACMPEQ,
82         ACMPGT,
83         ACMPGE,
84         ACMPUGT,
85         ACMPUGE,
86         ACMPBLE,
87
88         AAND,
89         AANDNOT,
90         AOR,
91         AORNOT,
92         AXOR,
93         AXORNOT,
94
95         ACMOVEQ,
96         ACMOVNE,
97         ACMOVLT,
98         ACMOVGE,
99         ACMOVLE,
100         ACMOVGT,
101         ACMOVLBC,
102         ACMOVLBS,
103
104         AMULL,
105         AMULQ,
106         AMULLV,
107         AMULQV,
108         AUMULH,
109         ADIVQ,
110         AMODQ,
111         ADIVQU,
112         AMODQU,
113         ADIVL,
114         AMODL,
115         ADIVLU,
116         AMODLU,
117
118         ASLLQ,
119         ASRLQ,
120         ASRAQ,
121         ASLLL,
122         ASRLL,
123         ASRAL,
124
125         AEXTBL,
126         AEXTWL,
127         AEXTLL,
128         AEXTQL,
129         AEXTWH,
130         AEXTLH,
131         AEXTQH,
132
133         AINSBL,
134         AINSWL,
135         AINSLL,
136         AINSQL,
137         AINSWH,
138         AINSLH,
139         AINSQH,
140
141         AMSKBL,
142         AMSKWL,
143         AMSKLL,
144         AMSKQL,
145         AMSKWH,
146         AMSKLH,
147         AMSKQH,
148
149         AZAP,
150         AZAPNOT,
151
152         AJMP,
153         AJSR,
154         ARET,
155
156         ABR,
157         ABSR,
158
159         ABEQ,
160         ABNE,
161         ABLT,
162         ABGE,
163         ABLE,
164         ABGT,
165         ABLBC,
166         ABLBS,
167
168         AFBEQ,
169         AFBNE,
170         AFBLT,
171         AFBGE,
172         AFBLE,
173         AFBGT,
174
175         ATRAPB,
176         AMB,
177         AFETCH,
178         AFETCHM,
179         ARPCC,
180
181         ACPYS,
182         ACPYSN,
183         ACPYSE,
184         ACVTLQ,
185         ACVTQL,
186         AFCMOVEQ,
187         AFCMOVNE,
188         AFCMOVLT,
189         AFCMOVGE,
190         AFCMOVLE,
191         AFCMOVGT,
192
193         AADDS,
194         AADDT,
195         ACMPTEQ,
196         ACMPTGT,
197         ACMPTGE,
198         ACMPTUN,
199         ACVTQS,
200         ACVTQT,
201         ACVTTS,
202         ACVTTQ,
203         ADIVS,
204         ADIVT,
205         AMULS,
206         AMULT,
207         ASUBS,
208         ASUBT,
209
210         ACALL_PAL,
211         AREI,
212
213         AEND,
214
215         ADYNT,
216         AINIT,
217
218         ASIGNAME,
219
220         ALAST,
221 };
222
223 /* type/name */
224 enum
225 {
226         D_GOK   = 0,
227         D_NONE,
228
229 /* name */
230         D_EXTERN,
231         D_STATIC,
232         D_AUTO,
233         D_PARAM,
234
235 /* type */
236         D_BRANCH,
237         D_OREG,
238         D_CONST,
239         D_FCONST,
240         D_SCONST,
241         D_REG,
242         D_FREG,
243         D_FCREG,
244         D_PREG,
245         D_PCC,
246         D_FILE,
247         D_FILE1,
248 };
249
250 /*
251  * this is the ranlib header
252  */
253 #define SYMDEF  "__.SYMDEF"
254
255 /*
256  * this is the simulated IEEE floating point
257  */
258 typedef struct  ieee    Ieee;
259 struct  ieee
260 {
261         long    l;      /* contains ls-man      0xffffffff */
262         long    h;      /* contains sign        0x80000000
263                                     exp         0x7ff00000
264                                     ms-man      0x000fffff */
265 };