[BACK]Return to sh_opcode.h CVS log [TXT][DIR] Up to [local] / sys / arch / sh / include

Annotation of sys/arch/sh/include/sh_opcode.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: sh_opcode.h,v 1.1.1.1 2006/10/06 21:02:55 miod Exp $  */
                      2: /*     $NetBSD: sh_opcode.h,v 1.3 2002/04/28 17:10:36 uch Exp $ */
                      3:
                      4: typedef union {
                      5:        unsigned word;
                      6:
                      7: #if _BYTE_ORDER == BIG_ENDIAN
                      8:        struct {
                      9:                unsigned op: 16;
                     10:        } oType;
                     11:
                     12:        struct {
                     13:                unsigned op1: 4;
                     14:                unsigned n: 4;
                     15:                unsigned op2: 8;
                     16:        } nType;
                     17:
                     18:        struct {
                     19:                unsigned op1: 4;
                     20:                unsigned m: 4;
                     21:                unsigned op2: 8;
                     22:        } mType;
                     23:
                     24:        struct {
                     25:                unsigned op1: 4;
                     26:                unsigned n: 4;
                     27:                unsigned m: 4;
                     28:                unsigned op2: 4;
                     29:        } nmType;
                     30:
                     31:        struct {
                     32:                unsigned op: 8;
                     33:                unsigned m: 4;
                     34:                unsigned d: 4;
                     35:        } mdType;
                     36:
                     37:        struct {
                     38:                unsigned op: 8;
                     39:                unsigned n: 4;
                     40:                unsigned d: 4;
                     41:        } nd4Type;
                     42:
                     43:        struct {
                     44:                unsigned op: 4;
                     45:                unsigned n: 4;
                     46:                unsigned m: 4;
                     47:                unsigned d: 4;
                     48:        } nmdType;
                     49:
                     50:        struct {
                     51:                unsigned op: 8;
                     52:                unsigned d: 8;
                     53:        } dType;
                     54:
                     55:        struct {
                     56:                unsigned op: 4;
                     57:                unsigned d: 12;
                     58:        } d12Type;
                     59:
                     60:        struct {
                     61:                unsigned op: 4;
                     62:                unsigned n: 4;
                     63:                unsigned d: 8;
                     64:        } nd8Type;
                     65:
                     66:        struct {
                     67:                unsigned op: 8;
                     68:                unsigned i: 8;
                     69:        } iType;
                     70:
                     71:        struct {
                     72:                unsigned op: 4;
                     73:                unsigned n: 4;
                     74:                unsigned i: 8;
                     75:        } niType;
                     76: #endif
                     77: #if _BYTE_ORDER == LITTLE_ENDIAN
                     78: struct {
                     79:                unsigned op: 16;
                     80:        } oType;
                     81:
                     82:        struct {
                     83:                unsigned op2: 8;
                     84:                unsigned n: 4;
                     85:                unsigned op1: 4;
                     86:        } nType;
                     87:
                     88:        struct {
                     89:                unsigned op2: 8;
                     90:                unsigned m: 4;
                     91:                unsigned op1: 4;
                     92:        } mType;
                     93:
                     94:        struct {
                     95:                unsigned op2: 4;
                     96:                unsigned m: 4;
                     97:                unsigned n: 4;
                     98:                unsigned op1: 4;
                     99:        } nmType;
                    100:
                    101:        struct {
                    102:                unsigned d: 4;
                    103:                unsigned m: 4;
                    104:                unsigned op: 8;
                    105:        } mdType;
                    106:
                    107:        struct {
                    108:                unsigned d: 4;
                    109:                unsigned n: 4;
                    110:                unsigned op: 8;
                    111:        } nd4Type;
                    112:
                    113:        struct {
                    114:                unsigned d: 4;
                    115:                unsigned m: 4;
                    116:                unsigned n: 4;
                    117:                unsigned op: 4;
                    118:        } nmdType;
                    119:
                    120:        struct {
                    121:                unsigned d: 8;
                    122:                unsigned op: 8;
                    123:        } dType;
                    124:
                    125:        struct {
                    126:                unsigned d: 12;
                    127:                unsigned op: 4;
                    128:        } d12Type;
                    129:
                    130:        struct {
                    131:                unsigned d: 8;
                    132:                unsigned n: 4;
                    133:                unsigned op: 4;
                    134:        } nd8Type;
                    135:
                    136:        struct {
                    137:                unsigned i: 8;
                    138:                unsigned op: 8;
                    139:        } iType;
                    140:
                    141:        struct {
                    142:                unsigned i: 8;
                    143:                unsigned n: 4;
                    144:                unsigned op: 4;
                    145:        } niType;
                    146: #endif
                    147: } InstFmt;
                    148:
                    149: #define        OP_BF   0x8b
                    150: #define        OP_BFS  0x8f
                    151: #define        OP_BT   0x89
                    152: #define        OP_BTS  0x8d
                    153: #define        OP_BRA  0xa
                    154: #define        OP_BSR  0xb
                    155: #define        OP1_BRAF        0x0
                    156: #define        OP2_BRAF        0x23
                    157: #define        OP1_BSRF        0x0
                    158: #define        OP2_BSRF        0x03
                    159: #define        OP1_JMP 0x4
                    160: #define        OP2_JMP 0x2b
                    161: #define        OP1_JSR 0x4
                    162: #define        OP2_JSR 0x0b
                    163: #define        OP_RTS  0xffff

CVSweb