Annotation of researchv9/cmd/adb/sun/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: 
        !            35: #define        DMASK   017
        !            36: 
        !            37: /*
        !            38:  * operand flags
        !            39:  */
        !            40: 
        !            41: #define        ADEC    0100    /* funny auto-decrement */
        !            42: #define        AINC    0200    /* funny auto-increment */
        !            43: #define        AAREG   0400    /* address register */
        !            44: #define        ADREG   01000   /* data register */
        !            45: #define        AONE    02000   /* immediate always 1 */
        !            46: #define        AWORD   04000   /* immediate always two-byte */
        !            47: 
        !            48: /*
        !            49:  * special registers
        !            50:  */
        !            51: 
        !            52: #define        C       0100    /* the condition code register */
        !            53: #define        SR      0200    /* the status register */
        !            54: #define        U       0400    /* the user stack pointer */
        !            55: 
        !            56: /*
        !            57:  * flags
        !            58:  */
        !            59: 
        !            60: #define        B       01      /* byte */
        !            61: #define        W       02      /* word */
        !            62: #define        L       04      /* long */
        !            63: #define        NZ      010     /* no size */
        !            64: #define        SZ      017
        !            65: 
        !            66: #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.