123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820 |
- #define NSYM 50
- #define NSNAME 8
- #define NOPROF (1<<0)
- #define DUPOK (1<<1)
- /*
- * amd64
- */
- enum as
- {
- AXXX,
- AAAA,
- AAAD,
- AAAM,
- AAAS,
- AADCB,
- AADCL,
- AADCW,
- AADDB,
- AADDL,
- AADDW,
- AADJSP,
- AANDB,
- AANDL,
- AANDW,
- AARPL,
- ABOUNDL,
- ABOUNDW,
- ABSFL,
- ABSFW,
- ABSRL,
- ABSRW,
- ABTL,
- ABTW,
- ABTCL,
- ABTCW,
- ABTRL,
- ABTRW,
- ABTSL,
- ABTSW,
- ABYTE,
- ACALL,
- ACLC,
- ACLD,
- ACLI,
- ACLTS,
- ACMC,
- ACMPB,
- ACMPL,
- ACMPW,
- ACMPSB,
- ACMPSL,
- ACMPSW,
- ADAA,
- ADAS,
- ADATA,
- ADECB,
- ADECL,
- ADECQ,
- ADECW,
- ADIVB,
- ADIVL,
- ADIVW,
- AENTER,
- AGLOBL,
- AGOK,
- AHISTORY,
- AHLT,
- AIDIVB,
- AIDIVL,
- AIDIVW,
- AIMULB,
- AIMULL,
- AIMULW,
- AINB,
- AINL,
- AINW,
- AINCB,
- AINCL,
- AINCQ,
- AINCW,
- AINSB,
- AINSL,
- AINSW,
- AINT,
- AINTO,
- AIRETL,
- AIRETW,
- AJCC,
- AJCS,
- AJCXZ,
- AJEQ,
- AJGE,
- AJGT,
- AJHI,
- AJLE,
- AJLS,
- AJLT,
- AJMI,
- AJMP,
- AJNE,
- AJOC,
- AJOS,
- AJPC,
- AJPL,
- AJPS,
- ALAHF,
- ALARL,
- ALARW,
- ALEAL,
- ALEAW,
- ALEAVEL,
- ALEAVEW,
- ALOCK,
- ALODSB,
- ALODSL,
- ALODSW,
- ALONG,
- ALOOP,
- ALOOPEQ,
- ALOOPNE,
- ALSLL,
- ALSLW,
- AMOVB,
- AMOVL,
- AMOVW,
- AMOVBLSX,
- AMOVBLZX,
- AMOVBQSX,
- AMOVBQZX,
- AMOVBWSX,
- AMOVBWZX,
- AMOVWLSX,
- AMOVWLZX,
- AMOVWQSX,
- AMOVWQZX,
- AMOVSB,
- AMOVSL,
- AMOVSW,
- AMULB,
- AMULL,
- AMULW,
- ANAME,
- ANEGB,
- ANEGL,
- ANEGW,
- ANOP,
- ANOTB,
- ANOTL,
- ANOTW,
- AORB,
- AORL,
- AORW,
- AOUTB,
- AOUTL,
- AOUTW,
- AOUTSB,
- AOUTSL,
- AOUTSW,
- APOPAL,
- APOPAW,
- APOPFL,
- APOPFW,
- APOPL,
- APOPW,
- APUSHAL,
- APUSHAW,
- APUSHFL,
- APUSHFW,
- APUSHL,
- APUSHW,
- ARCLB,
- ARCLL,
- ARCLW,
- ARCRB,
- ARCRL,
- ARCRW,
- AREP,
- AREPN,
- ARET,
- AROLB,
- AROLL,
- AROLW,
- ARORB,
- ARORL,
- ARORW,
- ASAHF,
- ASALB,
- ASALL,
- ASALW,
- ASARB,
- ASARL,
- ASARW,
- ASBBB,
- ASBBL,
- ASBBW,
- ASCASB,
- ASCASL,
- ASCASW,
- ASETCC,
- ASETCS,
- ASETEQ,
- ASETGE,
- ASETGT,
- ASETHI,
- ASETLE,
- ASETLS,
- ASETLT,
- ASETMI,
- ASETNE,
- ASETOC,
- ASETOS,
- ASETPC,
- ASETPL,
- ASETPS,
- ACDQ,
- ACWD,
- ASHLB,
- ASHLL,
- ASHLW,
- ASHRB,
- ASHRL,
- ASHRW,
- ASTC,
- ASTD,
- ASTI,
- ASTOSB,
- ASTOSL,
- ASTOSW,
- ASUBB,
- ASUBL,
- ASUBW,
- ASYSCALL,
- ATESTB,
- ATESTL,
- ATESTW,
- ATEXT,
- AVERR,
- AVERW,
- AWAIT,
- AWORD,
- AXCHGB,
- AXCHGL,
- AXCHGW,
- AXLAT,
- AXORB,
- AXORL,
- AXORW,
- AFMOVB,
- AFMOVBP,
- AFMOVD,
- AFMOVDP,
- AFMOVF,
- AFMOVFP,
- AFMOVL,
- AFMOVLP,
- AFMOVV,
- AFMOVVP,
- AFMOVW,
- AFMOVWP,
- AFMOVX,
- AFMOVXP,
- AFCOMB,
- AFCOMBP,
- AFCOMD,
- AFCOMDP,
- AFCOMDPP,
- AFCOMF,
- AFCOMFP,
- AFCOML,
- AFCOMLP,
- AFCOMW,
- AFCOMWP,
- AFUCOM,
- AFUCOMP,
- AFUCOMPP,
- AFADDDP,
- AFADDW,
- AFADDL,
- AFADDF,
- AFADDD,
- AFMULDP,
- AFMULW,
- AFMULL,
- AFMULF,
- AFMULD,
- AFSUBDP,
- AFSUBW,
- AFSUBL,
- AFSUBF,
- AFSUBD,
- AFSUBRDP,
- AFSUBRW,
- AFSUBRL,
- AFSUBRF,
- AFSUBRD,
- AFDIVDP,
- AFDIVW,
- AFDIVL,
- AFDIVF,
- AFDIVD,
- AFDIVRDP,
- AFDIVRW,
- AFDIVRL,
- AFDIVRF,
- AFDIVRD,
- AFXCHD,
- AFFREE,
- AFLDCW,
- AFLDENV,
- AFRSTOR,
- AFSAVE,
- AFSTCW,
- AFSTENV,
- AFSTSW,
- AF2XM1,
- AFABS,
- AFCHS,
- AFCLEX,
- AFCOS,
- AFDECSTP,
- AFINCSTP,
- AFINIT,
- AFLD1,
- AFLDL2E,
- AFLDL2T,
- AFLDLG2,
- AFLDLN2,
- AFLDPI,
- AFLDZ,
- AFNOP,
- AFPATAN,
- AFPREM,
- AFPREM1,
- AFPTAN,
- AFRNDINT,
- AFSCALE,
- AFSIN,
- AFSINCOS,
- AFSQRT,
- AFTST,
- AFXAM,
- AFXTRACT,
- AFYL2X,
- AFYL2XP1,
- AEND,
- ADYNT,
- AINIT,
- ASIGNAME,
- /* extra 32-bit operations */
- ACMPXCHGB,
- ACMPXCHGL,
- ACMPXCHGW,
- ACMPXCHG8B,
- ACPUID,
- AINVD,
- AINVLPG,
- ALFENCE,
- AMFENCE,
- AMOVNTIL,
- ARDMSR,
- ARDPMC,
- ARDTSC,
- ARSM,
- ASFENCE,
- ASYSRET,
- AWBINVD,
- AWRMSR,
- AXADDB,
- AXADDL,
- AXADDW,
- /* conditional move */
- ACMOVLCC,
- ACMOVLCS,
- ACMOVLEQ,
- ACMOVLGE,
- ACMOVLGT,
- ACMOVLHI,
- ACMOVLLE,
- ACMOVLLS,
- ACMOVLLT,
- ACMOVLMI,
- ACMOVLNE,
- ACMOVLOC,
- ACMOVLOS,
- ACMOVLPC,
- ACMOVLPL,
- ACMOVLPS,
- ACMOVQCC,
- ACMOVQCS,
- ACMOVQEQ,
- ACMOVQGE,
- ACMOVQGT,
- ACMOVQHI,
- ACMOVQLE,
- ACMOVQLS,
- ACMOVQLT,
- ACMOVQMI,
- ACMOVQNE,
- ACMOVQOC,
- ACMOVQOS,
- ACMOVQPC,
- ACMOVQPL,
- ACMOVQPS,
- ACMOVWCC,
- ACMOVWCS,
- ACMOVWEQ,
- ACMOVWGE,
- ACMOVWGT,
- ACMOVWHI,
- ACMOVWLE,
- ACMOVWLS,
- ACMOVWLT,
- ACMOVWMI,
- ACMOVWNE,
- ACMOVWOC,
- ACMOVWOS,
- ACMOVWPC,
- ACMOVWPL,
- ACMOVWPS,
- /* 64-bit */
- AADCQ,
- AADDQ,
- AANDQ,
- ABSFQ,
- ABSRQ,
- ABTCQ,
- ABTQ,
- ABTRQ,
- ABTSQ,
- ACMPQ,
- ACMPSQ,
- ACMPXCHGQ,
- ACQO,
- ADIVQ,
- AIDIVQ,
- AIMULQ,
- AIRETQ,
- ALEAQ,
- ALEAVEQ,
- ALODSQ,
- AMOVQ,
- AMOVLQSX,
- AMOVLQZX,
- AMOVNTIQ,
- AMOVSQ,
- AMULQ,
- ANEGQ,
- ANOTQ,
- AORQ,
- APOPFQ,
- APOPQ,
- APUSHFQ,
- APUSHQ,
- ARCLQ,
- ARCRQ,
- AROLQ,
- ARORQ,
- AQUAD,
- ASALQ,
- ASARQ,
- ASBBQ,
- ASCASQ,
- ASHLQ,
- ASHRQ,
- ASTOSQ,
- ASUBQ,
- ATESTQ,
- AXADDQ,
- AXCHGQ,
- AXORQ,
- /* media */
- AADDPD,
- AADDPS,
- AADDSD,
- AADDSS,
- AANDNPD,
- AANDNPS,
- AANDPD,
- AANDPS,
- ACMPPD,
- ACMPPS,
- ACMPSD,
- ACMPSS,
- ACOMISD,
- ACOMISS,
- ACVTPD2PL,
- ACVTPD2PS,
- ACVTPL2PD,
- ACVTPL2PS,
- ACVTPS2PD,
- ACVTPS2PL,
- ACVTSD2SL,
- ACVTSD2SQ,
- ACVTSD2SS,
- ACVTSL2SD,
- ACVTSL2SS,
- ACVTSQ2SD,
- ACVTSQ2SS,
- ACVTSS2SD,
- ACVTSS2SL,
- ACVTSS2SQ,
- ACVTTPD2PL,
- ACVTTPS2PL,
- ACVTTSD2SL,
- ACVTTSD2SQ,
- ACVTTSS2SL,
- ACVTTSS2SQ,
- ADIVPD,
- ADIVPS,
- ADIVSD,
- ADIVSS,
- AEMMS,
- AFXRSTOR,
- AFXRSTOR64,
- AFXSAVE,
- AFXSAVE64,
- ALDMXCSR,
- AMASKMOVOU,
- AMASKMOVQ,
- AMAXPD,
- AMAXPS,
- AMAXSD,
- AMAXSS,
- AMINPD,
- AMINPS,
- AMINSD,
- AMINSS,
- AMOVAPD,
- AMOVAPS,
- AMOVOU,
- AMOVHLPS,
- AMOVHPD,
- AMOVHPS,
- AMOVLHPS,
- AMOVLPD,
- AMOVLPS,
- AMOVMSKPD,
- AMOVMSKPS,
- AMOVNTO,
- AMOVNTPD,
- AMOVNTPS,
- AMOVNTQ,
- AMOVO,
- AMOVQOZX,
- AMOVSD,
- AMOVSS,
- AMOVUPD,
- AMOVUPS,
- AMULPD,
- AMULPS,
- AMULSD,
- AMULSS,
- AORPD,
- AORPS,
- APACKSSLW,
- APACKSSWB,
- APACKUSWB,
- APADDB,
- APADDL,
- APADDQ,
- APADDSB,
- APADDSW,
- APADDUSB,
- APADDUSW,
- APADDW,
- APANDB,
- APANDL,
- APANDSB,
- APANDSW,
- APANDUSB,
- APANDUSW,
- APANDW,
- APAND,
- APANDN,
- APAVGB,
- APAVGW,
- APCMPEQB,
- APCMPEQL,
- APCMPEQW,
- APCMPGTB,
- APCMPGTL,
- APCMPGTW,
- APEXTRW,
- APFACC,
- APFADD,
- APFCMPEQ,
- APFCMPGE,
- APFCMPGT,
- APFMAX,
- APFMIN,
- APFMUL,
- APFNACC,
- APFPNACC,
- APFRCP,
- APFRCPIT1,
- APFRCPI2T,
- APFRSQIT1,
- APFRSQRT,
- APFSUB,
- APFSUBR,
- APINSRW,
- APMADDWL,
- APMAXSW,
- APMAXUB,
- APMINSW,
- APMINUB,
- APMOVMSKB,
- APMULHRW,
- APMULHUW,
- APMULHW,
- APMULLW,
- APMULULQ,
- APOR,
- APSADBW,
- APSHUFHW,
- APSHUFL,
- APSHUFLW,
- APSHUFW,
- APSLLO,
- APSLLL,
- APSLLQ,
- APSLLW,
- APSRAL,
- APSRAW,
- APSRLO,
- APSRLL,
- APSRLQ,
- APSRLW,
- APSUBB,
- APSUBL,
- APSUBQ,
- APSUBSB,
- APSUBSW,
- APSUBUSB,
- APSUBUSW,
- APSUBW,
- APSWAPL,
- APUNPCKHBW,
- APUNPCKHLQ,
- APUNPCKHQDQ,
- APUNPCKHWL,
- APUNPCKLBW,
- APUNPCKLLQ,
- APUNPCKLQDQ,
- APUNPCKLWL,
- APXOR,
- ARCPPS,
- ARCPSS,
- ARSQRTPS,
- ARSQRTSS,
- ASHUFPD,
- ASHUFPS,
- ASQRTPD,
- ASQRTPS,
- ASQRTSD,
- ASQRTSS,
- ASTMXCSR,
- ASUBPD,
- ASUBPS,
- ASUBSD,
- ASUBSS,
- AUCOMISD,
- AUCOMISS,
- AUNPCKHPD,
- AUNPCKHPS,
- AUNPCKLPD,
- AUNPCKLPS,
- AXORPD,
- AXORPS,
- APF2IW,
- APF2IL,
- API2FW,
- API2FL,
- ARETFW,
- ARETFL,
- ARETFQ,
- ASWAPGS,
- AMODE,
- ALAST
- };
- enum
- {
- D_AL = 0,
- D_CL,
- D_DL,
- D_BL,
- D_SPB,
- D_BPB,
- D_SIB,
- D_DIB,
- D_R8B,
- D_R9B,
- D_R10B,
- D_R11B,
- D_R12B,
- D_R13B,
- D_R14B,
- D_R15B,
- D_AX = 16,
- D_CX,
- D_DX,
- D_BX,
- D_SP,
- D_BP,
- D_SI,
- D_DI,
- D_R8,
- D_R9,
- D_R10,
- D_R11,
- D_R12,
- D_R13,
- D_R14,
- D_R15,
- D_AH = 32,
- D_CH,
- D_DH,
- D_BH,
- D_F0 = 36,
- D_M0 = 44,
- D_X0 = 52,
- D_CS = 68,
- D_SS,
- D_DS,
- D_ES,
- D_FS,
- D_GS,
- D_GDTR, /* global descriptor table register */
- D_IDTR, /* interrupt descriptor table register */
- D_LDTR, /* local descriptor table register */
- D_MSW, /* machine status word */
- D_TASK, /* task register */
- D_CR = 79,
- D_DR = 95,
- D_TR = 103,
- D_NONE = 111,
- D_BRANCH = 112,
- D_EXTERN = 113,
- D_STATIC = 114,
- D_AUTO = 115,
- D_PARAM = 116,
- D_CONST = 117,
- D_FCONST = 118,
- D_SCONST = 119,
- D_ADDR = 120,
- D_FILE,
- D_FILE1,
- D_INDIR, /* additive */
- T_TYPE = 1<<0,
- T_INDEX = 1<<1,
- T_OFFSET = 1<<2,
- T_FCONST = 1<<3,
- T_SYM = 1<<4,
- T_SCONST = 1<<5,
- T_64 = 1<<6,
- REGARG = D_BP, /* MIGHT CHANGE */
- REGRET = D_AX,
- FREGRET = D_X0,
- REGSP = D_SP,
- REGTMP = D_DI,
- REGEXT = D_R15, /* compiler allocates external registers R15 down */
- FREGMIN = D_X0+5, /* first register variable */
- FREGEXT = D_X0+7 /* first external register */
- };
- /*
- * this is the ranlib header
- */
- #define SYMDEF "__.SYMDEF"
- /*
- * this is the simulated IEEE floating point
- */
- typedef struct ieee Ieee;
- struct ieee
- {
- long l; /* contains ls-man 0xffffffff */
- long h; /* contains sign 0x80000000
- exp 0x7ff00000
- ms-man 0x000fffff */
- };
|