13e12c5d1SDavid du Colombier #define NSNAME 8 23e12c5d1SDavid du Colombier #define NSYM 50 33e12c5d1SDavid du Colombier #define NREG 32 43e12c5d1SDavid du Colombier 5219b2ee8SDavid du Colombier #define NOPROF (1<<0) 6219b2ee8SDavid du Colombier #define DUPOK (1<<1) 7219b2ee8SDavid du Colombier 83e12c5d1SDavid du Colombier #define REGZERO 0 93e12c5d1SDavid du Colombier #define REGRET 1 103e12c5d1SDavid du Colombier #define REGARG 1 113e12c5d1SDavid du Colombier /* compiler allocates R1 up as temps */ 123e12c5d1SDavid du Colombier /* compiler allocates register variables R3-R23 */ 133e12c5d1SDavid du Colombier #define REGEXT 25 143e12c5d1SDavid du Colombier /* compiler allocates external registers R25 down */ 153e12c5d1SDavid du Colombier /* dont use R26 R27 */ 163e12c5d1SDavid du Colombier #define REGTMP 28 173e12c5d1SDavid du Colombier #define REGSP 29 183e12c5d1SDavid du Colombier #define REGSB 30 193e12c5d1SDavid du Colombier #define REGLINK 31 203e12c5d1SDavid du Colombier 213e12c5d1SDavid du Colombier #define FREGRET 0 223e12c5d1SDavid du Colombier /* compiler allocates register variables F4-F22 */ 233e12c5d1SDavid du Colombier /* compiler allocates external registers F22 down */ 243e12c5d1SDavid du Colombier #define FREGEXT 22 253e12c5d1SDavid du Colombier #define FREGZERO 24 /* both float and double */ 263e12c5d1SDavid du Colombier #define FREGHALF 26 /* double */ 273e12c5d1SDavid du Colombier #define FREGONE 28 /* double */ 283e12c5d1SDavid du Colombier #define FREGTWO 30 /* double */ 293e12c5d1SDavid du Colombier 303e12c5d1SDavid du Colombier enum as 313e12c5d1SDavid du Colombier { 323e12c5d1SDavid du Colombier AXXX, 333e12c5d1SDavid du Colombier 343e12c5d1SDavid du Colombier AABSD, 353e12c5d1SDavid du Colombier AABSF, 363e12c5d1SDavid du Colombier AABSW, 373e12c5d1SDavid du Colombier AADD, 383e12c5d1SDavid du Colombier AADDD, 393e12c5d1SDavid du Colombier AADDF, 403e12c5d1SDavid du Colombier AADDU, 413e12c5d1SDavid du Colombier AADDW, 423e12c5d1SDavid du Colombier AAND, 433e12c5d1SDavid du Colombier ABEQ, 443e12c5d1SDavid du Colombier ABFPF, 453e12c5d1SDavid du Colombier ABFPT, 463e12c5d1SDavid du Colombier ABGEZ, 473e12c5d1SDavid du Colombier ABGEZAL, 483e12c5d1SDavid du Colombier ABGTZ, 493e12c5d1SDavid du Colombier ABLEZ, 503e12c5d1SDavid du Colombier ABLTZ, 513e12c5d1SDavid du Colombier ABLTZAL, 523e12c5d1SDavid du Colombier ABNE, 533e12c5d1SDavid du Colombier ABREAK, 543e12c5d1SDavid du Colombier ACMPEQD, 553e12c5d1SDavid du Colombier ACMPEQF, 563e12c5d1SDavid du Colombier ACMPGED, 573e12c5d1SDavid du Colombier ACMPGEF, 583e12c5d1SDavid du Colombier ACMPGTD, 593e12c5d1SDavid du Colombier ACMPGTF, 603e12c5d1SDavid du Colombier ADATA, 613e12c5d1SDavid du Colombier ADIV, 623e12c5d1SDavid du Colombier ADIVD, 633e12c5d1SDavid du Colombier ADIVF, 643e12c5d1SDavid du Colombier ADIVU, 653e12c5d1SDavid du Colombier ADIVW, 663e12c5d1SDavid du Colombier AGLOBL, 673e12c5d1SDavid du Colombier AGOK, 683e12c5d1SDavid du Colombier AHISTORY, 693e12c5d1SDavid du Colombier AJAL, 703e12c5d1SDavid du Colombier AJMP, 713e12c5d1SDavid du Colombier AMOVB, 723e12c5d1SDavid du Colombier AMOVBU, 733e12c5d1SDavid du Colombier AMOVD, 743e12c5d1SDavid du Colombier AMOVDF, 753e12c5d1SDavid du Colombier AMOVDW, 763e12c5d1SDavid du Colombier AMOVF, 773e12c5d1SDavid du Colombier AMOVFD, 783e12c5d1SDavid du Colombier AMOVFW, 793e12c5d1SDavid du Colombier AMOVH, 803e12c5d1SDavid du Colombier AMOVHU, 813e12c5d1SDavid du Colombier AMOVW, 823e12c5d1SDavid du Colombier AMOVWD, 833e12c5d1SDavid du Colombier AMOVWF, 843e12c5d1SDavid du Colombier AMOVWL, 853e12c5d1SDavid du Colombier AMOVWR, 863e12c5d1SDavid du Colombier AMUL, 873e12c5d1SDavid du Colombier AMULD, 883e12c5d1SDavid du Colombier AMULF, 893e12c5d1SDavid du Colombier AMULU, 903e12c5d1SDavid du Colombier AMULW, 913e12c5d1SDavid du Colombier ANAME, 923e12c5d1SDavid du Colombier ANEGD, 933e12c5d1SDavid du Colombier ANEGF, 943e12c5d1SDavid du Colombier ANEGW, 953e12c5d1SDavid du Colombier ANOP, 963e12c5d1SDavid du Colombier ANOR, 973e12c5d1SDavid du Colombier AOR, 983e12c5d1SDavid du Colombier AREM, 993e12c5d1SDavid du Colombier AREMU, 1003e12c5d1SDavid du Colombier ARET, 1013e12c5d1SDavid du Colombier ARFE, 1023e12c5d1SDavid du Colombier ASGT, 1033e12c5d1SDavid du Colombier ASGTU, 1043e12c5d1SDavid du Colombier ASLL, 1053e12c5d1SDavid du Colombier ASRA, 1063e12c5d1SDavid du Colombier ASRL, 1073e12c5d1SDavid du Colombier ASUB, 1083e12c5d1SDavid du Colombier ASUBD, 1093e12c5d1SDavid du Colombier ASUBF, 1103e12c5d1SDavid du Colombier ASUBU, 1113e12c5d1SDavid du Colombier ASUBW, 1123e12c5d1SDavid du Colombier ASYSCALL, 1133e12c5d1SDavid du Colombier ATEXT, 1143e12c5d1SDavid du Colombier ATLBP, 1153e12c5d1SDavid du Colombier ATLBR, 1163e12c5d1SDavid du Colombier ATLBWI, 1173e12c5d1SDavid du Colombier ATLBWR, 1183e12c5d1SDavid du Colombier AWORD, 1193e12c5d1SDavid du Colombier AXOR, 1203e12c5d1SDavid du Colombier 121bd389b36SDavid du Colombier AEND, 122219b2ee8SDavid du Colombier 123219b2ee8SDavid du Colombier AMOVV, 124219b2ee8SDavid du Colombier AMOVVL, 125219b2ee8SDavid du Colombier AMOVVR, 126219b2ee8SDavid du Colombier ASLLV, 127219b2ee8SDavid du Colombier ASRAV, 128219b2ee8SDavid du Colombier ASRLV, 129219b2ee8SDavid du Colombier ADIVV, 130219b2ee8SDavid du Colombier ADIVVU, 131219b2ee8SDavid du Colombier AREMV, 132219b2ee8SDavid du Colombier AREMVU, 133219b2ee8SDavid du Colombier AMULV, 134219b2ee8SDavid du Colombier AMULVU, 135219b2ee8SDavid du Colombier AADDV, 136219b2ee8SDavid du Colombier AADDVU, 137219b2ee8SDavid du Colombier ASUBV, 138219b2ee8SDavid du Colombier ASUBVU, 139219b2ee8SDavid du Colombier 140219b2ee8SDavid du Colombier ADYNT, 141219b2ee8SDavid du Colombier AINIT, 142219b2ee8SDavid du Colombier 1437dd7cddfSDavid du Colombier ABCASE, 1447dd7cddfSDavid du Colombier ACASE, 1457dd7cddfSDavid du Colombier 1467dd7cddfSDavid du Colombier ATRUNCFV, 1477dd7cddfSDavid du Colombier ATRUNCDV, 1487dd7cddfSDavid du Colombier ATRUNCFW, 1497dd7cddfSDavid du Colombier ATRUNCDW, 1507dd7cddfSDavid du Colombier AMOVWU, 1517dd7cddfSDavid du Colombier AMOVFV, 1527dd7cddfSDavid du Colombier AMOVDV, 1537dd7cddfSDavid du Colombier AMOVVF, 1547dd7cddfSDavid du Colombier AMOVVD, 1557dd7cddfSDavid du Colombier 156*375daca8SDavid du Colombier ASIGNAME, 157*375daca8SDavid du Colombier 158219b2ee8SDavid du Colombier ALAST, 1593e12c5d1SDavid du Colombier }; 1603e12c5d1SDavid du Colombier 1613e12c5d1SDavid du Colombier /* type/name */ 1623e12c5d1SDavid du Colombier #define D_GOK 0 1633e12c5d1SDavid du Colombier #define D_NONE 1 1643e12c5d1SDavid du Colombier 1653e12c5d1SDavid du Colombier /* type */ 1663e12c5d1SDavid du Colombier #define D_BRANCH (D_NONE+1) 1673e12c5d1SDavid du Colombier #define D_OREG (D_NONE+2) 1687dd7cddfSDavid du Colombier #define D_EXTERN (D_NONE+3) /* name */ 1697dd7cddfSDavid du Colombier #define D_STATIC (D_NONE+4) /* name */ 1707dd7cddfSDavid du Colombier #define D_AUTO (D_NONE+5) /* name */ 1717dd7cddfSDavid du Colombier #define D_PARAM (D_NONE+6) /* name */ 1723e12c5d1SDavid du Colombier #define D_CONST (D_NONE+7) 1733e12c5d1SDavid du Colombier #define D_FCONST (D_NONE+8) 1743e12c5d1SDavid du Colombier #define D_SCONST (D_NONE+9) 1753e12c5d1SDavid du Colombier #define D_HI (D_NONE+10) 1763e12c5d1SDavid du Colombier #define D_LO (D_NONE+11) 1773e12c5d1SDavid du Colombier #define D_REG (D_NONE+12) 1783e12c5d1SDavid du Colombier #define D_FREG (D_NONE+13) 1793e12c5d1SDavid du Colombier #define D_FCREG (D_NONE+14) 1803e12c5d1SDavid du Colombier #define D_MREG (D_NONE+15) 1813e12c5d1SDavid du Colombier #define D_FILE (D_NONE+16) 182219b2ee8SDavid du Colombier #define D_OCONST (D_NONE+17) 183219b2ee8SDavid du Colombier #define D_FILE1 (D_NONE+18) 1847dd7cddfSDavid du Colombier #define D_VCONST (D_NONE+19) 1853e12c5d1SDavid du Colombier 1863e12c5d1SDavid du Colombier /* 1873e12c5d1SDavid du Colombier * this is the ranlib header 1883e12c5d1SDavid du Colombier */ 1893e12c5d1SDavid du Colombier #define SYMDEF "__.SYMDEF" 1903e12c5d1SDavid du Colombier 1913e12c5d1SDavid du Colombier /* 1923e12c5d1SDavid du Colombier * this is the simulated IEEE floating point 1933e12c5d1SDavid du Colombier */ 1943e12c5d1SDavid du Colombier typedef struct ieee Ieee; 1953e12c5d1SDavid du Colombier struct ieee 1963e12c5d1SDavid du Colombier { 1973e12c5d1SDavid du Colombier long l; /* contains ls-man 0xffffffff */ 1983e12c5d1SDavid du Colombier long h; /* contains sign 0x80000000 1993e12c5d1SDavid du Colombier exp 0x7ff00000 2003e12c5d1SDavid du Colombier ms-man 0x000fffff */ 2013e12c5d1SDavid du Colombier }; 202