Subversion Repositories planix.SVN

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#define NSYM    50
#define NSNAME  8

/* R0 is return */
#define REGEXT  7
/* A7 is sp A6 is sb */
#define AREGEXT 5
/* F0 is ret */
#define FREGEXT 7

enum    as
{
        AXXX = 0,
        AABCD,
        AADDB,
        AADDL,
        AADDW,
        AADDXB,
        AADDXL,
        AADDXW,
        AADJSP,
        AANDB,
        AANDL,
        AANDW,
        AASLB,
        AASLL,
        AASLW,
        AASRB,
        AASRL,
        AASRW,
        ABCASE,
        ABCC,
        ABCHG,
        ABCLR,
        ABCS,
        ABEQ,
        ABFCHG,
        ABFCLR,
        ABFEXTS,
        ABFEXTU,
        ABFFFO,
        ABFINS,
        ABFSET,
        ABFTST,
        ABGE,
        ABGT,
        ABHI,
        ABKPT,
        ABLE,
        ABLS,
        ABLT,
        ABMI,
        ABNE,
        ABPL,
        ABRA,
        ABSET,
        ABSR,
        ABTST,
        ABVC,
        ABVS,
        ACALLM,
        ACAS2B,
        ACAS2L,
        ACAS2W,
        ACASB,
        ACASEW,
        ACASL,
        ACASW,
        ACHK2B,
        ACHK2L,
        ACHK2W,
        ACHKL,
        ACHKW,
        ACLRB,
        ACLRL,
        ACLRW,
        ACMP2B,
        ACMP2L,
        ACMP2W,
        ACMPB,
        ACMPL,
        ACMPW,
        ADATA,
        ADBCC,
        ADBCS,
        ADBEQ,
        ADBF,
        ADBGE,
        ADBGT,
        ADBHI,
        ADBLE,
        ADBLS,
        ADBLT,
        ADBMI,
        ADBNE,
        ADBPL,
        ADBT,
        ADBVC,
        ADBVS,
        ADIVSL,
        ADIVSW,
        ADIVUL,
        ADIVUW,
        AEND,
        AEORB,
        AEORL,
        AEORW,
        AEXG,
        AEXTBL,
        AEXTBW,
        AEXTWL,
        AFABSB,
        AFABSD,
        AFABSF,
        AFABSL,
        AFABSW,
        AFACOSB,
        AFACOSD,
        AFACOSF,
        AFACOSL,
        AFACOSW,
        AFADDB,
        AFADDD,
        AFADDF,
        AFADDL,
        AFADDW,
        AFASINB,
        AFASIND,
        AFASINF,
        AFASINL,
        AFASINW,
        AFATANB,
        AFATAND,
        AFATANF,
        AFATANHB,
        AFATANHD,
        AFATANHF,
        AFATANHL,
        AFATANHW,
        AFATANL,
        AFATANW,
        AFBEQ,
        AFBF,
        AFBGE,
        AFBGT,
        AFBLE,
        AFBLT,
        AFBNE,
        AFBT,
        AFCMPB,
        AFCMPD,
        AFCMPF,
        AFCMPL,
        AFCMPW,
        AFCOSB,
        AFCOSD,
        AFCOSF,
        AFCOSHB,
        AFCOSHD,
        AFCOSHF,
        AFCOSHL,
        AFCOSHW,
        AFCOSL,
        AFCOSW,
        AFDBEQ,
        AFDBF,
        AFDBGE,
        AFDBGT,
        AFDBLE,
        AFDBLT,
        AFDBNE,
        AFDBT,
        AFDIVB,
        AFDIVD,
        AFDIVF,
        AFDIVL,
        AFDIVW,
        AFETOXB,
        AFETOXD,
        AFETOXF,
        AFETOXL,
        AFETOXM1B,
        AFETOXM1D,
        AFETOXM1F,
        AFETOXM1L,
        AFETOXM1W,
        AFETOXW,
        AFGETEXPB,
        AFGETEXPD,
        AFGETEXPF,
        AFGETEXPL,
        AFGETEXPW,
        AFGETMANB,
        AFGETMAND,
        AFGETMANF,
        AFGETMANL,
        AFGETMANW,
        AFINTB,
        AFINTD,
        AFINTF,
        AFINTL,
        AFINTRZB,
        AFINTRZD,
        AFINTRZF,
        AFINTRZL,
        AFINTRZW,
        AFINTW,
        AFLOG10B,
        AFLOG10D,
        AFLOG10F,
        AFLOG10L,
        AFLOG10W,
        AFLOG2B,
        AFLOG2D,
        AFLOG2F,
        AFLOG2L,
        AFLOG2W,
        AFLOGNB,
        AFLOGND,
        AFLOGNF,
        AFLOGNL,
        AFLOGNP1B,
        AFLOGNP1D,
        AFLOGNP1F,
        AFLOGNP1L,
        AFLOGNP1W,
        AFLOGNW,
        AFMODB,
        AFMODD,
        AFMODF,
        AFMODL,
        AFMODW,
        AFMOVEB,
        AFMOVED,
        AFMOVEF,
        AFMOVEL,
        AFMOVEM,
        AFMOVEMC,
        AFMOVEW,
        AFMULB,
        AFMULD,
        AFMULF,
        AFMULL,
        AFMULW,
        AFNEGB,
        AFNEGD,
        AFNEGF,
        AFNEGL,
        AFNEGW,
        AFREMB,
        AFREMD,
        AFREMF,
        AFREML,
        AFREMW,
        AFRESTORE,
        AFSAVE,
        AFSCALEB,
        AFSCALED,
        AFSCALEF,
        AFSCALEL,
        AFSCALEW,
        AFSEQ,
        AFSF,
        AFSGE,
        AFSGT,
        AFSINB,
        AFSIND,
        AFSINF,
        AFSINHB,
        AFSINHD,
        AFSINHF,
        AFSINHL,
        AFSINHW,
        AFSINL,
        AFSINW,
        AFSLE,
        AFSLT,
        AFSNE,
        AFSQRTB,
        AFSQRTD,
        AFSQRTF,
        AFSQRTL,
        AFSQRTW,
        AFST,
        AFSUBB,
        AFSUBD,
        AFSUBF,
        AFSUBL,
        AFSUBW,
        AFTANB,
        AFTAND,
        AFTANF,
        AFTANHB,
        AFTANHD,
        AFTANHF,
        AFTANHL,
        AFTANHW,
        AFTANL,
        AFTANW,
        AFTENTOXB,
        AFTENTOXD,
        AFTENTOXF,
        AFTENTOXL,
        AFTENTOXW,
        AFTSTB,
        AFTSTD,
        AFTSTF,
        AFTSTL,
        AFTSTW,
        AFTWOTOXB,
        AFTWOTOXD,
        AFTWOTOXF,
        AFTWOTOXL,
        AFTWOTOXW,
        AGLOBL,
        AGOK,
        AHISTORY,
        AILLEG,
        AINSTR,
        AJMP,
        AJSR,
        ALEA,
        ALINKL,
        ALINKW,
        ALOCATE,
        ALONG,
        ALSLB,
        ALSLL,
        ALSLW,
        ALSRB,
        ALSRL,
        ALSRW,
        AMOVB,
        AMOVEM,
        AMOVEPL,
        AMOVEPW,
        AMOVESB,
        AMOVESL,
        AMOVESW,
        AMOVL,
        AMOVW,
        AMULSL,
        AMULSW,
        AMULUL,
        AMULUW,
        ANAME,
        ANBCD,
        ANEGB,
        ANEGL,
        ANEGW,
        ANEGXB,
        ANEGXL,
        ANEGXW,
        ANOP,
        ANOTB,
        ANOTL,
        ANOTW,
        AORB,
        AORL,
        AORW,
        APACK,
        APEA,
        ARESET,
        AROTLB,
        AROTLL,
        AROTLW,
        AROTRB,
        AROTRL,
        AROTRW,
        AROXLB,
        AROXLL,
        AROXLW,
        AROXRB,
        AROXRL,
        AROXRW,
        ARTD,
        ARTE,
        ARTM,
        ARTR,
        ARTS,
        ASBCD,
        ASCC,
        ASCS,
        ASEQ,
        ASF,
        ASGE,
        ASGT,
        ASHI,
        ASLE,
        ASLS,
        ASLT,
        ASMI,
        ASNE,
        ASPL,
        AST,
        ASTOP,
        ASUBB,
        ASUBL,
        ASUBW,
        ASUBXB,
        ASUBXL,
        ASUBXW,
        ASVC,
        ASVS,
        ASWAP,
        ASYS,
        ATAS,
        ATEXT,
        ATRAP,
        ATRAPCC,
        ATRAPCS,
        ATRAPEQ,
        ATRAPF,
        ATRAPGE,
        ATRAPGT,
        ATRAPHI,
        ATRAPLE,
        ATRAPLS,
        ATRAPLT,
        ATRAPMI,
        ATRAPNE,
        ATRAPPL,
        ATRAPT,
        ATRAPV,
        ATRAPVC,
        ATRAPVS,
        ATSTB,
        ATSTL,
        ATSTW,
        AUNLK,
        AUNPK,
        AWORD,
        ASIGNAME,

        ALAST
};

enum
{
        NREG            = 8,

        D_R0            = 0,
        D_A0            = NREG,
        D_F0            = D_A0+NREG,
        D_NONE          = D_F0+NREG,
        D_TOS,
        D_BRANCH,
        D_STACK,
        D_TREE,
        D_EXTERN,
        D_STATIC,
        D_AUTO,
        D_PARAM,
        D_CONST,
        D_FCONST,
        D_QUICK,

        D_CCR,
        D_SR,
        D_SFC,
        D_CACR,
        D_USP,
        D_VBR,
        D_CAAR,
        D_MSP,
        D_ISP,
        D_DFC,
        D_FPCR,
        D_FPSR,
        D_FPIAR,
        D_SCONST,
        D_FILE,

        D_TC,           /* new for 68040 */
        D_ITT0,
        D_ITT1,
        D_DTT0,
        D_DTT1,
        D_MMUSR,
        D_URP,
        D_SRP,

        D_FILE1,

        D_MASK          = 63/(D_SRP>=63?0:1),

        I_DIR           = (D_MASK+1)*0,
        I_INDINC        = (D_MASK+1)*1,
        I_INDDEC        = (D_MASK+1)*2,
        I_INDIR         = (D_MASK+1)*3,
        I_ADDR          = (D_MASK+1)*4,

        I_INDEX1        = (D_MASK+1)*1,
        I_INDEX2        = (D_MASK+1)*2,
        I_INDEX3        = (D_MASK+1)*3,

        I_MASK          = (D_MASK+1)*7,

        T_FIELD         = 1<<0,
        T_INDEX         = 1<<1,
        T_TYPE          = 1<<2,
        T_OFFSET        = 1<<3,
        T_FCONST        = 1<<4,
        T_SYM           = 1<<5,
        T_SCONST        = 1<<6
};

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