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
 
6
/*
7
 *	amd64
8
 */
9
 
10
enum	as
11
{
12
	AXXX,
13
	AAAA,
14
	AAAD,
15
	AAAM,
16
	AAAS,
17
	AADCB,
18
	AADCL,
19
	AADCW,
20
	AADDB,
21
	AADDL,
22
	AADDW,
23
	AADJSP,
24
	AANDB,
25
	AANDL,
26
	AANDW,
27
	AARPL,
28
	ABOUNDL,
29
	ABOUNDW,
30
	ABSFL,
31
	ABSFW,
32
	ABSRL,
33
	ABSRW,
34
	ABTL,
35
	ABTW,
36
	ABTCL,
37
	ABTCW,
38
	ABTRL,
39
	ABTRW,
40
	ABTSL,
41
	ABTSW,
42
	ABYTE,
43
	ACALL,
44
	ACLC,
45
	ACLD,
46
	ACLI,
47
	ACLTS,
48
	ACMC,
49
	ACMPB,
50
	ACMPL,
51
	ACMPW,
52
	ACMPSB,
53
	ACMPSL,
54
	ACMPSW,
55
	ADAA,
56
	ADAS,
57
	ADATA,
58
	ADECB,
59
	ADECL,
60
	ADECQ,
61
	ADECW,
62
	ADIVB,
63
	ADIVL,
64
	ADIVW,
65
	AENTER,
66
	AGLOBL,
67
	AGOK,
68
	AHISTORY,
69
	AHLT,
70
	AIDIVB,
71
	AIDIVL,
72
	AIDIVW,
73
	AIMULB,
74
	AIMULL,
75
	AIMULW,
76
	AINB,
77
	AINL,
78
	AINW,
79
	AINCB,
80
	AINCL,
81
	AINCQ,
82
	AINCW,
83
	AINSB,
84
	AINSL,
85
	AINSW,
86
	AINT,
87
	AINTO,
88
	AIRETL,
89
	AIRETW,
90
	AJCC,
91
	AJCS,
92
	AJCXZ,
93
	AJEQ,
94
	AJGE,
95
	AJGT,
96
	AJHI,
97
	AJLE,
98
	AJLS,
99
	AJLT,
100
	AJMI,
101
	AJMP,
102
	AJNE,
103
	AJOC,
104
	AJOS,
105
	AJPC,
106
	AJPL,
107
	AJPS,
108
	ALAHF,
109
	ALARL,
110
	ALARW,
111
	ALEAL,
112
	ALEAW,
113
	ALEAVEL,
114
	ALEAVEW,
115
	ALOCK,
116
	ALODSB,
117
	ALODSL,
118
	ALODSW,
119
	ALONG,
120
	ALOOP,
121
	ALOOPEQ,
122
	ALOOPNE,
123
	ALSLL,
124
	ALSLW,
125
	AMOVB,
126
	AMOVL,
127
	AMOVW,
128
	AMOVBLSX,
129
	AMOVBLZX,
130
	AMOVBQSX,
131
	AMOVBQZX,
132
	AMOVBWSX,
133
	AMOVBWZX,
134
	AMOVWLSX,
135
	AMOVWLZX,
136
	AMOVWQSX,
137
	AMOVWQZX,
138
	AMOVSB,
139
	AMOVSL,
140
	AMOVSW,
141
	AMULB,
142
	AMULL,
143
	AMULW,
144
	ANAME,
145
	ANEGB,
146
	ANEGL,
147
	ANEGW,
148
	ANOP,
149
	ANOTB,
150
	ANOTL,
151
	ANOTW,
152
	AORB,
153
	AORL,
154
	AORW,
155
	AOUTB,
156
	AOUTL,
157
	AOUTW,
158
	AOUTSB,
159
	AOUTSL,
160
	AOUTSW,
161
	APOPAL,
162
	APOPAW,
163
	APOPFL,
164
	APOPFW,
165
	APOPL,
166
	APOPW,
167
	APUSHAL,
168
	APUSHAW,
169
	APUSHFL,
170
	APUSHFW,
171
	APUSHL,
172
	APUSHW,
173
	ARCLB,
174
	ARCLL,
175
	ARCLW,
176
	ARCRB,
177
	ARCRL,
178
	ARCRW,
179
	AREP,
180
	AREPN,
181
	ARET,
182
	AROLB,
183
	AROLL,
184
	AROLW,
185
	ARORB,
186
	ARORL,
187
	ARORW,
188
	ASAHF,
189
	ASALB,
190
	ASALL,
191
	ASALW,
192
	ASARB,
193
	ASARL,
194
	ASARW,
195
	ASBBB,
196
	ASBBL,
197
	ASBBW,
198
	ASCASB,
199
	ASCASL,
200
	ASCASW,
201
	ASETCC,
202
	ASETCS,
203
	ASETEQ,
204
	ASETGE,
205
	ASETGT,
206
	ASETHI,
207
	ASETLE,
208
	ASETLS,
209
	ASETLT,
210
	ASETMI,
211
	ASETNE,
212
	ASETOC,
213
	ASETOS,
214
	ASETPC,
215
	ASETPL,
216
	ASETPS,
217
	ACDQ,
218
	ACWD,
219
	ASHLB,
220
	ASHLL,
221
	ASHLW,
222
	ASHRB,
223
	ASHRL,
224
	ASHRW,
225
	ASTC,
226
	ASTD,
227
	ASTI,
228
	ASTOSB,
229
	ASTOSL,
230
	ASTOSW,
231
	ASUBB,
232
	ASUBL,
233
	ASUBW,
234
	ASYSCALL,
235
	ATESTB,
236
	ATESTL,
237
	ATESTW,
238
	ATEXT,
239
	AVERR,
240
	AVERW,
241
	AWAIT,
242
	AWORD,
243
	AXCHGB,
244
	AXCHGL,
245
	AXCHGW,
246
	AXLAT,
247
	AXORB,
248
	AXORL,
249
	AXORW,
250
 
251
	AFMOVB,
252
	AFMOVBP,
253
	AFMOVD,
254
	AFMOVDP,
255
	AFMOVF,
256
	AFMOVFP,
257
	AFMOVL,
258
	AFMOVLP,
259
	AFMOVV,
260
	AFMOVVP,
261
	AFMOVW,
262
	AFMOVWP,
263
	AFMOVX,
264
	AFMOVXP,
265
 
266
	AFCOMB,
267
	AFCOMBP,
268
	AFCOMD,
269
	AFCOMDP,
270
	AFCOMDPP,
271
	AFCOMF,
272
	AFCOMFP,
273
	AFCOML,
274
	AFCOMLP,
275
	AFCOMW,
276
	AFCOMWP,
277
	AFUCOM,
278
	AFUCOMP,
279
	AFUCOMPP,
280
 
281
	AFADDDP,
282
	AFADDW,
283
	AFADDL,
284
	AFADDF,
285
	AFADDD,
286
 
287
	AFMULDP,
288
	AFMULW,
289
	AFMULL,
290
	AFMULF,
291
	AFMULD,
292
 
293
	AFSUBDP,
294
	AFSUBW,
295
	AFSUBL,
296
	AFSUBF,
297
	AFSUBD,
298
 
299
	AFSUBRDP,
300
	AFSUBRW,
301
	AFSUBRL,
302
	AFSUBRF,
303
	AFSUBRD,
304
 
305
	AFDIVDP,
306
	AFDIVW,
307
	AFDIVL,
308
	AFDIVF,
309
	AFDIVD,
310
 
311
	AFDIVRDP,
312
	AFDIVRW,
313
	AFDIVRL,
314
	AFDIVRF,
315
	AFDIVRD,
316
 
317
	AFXCHD,
318
	AFFREE,
319
 
320
	AFLDCW,
321
	AFLDENV,
322
	AFRSTOR,
323
	AFSAVE,
324
	AFSTCW,
325
	AFSTENV,
326
	AFSTSW,
327
 
328
	AF2XM1,
329
	AFABS,
330
	AFCHS,
331
	AFCLEX,
332
	AFCOS,
333
	AFDECSTP,
334
	AFINCSTP,
335
	AFINIT,
336
	AFLD1,
337
	AFLDL2E,
338
	AFLDL2T,
339
	AFLDLG2,
340
	AFLDLN2,
341
	AFLDPI,
342
	AFLDZ,
343
	AFNOP,
344
	AFPATAN,
345
	AFPREM,
346
	AFPREM1,
347
	AFPTAN,
348
	AFRNDINT,
349
	AFSCALE,
350
	AFSIN,
351
	AFSINCOS,
352
	AFSQRT,
353
	AFTST,
354
	AFXAM,
355
	AFXTRACT,
356
	AFYL2X,
357
	AFYL2XP1,
358
 
359
	AEND,
360
 
361
	ADYNT,
362
	AINIT,
363
 
364
	ASIGNAME,
365
 
366
	/* extra 32-bit operations */
367
	ACMPXCHGB,
368
	ACMPXCHGL,
369
	ACMPXCHGW,
370
	ACMPXCHG8B,
371
	ACPUID,
372
	AINVD,
373
	AINVLPG,
374
	ALFENCE,
375
	AMFENCE,
376
	AMOVNTIL,
377
	ARDMSR,
378
	ARDPMC,
379
	ARDTSC,
380
	ARSM,
381
	ASFENCE,
382
	ASYSRET,
383
	AWBINVD,
384
	AWRMSR,
385
	AXADDB,
386
	AXADDL,
387
	AXADDW,
388
 
389
	/* conditional move */
390
	ACMOVLCC,
391
	ACMOVLCS,
392
	ACMOVLEQ,
393
	ACMOVLGE,
394
	ACMOVLGT,
395
	ACMOVLHI,
396
	ACMOVLLE,
397
	ACMOVLLS,
398
	ACMOVLLT,
399
	ACMOVLMI,
400
	ACMOVLNE,
401
	ACMOVLOC,
402
	ACMOVLOS,
403
	ACMOVLPC,
404
	ACMOVLPL,
405
	ACMOVLPS,
406
	ACMOVQCC,
407
	ACMOVQCS,
408
	ACMOVQEQ,
409
	ACMOVQGE,
410
	ACMOVQGT,
411
	ACMOVQHI,
412
	ACMOVQLE,
413
	ACMOVQLS,
414
	ACMOVQLT,
415
	ACMOVQMI,
416
	ACMOVQNE,
417
	ACMOVQOC,
418
	ACMOVQOS,
419
	ACMOVQPC,
420
	ACMOVQPL,
421
	ACMOVQPS,
422
	ACMOVWCC,
423
	ACMOVWCS,
424
	ACMOVWEQ,
425
	ACMOVWGE,
426
	ACMOVWGT,
427
	ACMOVWHI,
428
	ACMOVWLE,
429
	ACMOVWLS,
430
	ACMOVWLT,
431
	ACMOVWMI,
432
	ACMOVWNE,
433
	ACMOVWOC,
434
	ACMOVWOS,
435
	ACMOVWPC,
436
	ACMOVWPL,
437
	ACMOVWPS,
438
 
439
	/* 64-bit */
440
	AADCQ,
441
	AADDQ,
442
	AANDQ,
443
	ABSFQ,
444
	ABSRQ,
445
	ABTCQ,
446
	ABTQ,
447
	ABTRQ,
448
	ABTSQ,
449
	ACMPQ,
450
	ACMPSQ,
451
	ACMPXCHGQ,
452
	ACQO,
453
	ADIVQ,
454
	AIDIVQ,
455
	AIMULQ,
456
	AIRETQ,
457
	ALEAQ,
458
	ALEAVEQ,
459
	ALODSQ,
460
	AMOVQ,
461
	AMOVLQSX,
462
	AMOVLQZX,
463
	AMOVNTIQ,
464
	AMOVSQ,
465
	AMULQ,
466
	ANEGQ,
467
	ANOTQ,
468
	AORQ,
469
	APOPFQ,
470
	APOPQ,
471
	APUSHFQ,
472
	APUSHQ,
473
	ARCLQ,
474
	ARCRQ,
475
	AROLQ,
476
	ARORQ,
477
	AQUAD,
478
	ASALQ,
479
	ASARQ,
480
	ASBBQ,
481
	ASCASQ,
482
	ASHLQ,
483
	ASHRQ,
484
	ASTOSQ,
485
	ASUBQ,
486
	ATESTQ,
487
	AXADDQ,
488
	AXCHGQ,
489
	AXORQ,
490
 
491
	/* media */
492
	AADDPD,
493
	AADDPS,
494
	AADDSD,
495
	AADDSS,
496
	AANDNPD,
497
	AANDNPS,
498
	AANDPD,
499
	AANDPS,
500
	ACMPPD,
501
	ACMPPS,
502
	ACMPSD,
503
	ACMPSS,
504
	ACOMISD,
505
	ACOMISS,
506
	ACVTPD2PL,
507
	ACVTPD2PS,
508
	ACVTPL2PD,
509
	ACVTPL2PS,
510
	ACVTPS2PD,
511
	ACVTPS2PL,
512
	ACVTSD2SL,
513
	ACVTSD2SQ,
514
	ACVTSD2SS,
515
	ACVTSL2SD,
516
	ACVTSL2SS,
517
	ACVTSQ2SD,
518
	ACVTSQ2SS,
519
	ACVTSS2SD,
520
	ACVTSS2SL,
521
	ACVTSS2SQ,
522
	ACVTTPD2PL,
523
	ACVTTPS2PL,
524
	ACVTTSD2SL,
525
	ACVTTSD2SQ,
526
	ACVTTSS2SL,
527
	ACVTTSS2SQ,
528
	ADIVPD,
529
	ADIVPS,
530
	ADIVSD,
531
	ADIVSS,
532
	AEMMS,
533
	AFXRSTOR,
534
	AFXRSTOR64,
535
	AFXSAVE,
536
	AFXSAVE64,
537
	ALDMXCSR,
538
	AMASKMOVOU,
539
	AMASKMOVQ,
540
	AMAXPD,
541
	AMAXPS,
542
	AMAXSD,
543
	AMAXSS,
544
	AMINPD,
545
	AMINPS,
546
	AMINSD,
547
	AMINSS,
548
	AMOVAPD,
549
	AMOVAPS,
550
	AMOVOU,
551
	AMOVHLPS,
552
	AMOVHPD,
553
	AMOVHPS,
554
	AMOVLHPS,
555
	AMOVLPD,
556
	AMOVLPS,
557
	AMOVMSKPD,
558
	AMOVMSKPS,
559
	AMOVNTO,
560
	AMOVNTPD,
561
	AMOVNTPS,
562
	AMOVNTQ,
563
	AMOVO,
564
	AMOVQOZX,
565
	AMOVSD,
566
	AMOVSS,
567
	AMOVUPD,
568
	AMOVUPS,
569
	AMULPD,
570
	AMULPS,
571
	AMULSD,
572
	AMULSS,
573
	AORPD,
574
	AORPS,
575
	APACKSSLW,
576
	APACKSSWB,
577
	APACKUSWB,
578
	APADDB,
579
	APADDL,
580
	APADDQ,
581
	APADDSB,
582
	APADDSW,
583
	APADDUSB,
584
	APADDUSW,
585
	APADDW,
586
	APANDB,
587
	APANDL,
588
	APANDSB,
589
	APANDSW,
590
	APANDUSB,
591
	APANDUSW,
592
	APANDW,
593
	APAND,
594
	APANDN,
595
	APAVGB,
596
	APAVGW,
597
	APCMPEQB,
598
	APCMPEQL,
599
	APCMPEQW,
600
	APCMPGTB,
601
	APCMPGTL,
602
	APCMPGTW,
603
	APEXTRW,
604
	APFACC,
605
	APFADD,
606
	APFCMPEQ,
607
	APFCMPGE,
608
	APFCMPGT,
609
	APFMAX,
610
	APFMIN,
611
	APFMUL,
612
	APFNACC,
613
	APFPNACC,
614
	APFRCP,
615
	APFRCPIT1,
616
	APFRCPI2T,
617
	APFRSQIT1,
618
	APFRSQRT,
619
	APFSUB,
620
	APFSUBR,
621
	APINSRW,
622
	APMADDWL,
623
	APMAXSW,
624
	APMAXUB,
625
	APMINSW,
626
	APMINUB,
627
	APMOVMSKB,
628
	APMULHRW,
629
	APMULHUW,
630
	APMULHW,
631
	APMULLW,
632
	APMULULQ,
633
	APOR,
634
	APSADBW,
635
	APSHUFHW,
636
	APSHUFL,
637
	APSHUFLW,
638
	APSHUFW,
639
	APSLLO,
640
	APSLLL,
641
	APSLLQ,
642
	APSLLW,
643
	APSRAL,
644
	APSRAW,
645
	APSRLO,
646
	APSRLL,
647
	APSRLQ,
648
	APSRLW,
649
	APSUBB,
650
	APSUBL,
651
	APSUBQ,
652
	APSUBSB,
653
	APSUBSW,
654
	APSUBUSB,
655
	APSUBUSW,
656
	APSUBW,
657
	APSWAPL,
658
	APUNPCKHBW,
659
	APUNPCKHLQ,
660
	APUNPCKHQDQ,
661
	APUNPCKHWL,
662
	APUNPCKLBW,
663
	APUNPCKLLQ,
664
	APUNPCKLQDQ,
665
	APUNPCKLWL,
666
	APXOR,
667
	ARCPPS,
668
	ARCPSS,
669
	ARSQRTPS,
670
	ARSQRTSS,
671
	ASHUFPD,
672
	ASHUFPS,
673
	ASQRTPD,
674
	ASQRTPS,
675
	ASQRTSD,
676
	ASQRTSS,
677
	ASTMXCSR,
678
	ASUBPD,
679
	ASUBPS,
680
	ASUBSD,
681
	ASUBSS,
682
	AUCOMISD,
683
	AUCOMISS,
684
	AUNPCKHPD,
685
	AUNPCKHPS,
686
	AUNPCKLPD,
687
	AUNPCKLPS,
688
	AXORPD,
689
	AXORPS,
690
 
691
	APF2IW,
692
	APF2IL,
693
	API2FW,
694
	API2FL,
695
	ARETFW,
696
	ARETFL,
697
	ARETFQ,
698
	ASWAPGS,
699
 
700
	AMODE,
701
 
702
	ALAST
703
};
704
 
705
enum
706
{
707
 
708
	D_AL		= 0,
709
	D_CL,
710
	D_DL,
711
	D_BL,
712
	D_SPB,
713
	D_BPB,
714
	D_SIB,
715
	D_DIB,
716
	D_R8B,
717
	D_R9B,
718
	D_R10B,
719
	D_R11B,
720
	D_R12B,
721
	D_R13B,
722
	D_R14B,
723
	D_R15B,
724
 
725
	D_AX		= 16,
726
	D_CX,
727
	D_DX,
728
	D_BX,
729
	D_SP,
730
	D_BP,
731
	D_SI,
732
	D_DI,
733
	D_R8,
734
	D_R9,
735
	D_R10,
736
	D_R11,
737
	D_R12,
738
	D_R13,
739
	D_R14,
740
	D_R15,
741
 
742
	D_AH		= 32,
743
	D_CH,
744
	D_DH,
745
	D_BH,
746
 
747
	D_F0		= 36,
748
 
749
	D_M0		= 44,
750
 
751
	D_X0		= 52,
752
 
753
	D_CS		= 68,
754
	D_SS,
755
	D_DS,
756
	D_ES,
757
	D_FS,
758
	D_GS,
759
 
760
	D_GDTR,		/* global descriptor table register */
761
	D_IDTR,		/* interrupt descriptor table register */
762
	D_LDTR,		/* local descriptor table register */
763
	D_MSW,		/* machine status word */
764
	D_TASK,		/* task register */
765
 
766
	D_CR		= 79,
767
	D_DR		= 95,
768
	D_TR		= 103,
769
 
770
	D_NONE		= 111,
771
 
772
	D_BRANCH	= 112,
773
	D_EXTERN	= 113,
774
	D_STATIC		= 114,
775
	D_AUTO		= 115,
776
	D_PARAM		= 116,
777
	D_CONST		= 117,
778
	D_FCONST	= 118,
779
	D_SCONST	= 119,
780
	D_ADDR		= 120,
781
 
782
	D_FILE,
783
	D_FILE1,
784
 
785
	D_INDIR,	/* additive */
786
 
787
	T_TYPE		= 1<<0,
788
	T_INDEX		= 1<<1,
789
	T_OFFSET	= 1<<2,
790
	T_FCONST	= 1<<3,
791
	T_SYM		= 1<<4,
792
	T_SCONST	= 1<<5,
793
	T_64	= 1<<6,
794
 
795
	REGARG		= D_BP,	/* MIGHT CHANGE */
796
	REGRET		= D_AX,
797
	FREGRET		= D_X0,
798
	REGSP		= D_SP,
799
	REGTMP		= D_DI,
800
	REGEXT		= D_R15,	/* compiler allocates external registers R15 down */
801
	FREGMIN		= D_X0+5,	/* first register variable */
802
	FREGEXT		= D_X0+7	/* first external register */
803
};
804
 
805
/*
806
 * this is the ranlib header
807
 */
808
#define	SYMDEF	"__.SYMDEF"
809
 
810
/*
811
 * this is the simulated IEEE floating point
812
 */
813
typedef	struct	ieee	Ieee;
814
struct	ieee
815
{
816
	long	l;	/* contains ls-man	0xffffffff */
817
	long	h;	/* contains sign	0x80000000
818
				    exp		0x7ff00000
819
				    ms-man	0x000fffff */
820
};