Annotation of researchv9/cmd/adb/sun/optab.h, revision 1.1.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.