1*f8bc6aafSDavid du Colombier #define NSNAME 8 2*f8bc6aafSDavid du Colombier #define NSYM 50 3*f8bc6aafSDavid du Colombier #define NREG 32 4*f8bc6aafSDavid du Colombier 5*f8bc6aafSDavid du Colombier #define NOPROF (1<<0) 6*f8bc6aafSDavid du Colombier #define DUPOK (1<<1) 7*f8bc6aafSDavid du Colombier 8*f8bc6aafSDavid du Colombier #define REGZERO 0 9*f8bc6aafSDavid du Colombier #define REGRET 1 10*f8bc6aafSDavid du Colombier #define REGARG 1 11*f8bc6aafSDavid du Colombier /* compiler allocates R1 up as temps */ 12*f8bc6aafSDavid du Colombier /* compiler allocates register variables R3-R23 */ 13*f8bc6aafSDavid du Colombier #define REGEXT 25 14*f8bc6aafSDavid du Colombier /* compiler allocates external registers R25 down */ 15*f8bc6aafSDavid du Colombier /* dont use R26 R27 */ 16*f8bc6aafSDavid du Colombier #define REGTMP 28 17*f8bc6aafSDavid du Colombier #define REGSP 29 18*f8bc6aafSDavid du Colombier #define REGSB 30 19*f8bc6aafSDavid du Colombier #define REGLINK 31 20*f8bc6aafSDavid du Colombier 21*f8bc6aafSDavid du Colombier #define FREGRET 0 22*f8bc6aafSDavid du Colombier /* compiler allocates register variables F4-F22 */ 23*f8bc6aafSDavid du Colombier /* compiler allocates external registers F22 down */ 24*f8bc6aafSDavid du Colombier #define FREGEXT 22 25*f8bc6aafSDavid du Colombier #define FREGZERO 24 /* both float and double */ 26*f8bc6aafSDavid du Colombier #define FREGHALF 26 /* double */ 27*f8bc6aafSDavid du Colombier #define FREGONE 28 /* double */ 28*f8bc6aafSDavid du Colombier #define FREGTWO 30 /* double */ 29*f8bc6aafSDavid du Colombier 30*f8bc6aafSDavid du Colombier enum as 31*f8bc6aafSDavid du Colombier { 32*f8bc6aafSDavid du Colombier AXXX, 33*f8bc6aafSDavid du Colombier 34*f8bc6aafSDavid du Colombier AABSD, 35*f8bc6aafSDavid du Colombier AABSF, 36*f8bc6aafSDavid du Colombier AABSW, 37*f8bc6aafSDavid du Colombier AADD, 38*f8bc6aafSDavid du Colombier AADDD, 39*f8bc6aafSDavid du Colombier AADDF, 40*f8bc6aafSDavid du Colombier AADDU, 41*f8bc6aafSDavid du Colombier AADDW, 42*f8bc6aafSDavid du Colombier AAND, 43*f8bc6aafSDavid du Colombier ABEQ, 44*f8bc6aafSDavid du Colombier ABFPF, 45*f8bc6aafSDavid du Colombier ABFPT, 46*f8bc6aafSDavid du Colombier ABGEZ, 47*f8bc6aafSDavid du Colombier ABGEZAL, 48*f8bc6aafSDavid du Colombier ABGTZ, 49*f8bc6aafSDavid du Colombier ABLEZ, 50*f8bc6aafSDavid du Colombier ABLTZ, 51*f8bc6aafSDavid du Colombier ABLTZAL, 52*f8bc6aafSDavid du Colombier ABNE, 53*f8bc6aafSDavid du Colombier ABREAK, 54*f8bc6aafSDavid du Colombier ACMPEQD, 55*f8bc6aafSDavid du Colombier ACMPEQF, 56*f8bc6aafSDavid du Colombier ACMPGED, 57*f8bc6aafSDavid du Colombier ACMPGEF, 58*f8bc6aafSDavid du Colombier ACMPGTD, 59*f8bc6aafSDavid du Colombier ACMPGTF, 60*f8bc6aafSDavid du Colombier ADATA, 61*f8bc6aafSDavid du Colombier ADIV, 62*f8bc6aafSDavid du Colombier ADIVD, 63*f8bc6aafSDavid du Colombier ADIVF, 64*f8bc6aafSDavid du Colombier ADIVU, 65*f8bc6aafSDavid du Colombier ADIVW, 66*f8bc6aafSDavid du Colombier AGLOBL, 67*f8bc6aafSDavid du Colombier AGOK, 68*f8bc6aafSDavid du Colombier AHISTORY, 69*f8bc6aafSDavid du Colombier AJAL, 70*f8bc6aafSDavid du Colombier AJMP, 71*f8bc6aafSDavid du Colombier AMOVB, 72*f8bc6aafSDavid du Colombier AMOVBU, 73*f8bc6aafSDavid du Colombier AMOVD, 74*f8bc6aafSDavid du Colombier AMOVDF, 75*f8bc6aafSDavid du Colombier AMOVDW, 76*f8bc6aafSDavid du Colombier AMOVF, 77*f8bc6aafSDavid du Colombier AMOVFD, 78*f8bc6aafSDavid du Colombier AMOVFW, 79*f8bc6aafSDavid du Colombier AMOVH, 80*f8bc6aafSDavid du Colombier AMOVHU, 81*f8bc6aafSDavid du Colombier AMOVW, 82*f8bc6aafSDavid du Colombier AMOVWD, 83*f8bc6aafSDavid du Colombier AMOVWF, 84*f8bc6aafSDavid du Colombier AMOVWL, 85*f8bc6aafSDavid du Colombier AMOVWR, 86*f8bc6aafSDavid du Colombier AMUL, 87*f8bc6aafSDavid du Colombier AMULD, 88*f8bc6aafSDavid du Colombier AMULF, 89*f8bc6aafSDavid du Colombier AMULU, 90*f8bc6aafSDavid du Colombier AMULW, 91*f8bc6aafSDavid du Colombier ANAME32, 92*f8bc6aafSDavid du Colombier ANAME, 93*f8bc6aafSDavid du Colombier ANEGD, 94*f8bc6aafSDavid du Colombier ANEGF, 95*f8bc6aafSDavid du Colombier ANEGW, 96*f8bc6aafSDavid du Colombier ANOP, 97*f8bc6aafSDavid du Colombier ANOR, 98*f8bc6aafSDavid du Colombier AOR, 99*f8bc6aafSDavid du Colombier AREM, 100*f8bc6aafSDavid du Colombier AREMU, 101*f8bc6aafSDavid du Colombier ARET, 102*f8bc6aafSDavid du Colombier ARFE, 103*f8bc6aafSDavid du Colombier ASGT, 104*f8bc6aafSDavid du Colombier ASGTU, 105*f8bc6aafSDavid du Colombier ASLL, 106*f8bc6aafSDavid du Colombier ASRA, 107*f8bc6aafSDavid du Colombier ASRL, 108*f8bc6aafSDavid du Colombier ASUB, 109*f8bc6aafSDavid du Colombier ASUBD, 110*f8bc6aafSDavid du Colombier ASUBF, 111*f8bc6aafSDavid du Colombier ASUBU, 112*f8bc6aafSDavid du Colombier ASUBW, 113*f8bc6aafSDavid du Colombier ASYSCALL, 114*f8bc6aafSDavid du Colombier ATEXT, 115*f8bc6aafSDavid du Colombier ATLBP, 116*f8bc6aafSDavid du Colombier ATLBR, 117*f8bc6aafSDavid du Colombier ATLBWI, 118*f8bc6aafSDavid du Colombier ATLBWR, 119*f8bc6aafSDavid du Colombier AWORD, 120*f8bc6aafSDavid du Colombier AXOR, 121*f8bc6aafSDavid du Colombier 122*f8bc6aafSDavid du Colombier AEND, 123*f8bc6aafSDavid du Colombier 124*f8bc6aafSDavid du Colombier AMOVV, 125*f8bc6aafSDavid du Colombier AMOVVL, 126*f8bc6aafSDavid du Colombier AMOVVR, 127*f8bc6aafSDavid du Colombier ASLLV, 128*f8bc6aafSDavid du Colombier ASRAV, 129*f8bc6aafSDavid du Colombier ASRLV, 130*f8bc6aafSDavid du Colombier ADIVV, 131*f8bc6aafSDavid du Colombier ADIVVU, 132*f8bc6aafSDavid du Colombier AREMV, 133*f8bc6aafSDavid du Colombier AREMVU, 134*f8bc6aafSDavid du Colombier AMULV, 135*f8bc6aafSDavid du Colombier AMULVU, 136*f8bc6aafSDavid du Colombier AADDV, 137*f8bc6aafSDavid du Colombier AADDVU, 138*f8bc6aafSDavid du Colombier ASUBV, 139*f8bc6aafSDavid du Colombier ASUBVU, 140*f8bc6aafSDavid du Colombier 141*f8bc6aafSDavid du Colombier ADYNT, 142*f8bc6aafSDavid du Colombier AINIT, 143*f8bc6aafSDavid du Colombier 144*f8bc6aafSDavid du Colombier ABCASE, 145*f8bc6aafSDavid du Colombier ACASE, 146*f8bc6aafSDavid du Colombier 147*f8bc6aafSDavid du Colombier ATRUNCFV, 148*f8bc6aafSDavid du Colombier ATRUNCDV, 149*f8bc6aafSDavid du Colombier ATRUNCFW, 150*f8bc6aafSDavid du Colombier ATRUNCDW, 151*f8bc6aafSDavid du Colombier AMOVWU, 152*f8bc6aafSDavid du Colombier AMOVFV, 153*f8bc6aafSDavid du Colombier AMOVDV, 154*f8bc6aafSDavid du Colombier AMOVVF, 155*f8bc6aafSDavid du Colombier AMOVVD, 156*f8bc6aafSDavid du Colombier 157*f8bc6aafSDavid du Colombier ASIGNAME, 158*f8bc6aafSDavid du Colombier 159*f8bc6aafSDavid du Colombier ALAST, 160*f8bc6aafSDavid du Colombier }; 161*f8bc6aafSDavid du Colombier 162*f8bc6aafSDavid du Colombier /* type/name */ 163*f8bc6aafSDavid du Colombier #define D_GOK 0 164*f8bc6aafSDavid du Colombier #define D_NONE 1 165*f8bc6aafSDavid du Colombier 166*f8bc6aafSDavid du Colombier /* type */ 167*f8bc6aafSDavid du Colombier #define D_BRANCH (D_NONE+1) 168*f8bc6aafSDavid du Colombier #define D_OREG (D_NONE+2) 169*f8bc6aafSDavid du Colombier #define D_EXTERN (D_NONE+3) /* name */ 170*f8bc6aafSDavid du Colombier #define D_STATIC (D_NONE+4) /* name */ 171*f8bc6aafSDavid du Colombier #define D_AUTO (D_NONE+5) /* name */ 172*f8bc6aafSDavid du Colombier #define D_PARAM (D_NONE+6) /* name */ 173*f8bc6aafSDavid du Colombier #define D_CONST (D_NONE+7) 174*f8bc6aafSDavid du Colombier #define D_FCONST (D_NONE+8) 175*f8bc6aafSDavid du Colombier #define D_SCONST (D_NONE+9) 176*f8bc6aafSDavid du Colombier #define D_HI (D_NONE+10) 177*f8bc6aafSDavid du Colombier #define D_LO (D_NONE+11) 178*f8bc6aafSDavid du Colombier #define D_REG (D_NONE+12) 179*f8bc6aafSDavid du Colombier #define D_FREG (D_NONE+13) 180*f8bc6aafSDavid du Colombier #define D_FCREG (D_NONE+14) 181*f8bc6aafSDavid du Colombier #define D_MREG (D_NONE+15) 182*f8bc6aafSDavid du Colombier #define D_FILE (D_NONE+16) 183*f8bc6aafSDavid du Colombier #define D_OCONST (D_NONE+17) 184*f8bc6aafSDavid du Colombier #define D_FILE1 (D_NONE+18) 185*f8bc6aafSDavid du Colombier #define D_VCONST (D_NONE+19) 186*f8bc6aafSDavid du Colombier 187*f8bc6aafSDavid du Colombier /* 188*f8bc6aafSDavid du Colombier * this is the ranlib header 189*f8bc6aafSDavid du Colombier */ 190*f8bc6aafSDavid du Colombier #define SYMDEF "__.SYMDEF" 191*f8bc6aafSDavid du Colombier 192*f8bc6aafSDavid du Colombier /* 193*f8bc6aafSDavid du Colombier * this is the simulated IEEE floating point 194*f8bc6aafSDavid du Colombier */ 195*f8bc6aafSDavid du Colombier typedef struct ieee Ieee; 196*f8bc6aafSDavid du Colombier struct ieee 197*f8bc6aafSDavid du Colombier { 198*f8bc6aafSDavid du Colombier long l; /* contains ls-man 0xffffffff */ 199*f8bc6aafSDavid du Colombier long h; /* contains sign 0x80000000 200*f8bc6aafSDavid du Colombier exp 0x7ff00000 201*f8bc6aafSDavid du Colombier ms-man 0x000fffff */ 202*f8bc6aafSDavid du Colombier }; 203