ref: a2ad59b340bf3339dbba105310002474b98d0184
dir: /sys/src/cmd/zc/z.out.h/
#define NSNAME 8 #define NSYM 50 #define NREG 32 #define NOPROF (1<<0) #define DUPOK (1<<1) #define REGRET 4 #define REGARG 4 /* compiler allocates R4 up as temps */ /* compiler allocates register variables R3-R23 */ #define REGMIN 5 #define REGMAX 28 #define REGTMP 17 /* compiler allocates external registers R30 down */ #define REGEXT 30 #define REGSP 3 #define REGSB 31 #define REGLINK 1 #define REGZERO 0 #define NFREG 32 #define FREGRET 0 #define FREGMIN 7 /* compiler allocates register variables F0 up */ /* compiler allocates external registers F31 down */ #define FREGEXT 31 enum as { AXXX, AABSD, AABSF, AADD, AADDD, AADDF, AADDU, AADDW, AAND, ABEQ, ABFPF, ABFPT, ABGEZ, ABGTZ, ABLEZ, ABLTZ, 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, ANAME32, ANAME, ANEGD, ANEGF, ANEGW, ANOP, ANOR, AOR, AREM, AREMU, ARET, ASGT, ASGTU, ASLL, ASRA, ASRL, ASUB, ASUBD, ASUBF, ASUBU, ASUBW, ASYSCALL, ATEXT, AWORD, AXOR, AEND, AMOVV, AMOVVL, AMOVVR, ASLLV, ASRAV, ASRLV, ADIVV, ADIVVU, AREMV, AREMVU, AMULV, AMULVU, AADDV, AADDVU, ASUBV, ASUBVU, ADYNT, AINIT, ATRUNCFV, ATRUNCDV, ATRUNCFW, ATRUNCDW, AMOVWU, AMOVFV, AMOVDV, AMOVVF, AMOVVD, ALU12IW, ALU32ID, ALU52ID, ASIGNAME, ALAST, }; /* type/name */ enum { D_GOK = 0, D_NONE, /* name */ D_EXTERN, D_STATIC, D_AUTO, D_PARAM, /* type */ D_BRANCH, D_OREG, D_CONST, D_FCONST, D_SCONST, D_REG, D_FREG, D_FCCREG, D_FCSREG, D_FILE, D_OCONST, D_FILE1, D_VCONST, }; /* * 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 */ };