Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#define	NSYM	50
2
#define	NSNAME	8
3
#define NOPROF	(1<<0)
4
#define DUPOK	(1<<1)
5
#define NOSPLIT	(1<<2)
6
 
7
enum	as
8
{
9
	AXXX,
10
	AAAA,
11
	AAAD,
12
	AAAM,
13
	AAAS,
14
	AADCB,
15
	AADCL,
16
	AADCW,
17
	AADDB,
18
	AADDL,
19
	AADDW,
20
	AADJSP,
21
	AANDB,
22
	AANDL,
23
	AANDW,
24
	AARPL,
25
	ABOUNDL,
26
	ABOUNDW,
27
	ABSFL,
28
	ABSFW,
29
	ABSRL,
30
	ABSRW,
31
	ABTL,
32
	ABTW,
33
	ABTCL,
34
	ABTCW,
35
	ABTRL,
36
	ABTRW,
37
	ABTSL,
38
	ABTSW,
39
	ABYTE,
40
	ACALL,
41
	ACLC,
42
	ACLD,
43
	ACLI,
44
	ACLTS,
45
	ACMC,
46
	ACMPB,
47
	ACMPL,
48
	ACMPW,
49
	ACMPSB,
50
	ACMPSL,
51
	ACMPSW,
52
	ADAA,
53
	ADAS,
54
	ADATA,
55
	ADECB,
56
	ADECL,
57
	ADECW,
58
	ADIVB,
59
	ADIVL,
60
	ADIVW,
61
	AENTER,
62
	AGLOBL,
63
	AGOK,
64
	AHISTORY,
65
	AHLT,
66
	AIDIVB,
67
	AIDIVL,
68
	AIDIVW,
69
	AIMULB,
70
	AIMULL,
71
	AIMULW,
72
	AINB,
73
	AINL,
74
	AINW,
75
	AINCB,
76
	AINCL,
77
	AINCW,
78
	AINSB,
79
	AINSL,
80
	AINSW,
81
	AINT,
82
	AINTO,
83
	AIRETL,
84
	AIRETW,
85
	AJCC,
86
	AJCS,
87
	AJCXZ,
88
	AJEQ,
89
	AJGE,
90
	AJGT,
91
	AJHI,
92
	AJLE,
93
	AJLS,
94
	AJLT,
95
	AJMI,
96
	AJMP,
97
	AJNE,
98
	AJOC,
99
	AJOS,
100
	AJPC,
101
	AJPL,
102
	AJPS,
103
	ALAHF,
104
	ALARL,
105
	ALARW,
106
	ALEAL,
107
	ALEAW,
108
	ALEAVEL,
109
	ALEAVEW,
110
	ALOCK,
111
	ALODSB,
112
	ALODSL,
113
	ALODSW,
114
	ALONG,
115
	ALOOP,
116
	ALOOPEQ,
117
	ALOOPNE,
118
	ALSLL,
119
	ALSLW,
120
	AMOVB,
121
	AMOVL,
122
	AMOVW,
123
	AMOVBLSX,
124
	AMOVBLZX,
125
	AMOVBWSX,
126
	AMOVBWZX,
127
	AMOVWLSX,
128
	AMOVWLZX,
129
	AMOVSB,
130
	AMOVSL,
131
	AMOVSW,
132
	AMULB,
133
	AMULL,
134
	AMULW,
135
	ANAME,
136
	ANEGB,
137
	ANEGL,
138
	ANEGW,
139
	ANOP,
140
	ANOTB,
141
	ANOTL,
142
	ANOTW,
143
	AORB,
144
	AORL,
145
	AORW,
146
	AOUTB,
147
	AOUTL,
148
	AOUTW,
149
	AOUTSB,
150
	AOUTSL,
151
	AOUTSW,
152
	APOPAL,
153
	APOPAW,
154
	APOPFL,
155
	APOPFW,
156
	APOPL,
157
	APOPW,
158
	APUSHAL,
159
	APUSHAW,
160
	APUSHFL,
161
	APUSHFW,
162
	APUSHL,
163
	APUSHW,
164
	ARCLB,
165
	ARCLL,
166
	ARCLW,
167
	ARCRB,
168
	ARCRL,
169
	ARCRW,
170
	AREP,
171
	AREPN,
172
	ARET,
173
	AROLB,
174
	AROLL,
175
	AROLW,
176
	ARORB,
177
	ARORL,
178
	ARORW,
179
	ASAHF,
180
	ASALB,
181
	ASALL,
182
	ASALW,
183
	ASARB,
184
	ASARL,
185
	ASARW,
186
	ASBBB,
187
	ASBBL,
188
	ASBBW,
189
	ASCASB,
190
	ASCASL,
191
	ASCASW,
192
	ASETCC,
193
	ASETCS,
194
	ASETEQ,
195
	ASETGE,
196
	ASETGT,
197
	ASETHI,
198
	ASETLE,
199
	ASETLS,
200
	ASETLT,
201
	ASETMI,
202
	ASETNE,
203
	ASETOC,
204
	ASETOS,
205
	ASETPC,
206
	ASETPL,
207
	ASETPS,
208
	ACDQ,
209
	ACWD,
210
	ASHLB,
211
	ASHLL,
212
	ASHLW,
213
	ASHRB,
214
	ASHRL,
215
	ASHRW,
216
	ASTC,
217
	ASTD,
218
	ASTI,
219
	ASTOSB,
220
	ASTOSL,
221
	ASTOSW,
222
	ASUBB,
223
	ASUBL,
224
	ASUBW,
225
	ASYSCALL,
226
	ATESTB,
227
	ATESTL,
228
	ATESTW,
229
	ATEXT,
230
	AVERR,
231
	AVERW,
232
	AWAIT,
233
	AWORD,
234
	AXCHGB,
235
	AXCHGL,
236
	AXCHGW,
237
	AXLAT,
238
	AXORB,
239
	AXORL,
240
	AXORW,
241
 
242
	AFMOVB,
243
	AFMOVBP,
244
	AFMOVD,
245
	AFMOVDP,
246
	AFMOVF,
247
	AFMOVFP,
248
	AFMOVL,
249
	AFMOVLP,
250
	AFMOVV,
251
	AFMOVVP,
252
	AFMOVW,
253
	AFMOVWP,
254
	AFMOVX,
255
	AFMOVXP,
256
 
257
	AFCOMB,
258
	AFCOMBP,
259
	AFCOMD,
260
	AFCOMDP,
261
	AFCOMDPP,
262
	AFCOMF,
263
	AFCOMFP,
264
	AFCOML,
265
	AFCOMLP,
266
	AFCOMW,
267
	AFCOMWP,
268
	AFUCOM,
269
	AFUCOMP,
270
	AFUCOMPP,
271
 
272
	AFADDDP,
273
	AFADDW,
274
	AFADDL,
275
	AFADDF,
276
	AFADDD,
277
 
278
	AFMULDP,
279
	AFMULW,
280
	AFMULL,
281
	AFMULF,
282
	AFMULD,
283
 
284
	AFSUBDP,
285
	AFSUBW,
286
	AFSUBL,
287
	AFSUBF,
288
	AFSUBD,
289
 
290
	AFSUBRDP,
291
	AFSUBRW,
292
	AFSUBRL,
293
	AFSUBRF,
294
	AFSUBRD,
295
 
296
	AFDIVDP,
297
	AFDIVW,
298
	AFDIVL,
299
	AFDIVF,
300
	AFDIVD,
301
 
302
	AFDIVRDP,
303
	AFDIVRW,
304
	AFDIVRL,
305
	AFDIVRF,
306
	AFDIVRD,
307
 
308
	AFXCHD,
309
	AFFREE,
310
 
311
	AFLDCW,
312
	AFLDENV,
313
	AFRSTOR,
314
	AFSAVE,
315
	AFSTCW,
316
	AFSTENV,
317
	AFSTSW,
318
 
319
	AF2XM1,
320
	AFABS,
321
	AFCHS,
322
	AFCLEX,
323
	AFCOS,
324
	AFDECSTP,
325
	AFINCSTP,
326
	AFINIT,
327
	AFLD1,
328
	AFLDL2E,
329
	AFLDL2T,
330
	AFLDLG2,
331
	AFLDLN2,
332
	AFLDPI,
333
	AFLDZ,
334
	AFNOP,
335
	AFPATAN,
336
	AFPREM,
337
	AFPREM1,
338
	AFPTAN,
339
	AFRNDINT,
340
	AFSCALE,
341
	AFSIN,
342
	AFSINCOS,
343
	AFSQRT,
344
	AFTST,
345
	AFXAM,
346
	AFXTRACT,
347
	AFYL2X,
348
	AFYL2XP1,
349
 
350
	AEND,
351
 
352
	ADYNT,
353
	AINIT,
354
 
355
	ASIGNAME,
356
 
357
	AFCOMI,
358
	AFCOMIP,
359
	AFUCOMI,
360
	AFUCOMIP,
361
	ACMPXCHGB,
362
	ACMPXCHGL,
363
	ACMPXCHGW,
364
 
365
	/* conditional move */
366
	ACMOVLCC,
367
	ACMOVLCS,
368
	ACMOVLEQ,
369
	ACMOVLGE,
370
	ACMOVLGT,
371
	ACMOVLHI,
372
	ACMOVLLE,
373
	ACMOVLLS,
374
	ACMOVLLT,
375
	ACMOVLMI,
376
	ACMOVLNE,
377
	ACMOVLOC,
378
	ACMOVLOS,
379
	ACMOVLPC,
380
	ACMOVLPL,
381
	ACMOVLPS,
382
	ACMOVWCC,
383
	ACMOVWCS,
384
	ACMOVWEQ,
385
	ACMOVWGE,
386
	ACMOVWGT,
387
	ACMOVWHI,
388
	ACMOVWLE,
389
	ACMOVWLS,
390
	ACMOVWLT,
391
	ACMOVWMI,
392
	ACMOVWNE,
393
	ACMOVWOC,
394
	ACMOVWOS,
395
	ACMOVWPC,
396
	ACMOVWPL,
397
	ACMOVWPS,
398
 
399
	AFCMOVCC,
400
	AFCMOVCS,
401
	AFCMOVEQ,
402
	AFCMOVHI,
403
	AFCMOVLS,
404
	AFCMOVNE,
405
	AFCMOVNU,
406
	AFCMOVUN,
407
 
408
	/* add new operations here. nowhere else. here. */
409
	ALAST
410
};
411
 
412
enum
413
{
414
	D_AL		= 0,
415
	D_CL,
416
	D_DL,
417
	D_BL,
418
 
419
	D_AH		= 4,
420
	D_CH,
421
	D_DH,
422
	D_BH,
423
 
424
	D_AX		= 8,
425
	D_CX,
426
	D_DX,
427
	D_BX,
428
	D_SP,
429
	D_BP,
430
	D_SI,
431
	D_DI,
432
 
433
	D_F0		= 16,
434
	D_F7		= D_F0 + 7,
435
 
436
	D_CS		= 24,
437
	D_SS,
438
	D_DS,
439
	D_ES,
440
	D_FS,
441
	D_GS,
442
 
443
	D_GDTR,		/* global descriptor table register */
444
	D_IDTR,		/* interrupt descriptor table register */
445
	D_LDTR,		/* local descriptor table register */
446
	D_MSW,		/* machine status word */
447
	D_TASK,		/* task register */
448
 
449
	D_CR		= 35,
450
	D_DR		= 43,
451
	D_TR		= 51,
452
 
453
	D_NONE		= 59,
454
 
455
	D_BRANCH	= 60,
456
	D_EXTERN	= 61,
457
	D_STATIC	= 62,
458
	D_AUTO		= 63,
459
	D_PARAM		= 64,
460
	D_CONST		= 65,
461
	D_FCONST	= 66,
462
	D_SCONST	= 67,
463
	D_ADDR		= 68,
464
 
465
	D_FILE,
466
	D_FILE1,
467
 
468
	D_INDIR,	/* additive */
469
 
470
	D_CONST2 = D_INDIR+D_INDIR,
471
 
472
	D_SIZE,	/* 8l internal */
473
 
474
	T_TYPE		= 1<<0,
475
	T_INDEX		= 1<<1,
476
	T_OFFSET	= 1<<2,
477
	T_FCONST	= 1<<3,
478
	T_SYM		= 1<<4,
479
	T_SCONST	= 1<<5,
480
	T_OFFSET2	= 1<<6,
481
	T_GOTYPE	= 1<<7,
482
 
483
	REGARG		= -1,
484
	REGRET		= D_AX,
485
	FREGRET		= D_F0,
486
	REGSP		= D_SP,
487
	REGTMP		= D_DI,
488
};
489
 
490
/*
491
 * this is the ranlib header
492
 */
493
#define	SYMDEF	"__.SYMDEF"
494
 
495
/*
496
 * this is the simulated IEEE floating point
497
 */
498
typedef	struct	ieee	Ieee;
499
struct	ieee
500
{
501
	long	l;	/* contains ls-man	0xffffffff */
502
	long	h;	/* contains sign	0x80000000
503
				    exp		0x7ff00000
504
				    ms-man	0x000fffff */
505
};