#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, AMOVQL, 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 */ };