Annotation of researchv10no/cmd/adb/68v/optab.h, revision 1.1

1.1     ! root        1: #define        MAXRAND 4
        !             2: 
        !             3: struct optab {
        !             4:        unsigned short opcode;
        !             5:        unsigned short mask;
        !             6:        unsigned short op2;
        !             7:        unsigned short mk2;
        !             8:        char    *opname;
        !             9:        char    flags;
        !            10:        char    nrand;
        !            11:        short   rand[MAXRAND];
        !            12: };
        !            13: 
        !            14: /*
        !            15:  * operand types
        !            16:  */
        !            17: 
        !            18: #define        DSREG   00      /* special registers */
        !            19: #define        DEA     01      /* E.A. to low order 6 bits */
        !            20: #define        DRG     02      /* register to low order 3 bits */
        !            21: #define        DRGL    03      /* register to bits 11-9 */
        !            22: #define        DBR     04      /* branch offset (short) */
        !            23: #define        DMQ     05      /* move-quick 8-bit value */
        !            24: #define        DAQ     06      /* add-quick 3-bit value in 11-9 */
        !            25: #define        DIM     07      /* Immediate value, according to size */
        !            26: #define        DEAM    010     /* E.A. to bits 11-6 as in move */
        !            27: #define        DBCC    011     /* branch address as in "dbcc" */
        !            28: #define        DTRAP   012     /* immediate in low 4 bits */
        !            29: #define D2L    013     /* register to bits 0-2 of next word */
        !            30: #define D2H    014     /* register to bits 12-14 of next word */
        !            31: #define DBL    015     /* qty in bits 0-5 of next word */
        !            32: #define DBH    016     /* qty in bits 6-11 of next word */
        !            33: #define DCR    017     /* control reg a bit combination in 0-11 */
        !            34: #define        DBKPT   020     /* immediate in low three bits */
        !            35: #define        DFSRC   021     /* floating source specifier */
        !            36: #define        DFDRG   022     /* floating destination register */
        !            37: #define        DFSRG   023     /* floating source register */
        !            38: #define        DFCR    024     /* floating point constant register */
        !            39: #define        DFBR    025     /* floating branch offset */
        !            40: #define        DFMRGM  026     /* FMOVE register mask */
        !            41: #define        DFMCRGM 027     /* FMOVEC register mask */
        !            42: 
        !            43: #define        DMASK   037
        !            44: 
        !            45: /*
        !            46:  * operand flags
        !            47:  */
        !            48: 
        !            49: #define        ADEC    0100    /* funny auto-decrement */
        !            50: #define        AINC    0200    /* funny auto-increment */
        !            51: #define        AAREG   0400    /* address register */
        !            52: #define        ADREG   01000   /* data register */
        !            53: #define        AONE    02000   /* immediate always 1 */
        !            54: #define        AWORD   04000   /* immediate always two-byte */
        !            55: 
        !            56: /*
        !            57:  * special registers
        !            58:  */
        !            59: 
        !            60: #define        C       0100    /* the condition code register */
        !            61: #define        SR      0200    /* the status register */
        !            62: #define        U       0400    /* the user stack pointer */
        !            63: 
        !            64: /*
        !            65:  * flags
        !            66:  */
        !            67: 
        !            68: #define        B       0       /* byte */
        !            69: #define        W       1       /* word */
        !            70: #define        L       2       /* long */
        !            71: #define        D       3       /* double float */
        !            72: #define        F       4       /* single float */
        !            73: #define        NZ      010     /* no size */
        !            74: #define        SZ      017
        !            75: 
        !            76: #define I2W    020             /* two word instruction code */

unix.superglobalmegacorp.com

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