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