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