1*473d4f4bSDavid du Colombier #define NSNAME 8 2*473d4f4bSDavid du Colombier #define NSYM 50 3*473d4f4bSDavid du Colombier #define NREG 32 4*473d4f4bSDavid du Colombier #define NOPROF (1<<0) 5*473d4f4bSDavid du Colombier #define DUPOK (1<<1) 6*473d4f4bSDavid du Colombier 7*473d4f4bSDavid du Colombier enum 8*473d4f4bSDavid du Colombier { 9*473d4f4bSDavid du Colombier REGRET = 0, /* return register and first temp, grows++ */ 10*473d4f4bSDavid du Colombier REGARG = 0, /* first arg passed in */ 11*473d4f4bSDavid du Colombier REGEXT = 15, /* first external register, grows-- */ 12*473d4f4bSDavid du Colombier 13*473d4f4bSDavid du Colombier REGLINK = 26, /* subroutine linkage */ 14*473d4f4bSDavid du Colombier REGTMP = 27, /* used by the loader */ 15*473d4f4bSDavid du Colombier REGTMP2 = 28, /* used by the loader */ 16*473d4f4bSDavid du Colombier REGSB = 29, /* static pointer */ 17*473d4f4bSDavid du Colombier REGSP = 30, /* stack pointer */ 18*473d4f4bSDavid du Colombier REGZERO = 31, /* always zero */ 19*473d4f4bSDavid du Colombier 20*473d4f4bSDavid du Colombier FREGRET = 0, 21*473d4f4bSDavid du Colombier FREGEXT = 27, /* first external register */ 22*473d4f4bSDavid du Colombier FREGHALF = 28, /* double */ 23*473d4f4bSDavid du Colombier FREGONE = 29, /* double */ 24*473d4f4bSDavid du Colombier FREGTWO = 30, /* double */ 25*473d4f4bSDavid du Colombier FREGZERO = 31, /* both float and double */ 26*473d4f4bSDavid du Colombier }; 27*473d4f4bSDavid du Colombier 28*473d4f4bSDavid du Colombier enum as 29*473d4f4bSDavid du Colombier { 30*473d4f4bSDavid du Colombier AXXX, 31*473d4f4bSDavid du Colombier AGOK, 32*473d4f4bSDavid du Colombier ATEXT, 33*473d4f4bSDavid du Colombier ADATA, 34*473d4f4bSDavid du Colombier AGLOBL, 35*473d4f4bSDavid du Colombier AHISTORY, 36*473d4f4bSDavid du Colombier ANAME, 37*473d4f4bSDavid du Colombier AWORD, 38*473d4f4bSDavid du Colombier 39*473d4f4bSDavid du Colombier ANOP, 40*473d4f4bSDavid du Colombier 41*473d4f4bSDavid du Colombier AMOVL, 42*473d4f4bSDavid du Colombier AMOVLU, 43*473d4f4bSDavid du Colombier AMOVQ, 44*473d4f4bSDavid du Colombier AMOVQU, 45*473d4f4bSDavid du Colombier AMOVS, 46*473d4f4bSDavid du Colombier AMOVT, 47*473d4f4bSDavid du Colombier 48*473d4f4bSDavid du Colombier AMOVB, 49*473d4f4bSDavid du Colombier AMOVBU, 50*473d4f4bSDavid du Colombier AMOVW, 51*473d4f4bSDavid du Colombier AMOVWU, 52*473d4f4bSDavid du Colombier 53*473d4f4bSDavid du Colombier AMOVA, 54*473d4f4bSDavid du Colombier AMOVAH, 55*473d4f4bSDavid du Colombier 56*473d4f4bSDavid du Colombier AMOVLL, 57*473d4f4bSDavid du Colombier AMOVQL, 58*473d4f4bSDavid du Colombier AMOVLC, 59*473d4f4bSDavid du Colombier AMOVQC, 60*473d4f4bSDavid du Colombier 61*473d4f4bSDavid du Colombier AMOVQP, 62*473d4f4bSDavid du Colombier AMOVLP, 63*473d4f4bSDavid du Colombier 64*473d4f4bSDavid du Colombier AADDL, 65*473d4f4bSDavid du Colombier AADDLV, 66*473d4f4bSDavid du Colombier AADDQ, 67*473d4f4bSDavid du Colombier AADDQV, 68*473d4f4bSDavid du Colombier AS4ADDL, 69*473d4f4bSDavid du Colombier AS4ADDQ, 70*473d4f4bSDavid du Colombier AS8ADDL, 71*473d4f4bSDavid du Colombier AS8ADDQ, 72*473d4f4bSDavid du Colombier AS4SUBL, 73*473d4f4bSDavid du Colombier AS4SUBQ, 74*473d4f4bSDavid du Colombier AS8SUBL, 75*473d4f4bSDavid du Colombier AS8SUBQ, 76*473d4f4bSDavid du Colombier ASUBL, 77*473d4f4bSDavid du Colombier ASUBLV, 78*473d4f4bSDavid du Colombier ASUBQ, 79*473d4f4bSDavid du Colombier ASUBQV, 80*473d4f4bSDavid du Colombier 81*473d4f4bSDavid du Colombier ACMPEQ, 82*473d4f4bSDavid du Colombier ACMPGT, 83*473d4f4bSDavid du Colombier ACMPGE, 84*473d4f4bSDavid du Colombier ACMPUGT, 85*473d4f4bSDavid du Colombier ACMPUGE, 86*473d4f4bSDavid du Colombier ACMPBLE, 87*473d4f4bSDavid du Colombier 88*473d4f4bSDavid du Colombier AAND, 89*473d4f4bSDavid du Colombier AANDNOT, 90*473d4f4bSDavid du Colombier AOR, 91*473d4f4bSDavid du Colombier AORNOT, 92*473d4f4bSDavid du Colombier AXOR, 93*473d4f4bSDavid du Colombier AXORNOT, 94*473d4f4bSDavid du Colombier 95*473d4f4bSDavid du Colombier ACMOVEQ, 96*473d4f4bSDavid du Colombier ACMOVNE, 97*473d4f4bSDavid du Colombier ACMOVLT, 98*473d4f4bSDavid du Colombier ACMOVGE, 99*473d4f4bSDavid du Colombier ACMOVLE, 100*473d4f4bSDavid du Colombier ACMOVGT, 101*473d4f4bSDavid du Colombier ACMOVLBC, 102*473d4f4bSDavid du Colombier ACMOVLBS, 103*473d4f4bSDavid du Colombier 104*473d4f4bSDavid du Colombier AMULL, 105*473d4f4bSDavid du Colombier AMULQ, 106*473d4f4bSDavid du Colombier AMULLV, 107*473d4f4bSDavid du Colombier AMULQV, 108*473d4f4bSDavid du Colombier AUMULH, 109*473d4f4bSDavid du Colombier ADIVQ, 110*473d4f4bSDavid du Colombier AMODQ, 111*473d4f4bSDavid du Colombier ADIVQU, 112*473d4f4bSDavid du Colombier AMODQU, 113*473d4f4bSDavid du Colombier ADIVL, 114*473d4f4bSDavid du Colombier AMODL, 115*473d4f4bSDavid du Colombier ADIVLU, 116*473d4f4bSDavid du Colombier AMODLU, 117*473d4f4bSDavid du Colombier 118*473d4f4bSDavid du Colombier ASLLQ, 119*473d4f4bSDavid du Colombier ASRLQ, 120*473d4f4bSDavid du Colombier ASRAQ, 121*473d4f4bSDavid du Colombier ASLLL, 122*473d4f4bSDavid du Colombier ASRLL, 123*473d4f4bSDavid du Colombier ASRAL, 124*473d4f4bSDavid du Colombier 125*473d4f4bSDavid du Colombier AEXTBL, 126*473d4f4bSDavid du Colombier AEXTWL, 127*473d4f4bSDavid du Colombier AEXTLL, 128*473d4f4bSDavid du Colombier AEXTQL, 129*473d4f4bSDavid du Colombier AEXTWH, 130*473d4f4bSDavid du Colombier AEXTLH, 131*473d4f4bSDavid du Colombier AEXTQH, 132*473d4f4bSDavid du Colombier 133*473d4f4bSDavid du Colombier AINSBL, 134*473d4f4bSDavid du Colombier AINSWL, 135*473d4f4bSDavid du Colombier AINSLL, 136*473d4f4bSDavid du Colombier AINSQL, 137*473d4f4bSDavid du Colombier AINSWH, 138*473d4f4bSDavid du Colombier AINSLH, 139*473d4f4bSDavid du Colombier AINSQH, 140*473d4f4bSDavid du Colombier 141*473d4f4bSDavid du Colombier AMSKBL, 142*473d4f4bSDavid du Colombier AMSKWL, 143*473d4f4bSDavid du Colombier AMSKLL, 144*473d4f4bSDavid du Colombier AMSKQL, 145*473d4f4bSDavid du Colombier AMSKWH, 146*473d4f4bSDavid du Colombier AMSKLH, 147*473d4f4bSDavid du Colombier AMSKQH, 148*473d4f4bSDavid du Colombier 149*473d4f4bSDavid du Colombier AZAP, 150*473d4f4bSDavid du Colombier AZAPNOT, 151*473d4f4bSDavid du Colombier 152*473d4f4bSDavid du Colombier AJMP, 153*473d4f4bSDavid du Colombier AJSR, 154*473d4f4bSDavid du Colombier ARET, 155*473d4f4bSDavid du Colombier 156*473d4f4bSDavid du Colombier ABR, 157*473d4f4bSDavid du Colombier ABSR, 158*473d4f4bSDavid du Colombier 159*473d4f4bSDavid du Colombier ABEQ, 160*473d4f4bSDavid du Colombier ABNE, 161*473d4f4bSDavid du Colombier ABLT, 162*473d4f4bSDavid du Colombier ABGE, 163*473d4f4bSDavid du Colombier ABLE, 164*473d4f4bSDavid du Colombier ABGT, 165*473d4f4bSDavid du Colombier ABLBC, 166*473d4f4bSDavid du Colombier ABLBS, 167*473d4f4bSDavid du Colombier 168*473d4f4bSDavid du Colombier AFBEQ, 169*473d4f4bSDavid du Colombier AFBNE, 170*473d4f4bSDavid du Colombier AFBLT, 171*473d4f4bSDavid du Colombier AFBGE, 172*473d4f4bSDavid du Colombier AFBLE, 173*473d4f4bSDavid du Colombier AFBGT, 174*473d4f4bSDavid du Colombier 175*473d4f4bSDavid du Colombier ATRAPB, 176*473d4f4bSDavid du Colombier AMB, 177*473d4f4bSDavid du Colombier AFETCH, 178*473d4f4bSDavid du Colombier AFETCHM, 179*473d4f4bSDavid du Colombier ARPCC, 180*473d4f4bSDavid du Colombier 181*473d4f4bSDavid du Colombier ACPYS, 182*473d4f4bSDavid du Colombier ACPYSN, 183*473d4f4bSDavid du Colombier ACPYSE, 184*473d4f4bSDavid du Colombier ACVTLQ, 185*473d4f4bSDavid du Colombier ACVTQL, 186*473d4f4bSDavid du Colombier AFCMOVEQ, 187*473d4f4bSDavid du Colombier AFCMOVNE, 188*473d4f4bSDavid du Colombier AFCMOVLT, 189*473d4f4bSDavid du Colombier AFCMOVGE, 190*473d4f4bSDavid du Colombier AFCMOVLE, 191*473d4f4bSDavid du Colombier AFCMOVGT, 192*473d4f4bSDavid du Colombier 193*473d4f4bSDavid du Colombier AADDS, 194*473d4f4bSDavid du Colombier AADDT, 195*473d4f4bSDavid du Colombier ACMPTEQ, 196*473d4f4bSDavid du Colombier ACMPTGT, 197*473d4f4bSDavid du Colombier ACMPTGE, 198*473d4f4bSDavid du Colombier ACMPTUN, 199*473d4f4bSDavid du Colombier ACVTQS, 200*473d4f4bSDavid du Colombier ACVTQT, 201*473d4f4bSDavid du Colombier ACVTTS, 202*473d4f4bSDavid du Colombier ACVTTQ, 203*473d4f4bSDavid du Colombier ADIVS, 204*473d4f4bSDavid du Colombier ADIVT, 205*473d4f4bSDavid du Colombier AMULS, 206*473d4f4bSDavid du Colombier AMULT, 207*473d4f4bSDavid du Colombier ASUBS, 208*473d4f4bSDavid du Colombier ASUBT, 209*473d4f4bSDavid du Colombier 210*473d4f4bSDavid du Colombier ACALL_PAL, 211*473d4f4bSDavid du Colombier AREI, 212*473d4f4bSDavid du Colombier 213*473d4f4bSDavid du Colombier AEND, 214*473d4f4bSDavid du Colombier 215*473d4f4bSDavid du Colombier ADYNT, 216*473d4f4bSDavid du Colombier AINIT, 217*473d4f4bSDavid du Colombier 218*473d4f4bSDavid du Colombier ASIGNAME, 219*473d4f4bSDavid du Colombier 220*473d4f4bSDavid du Colombier ALAST, 221*473d4f4bSDavid du Colombier }; 222*473d4f4bSDavid du Colombier 223*473d4f4bSDavid du Colombier /* type/name */ 224*473d4f4bSDavid du Colombier enum 225*473d4f4bSDavid du Colombier { 226*473d4f4bSDavid du Colombier D_GOK = 0, 227*473d4f4bSDavid du Colombier D_NONE, 228*473d4f4bSDavid du Colombier 229*473d4f4bSDavid du Colombier /* name */ 230*473d4f4bSDavid du Colombier D_EXTERN, 231*473d4f4bSDavid du Colombier D_STATIC, 232*473d4f4bSDavid du Colombier D_AUTO, 233*473d4f4bSDavid du Colombier D_PARAM, 234*473d4f4bSDavid du Colombier 235*473d4f4bSDavid du Colombier /* type */ 236*473d4f4bSDavid du Colombier D_BRANCH, 237*473d4f4bSDavid du Colombier D_OREG, 238*473d4f4bSDavid du Colombier D_CONST, 239*473d4f4bSDavid du Colombier D_FCONST, 240*473d4f4bSDavid du Colombier D_SCONST, 241*473d4f4bSDavid du Colombier D_REG, 242*473d4f4bSDavid du Colombier D_FREG, 243*473d4f4bSDavid du Colombier D_FCREG, 244*473d4f4bSDavid du Colombier D_PREG, 245*473d4f4bSDavid du Colombier D_PCC, 246*473d4f4bSDavid du Colombier D_FILE, 247*473d4f4bSDavid du Colombier D_FILE1, 248*473d4f4bSDavid du Colombier }; 249*473d4f4bSDavid du Colombier 250*473d4f4bSDavid du Colombier /* 251*473d4f4bSDavid du Colombier * this is the ranlib header 252*473d4f4bSDavid du Colombier */ 253*473d4f4bSDavid du Colombier #define SYMDEF "__.SYMDEF" 254*473d4f4bSDavid du Colombier 255*473d4f4bSDavid du Colombier /* 256*473d4f4bSDavid du Colombier * this is the simulated IEEE floating point 257*473d4f4bSDavid du Colombier */ 258*473d4f4bSDavid du Colombier typedef struct ieee Ieee; 259*473d4f4bSDavid du Colombier struct ieee 260*473d4f4bSDavid du Colombier { 261*473d4f4bSDavid du Colombier long l; /* contains ls-man 0xffffffff */ 262*473d4f4bSDavid du Colombier long h; /* contains sign 0x80000000 263*473d4f4bSDavid du Colombier exp 0x7ff00000 264*473d4f4bSDavid du Colombier ms-man 0x000fffff */ 265*473d4f4bSDavid du Colombier }; 266