Annotation of 43BSDTahoe/lib/pcc/pcc.tahoe/mac2defs.h, revision 1.1

1.1     ! root        1: /*     mac2defs.h      1.4     88/01/19        */
        !             2: 
        !             3: /*
        !             4:  * Tahoe Registers
        !             5:  */
        !             6: 
        !             7: /*
        !             8:  * Scratch registers
        !             9:  */
        !            10: #define R0     0
        !            11: #define R1     1
        !            12: #define R2     2
        !            13: #define R3     3
        !            14: #define R4     4
        !            15: #define R5     5
        !            16: 
        !            17: /*
        !            18:  * Register variables
        !            19:  */
        !            20: #define R6     6
        !            21: #define R7     7
        !            22: #define R8     8
        !            23: #define R9     9
        !            24: #define R10    10
        !            25: #define R11    11
        !            26: #define R12    12
        !            27: 
        !            28: /*
        !            29:  * Special purpose registers
        !            30:  */
        !            31: #define FP     13              /* frame pointer */
        !            32: #define SP     14              /* stack pointer */
        !            33: #define PC     15              /* program counter */
        !            34: 
        !            35: /*
        !            36:  * Floating registers
        !            37:  */
        !            38: #define        ACC     16              /* accumulator */
        !            39: 
        !            40: #define        TMPREG  FP              /* reg off which temporaries are referenced */
        !            41: #define        REGSZ   16              /* size of register set */
        !            42: 
        !            43: #define R2REGS 1               /* permit double indexing */
        !            44: 
        !            45: extern int fregs;
        !            46: extern int maxargs;
        !            47: 
        !            48: #define BYTEOFF(x)     ((x)&03)
        !            49: #define wdal(k)                (BYTEOFF(k)==0)         /* word align */
        !            50: #define BITOOR(x)      ((x)>>3)                /* bit offset to oreg offset */
        !            51: 
        !            52: /*
        !            53:  * Some macros used in store():
        !            54:  *     just evaluate the arguments, and be done with it...
        !            55:  */
        !            56: #define STOARG(p)
        !            57: #define STOFARG(p)
        !            58: #define STOSTARG(p)
        !            59: 
        !            60: /*
        !            61:  * Some short routines that get called an awful lot are actually macros.
        !            62:  */
        !            63: #define        szty(t) ((t) == DOUBLE ? 2 : 1)
        !            64: #define        shltype(o, p) \
        !            65:        ((o) == REG || (o) == NAME || (o) == ICON || \
        !            66:         (o) == OREG || ((o) == UNARY MUL && shumul((p)->in.left)))
        !            67: #define        ncopy(q, p)     ((q)->in = (p)->in)
        !            68: 
        !            69: #define MYREADER(p)    myreader(p)
        !            70: int    optim2();
        !            71: #define        SIREG           (SPECIAL|7)     /* indexed OREG */
        !            72: int    special();                      /* additional special shapes */
        !            73: #define callchk(p)     if ((p)->in.op != FORTCALL) allchk()

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.