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