Subversion Repositories planix.SVN

Rev

Blame | Last modification | View Log | RSS feed

#define NSNAME  8
#define NSYM    50
#define NREG    32

#define NOPROF  (1<<0)
#define DUPOK   (1<<1)

#define REGZERO         0
#define REGRET          1
#define REGARG          1
/* compiler allocates R1 up as temps */
/* compiler allocates register variables R3-R23 */
#define REGEXT          25
/* compiler allocates external registers R25 down */
/* dont use R26 R27 */
#define REGTMP          28
#define REGSP           29
#define REGSB           30
#define REGLINK         31

#define FREGRET         0
/* compiler allocates register variables F4-F22 */
/* compiler allocates external registers F22 down */
#define FREGEXT         22
#define FREGZERO        24      /* both float and double */
#define FREGHALF        26      /* double */
#define FREGONE         28      /* double */
#define FREGTWO         30      /* double */

enum    as
{
        AXXX,

        AABSD,
        AABSF,
        AABSW,
        AADD,
        AADDD,
        AADDF,
        AADDU,
        AADDW,
        AAND,
        ABEQ,
        ABFPF,
        ABFPT,
        ABGEZ,
        ABGEZAL,
        ABGTZ,
        ABLEZ,
        ABLTZ,
        ABLTZAL,
        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,
        ANAME,
        ANEGD,
        ANEGF,
        ANEGW,
        ANOP,
        ANOR,
        AOR,
        AREM,
        AREMU,
        ARET,
        ARFE,
        ASGT,
        ASGTU,
        ASLL,
        ASRA,
        ASRL,
        ASUB,
        ASUBD,
        ASUBF,
        ASUBU,
        ASUBW,
        ASYSCALL,
        ATEXT,
        ATLBP,
        ATLBR,
        ATLBWI,
        ATLBWR,
        AWORD,
        AXOR,

        AEND,

        AMOVV,
        AMOVVL,
        AMOVVR,
        ASLLV,
        ASRAV,
        ASRLV,
        ADIVV,
        ADIVVU,
        AREMV,
        AREMVU,
        AMULV,
        AMULVU,
        AADDV,
        AADDVU,
        ASUBV,
        ASUBVU,

        ADYNT,
        AINIT,

        ABCASE,
        ACASE,

        ATRUNCFV,
        ATRUNCDV,
        ATRUNCFW,
        ATRUNCDW,
        AMOVWU,
        AMOVFV,
        AMOVDV,
        AMOVVF,
        AMOVVD,

        ASIGNAME,

        ALAST,
};

/* type/name */
#define D_GOK   0
#define D_NONE  1

/* type */
#define D_BRANCH (D_NONE+1)
#define D_OREG  (D_NONE+2)
#define D_EXTERN (D_NONE+3)     /* name */
#define D_STATIC (D_NONE+4)     /* name */
#define D_AUTO  (D_NONE+5)      /* name */
#define D_PARAM (D_NONE+6)      /* name */
#define D_CONST (D_NONE+7)
#define D_FCONST (D_NONE+8)
#define D_SCONST (D_NONE+9)
#define D_HI    (D_NONE+10)
#define D_LO    (D_NONE+11)
#define D_REG   (D_NONE+12)
#define D_FREG  (D_NONE+13)
#define D_FCREG (D_NONE+14)
#define D_MREG  (D_NONE+15)
#define D_FILE  (D_NONE+16)
#define D_OCONST (D_NONE+17)
#define D_FILE1 (D_NONE+18)
#define D_VCONST (D_NONE+19)

/*
 * 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 */
};