#define NSNAME 8 #define NSYM 50 #define NREG 32 #define NOPROF (1<<0) #define DUPOK (1<<1) #define REGZERO 0 #define REGRET 1 #define REGARG 1 /* compiler allocates R1 up as temps */ /* compiler allocates register variables R3-R23 */ #define REGEXT 25 /* compiler allocates external registers R25 down */ /* dont use R26 R27 */ #define REGTMP 28 #define REGSP 29 #define REGSB 30 #define REGLINK 31 #define FREGRET 0 /* compiler allocates register variables F4-F22 */ /* compiler allocates external registers F22 down */ #define FREGEXT 22 #define FREGZERO 24 /* both float and double */ #define FREGHALF 26 /* double */ #define FREGONE 28 /* double */ #define FREGTWO 30 /* double */ enum as { AXXX, AABSD, AABSF, AABSW, AADD, AADDD, AADDF, AADDU, AADDW, AAND, ABEQ, ABFPF, ABFPT, ABGEZ, ABGEZAL, ABGTZ, ABLEZ, ABLTZ, ABLTZAL, ABNE, ABREAK, ACMPEQD, ACMPEQF, ACMPGED, ACMPGEF, ACMPGTD, ACMPGTF, ADATA, ADIV, ADIVD, ADIVF, ADIVU, ADIVW, AGLOBL, AGOK, AHISTORY, AJAL, AJMP, AMOVB, AMOVBU, AMOVD, AMOVDF, AMOVDW, AMOVF, AMOVFD, AMOVFW, AMOVH, AMOVHU, AMOVW, AMOVWD, AMOVWF, AMOVWL, AMOVWR, AMUL, AMULD, AMULF, AMULU, AMULW, ANAME, ANEGD, ANEGF, ANEGW, ANOP, ANOR, AOR, AREM, AREMU, ARET, ARFE, ASGT, ASGTU, ASLL, ASRA, ASRL, ASUB, ASUBD, ASUBF, ASUBU, ASUBW, ASYSCALL, ATEXT, ATLBP, ATLBR, ATLBWI, ATLBWR, AWORD, AXOR, AEND, AMOVV, AMOVVL, AMOVVR, ASLLV, ASRAV, ASRLV, ADIVV, ADIVVU, AREMV, AREMVU, AMULV, AMULVU, AADDV, AADDVU, ASUBV, ASUBVU, ADYNT, AINIT, ABCASE, ACASE, ATRUNCFV, ATRUNCDV, ATRUNCFW, ATRUNCDW, AMOVWU, AMOVFV, AMOVDV, AMOVVF, AMOVVD, ASIGNAME, ALAST, }; /* type/name */ #define D_GOK 0 #define D_NONE 1 /* type */ #define D_BRANCH (D_NONE+1) #define D_OREG (D_NONE+2) #define D_EXTERN (D_NONE+3) /* name */ #define D_STATIC (D_NONE+4) /* name */ #define D_AUTO (D_NONE+5) /* name */ #define D_PARAM (D_NONE+6) /* name */ #define D_CONST (D_NONE+7) #define D_FCONST (D_NONE+8) #define D_SCONST (D_NONE+9) #define D_HI (D_NONE+10) #define D_LO (D_NONE+11) #define D_REG (D_NONE+12) #define D_FREG (D_NONE+13) #define D_FCREG (D_NONE+14) #define D_MREG (D_NONE+15) #define D_FILE (D_NONE+16) #define D_OCONST (D_NONE+17) #define D_FILE1 (D_NONE+18) #define D_VCONST (D_NONE+19) /* * 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 */ };