1 2// These temporary defines keep the following table short and handy. 3#define NOG M680X_GRP_INVALID 4#define NOR M680X_REG_INVALID 5 6static const insn_props g_insn_props[] = { 7 { NOG, uuuu, NOR, NOR, false, false }, // INVLD 8 { NOG, rmmm, M680X_REG_B, M680X_REG_A, true, false }, // ABA 9 { NOG, rmmm, M680X_REG_B, M680X_REG_X, false, false }, // ABX 10 { NOG, rmmm, M680X_REG_B, M680X_REG_Y, false, false }, // ABY 11 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ADC 12 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ADCA 13 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ADCB 14 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ADCD 15 { NOG, rmmm, NOR, NOR, true, false }, // ADCR 16 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ADD 17 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ADDA 18 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ADDB 19 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ADDD 20 { NOG, mrrr, M680X_REG_E, NOR, true, false }, // ADDE 21 { NOG, mrrr, M680X_REG_F, NOR, true, false }, // ADDF 22 { NOG, rmmm, NOR, NOR, true, false }, // ADDR 23 { NOG, mrrr, M680X_REG_W, NOR, true, false }, // ADDW 24 { NOG, rmmm, NOR, NOR, true, false }, // AIM 25 { NOG, mrrr, M680X_REG_S, NOR, false, false }, // AIS 26 { NOG, mrrr, M680X_REG_HX, NOR, false, false }, // AIX 27 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // AND 28 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ANDA 29 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ANDB 30 { NOG, mrrr, M680X_REG_CC, NOR, true, false }, // ANDCC 31 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ANDD 32 { NOG, rmmm, NOR, NOR, true, false }, // ANDR 33 { NOG, mrrr, NOR, NOR, true, false }, // ASL 34 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ASLA 35 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ASLB 36 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ASLD 37 { NOG, mrrr, NOR, NOR, true, false }, // ASR 38 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ASRA 39 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ASRB 40 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ASRD 41 { NOG, mrrr, M680X_REG_X, NOR, true, false }, // ASRX 42 { NOG, mrrr, NOR, NOR, false, false }, // BAND 43 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BCC 44 { NOG, mrrr, NOR, NOR, true, false }, // BCLR 45 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BCS 46 { NOG, mrrr, NOR, NOR, false, false }, // BEOR 47 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BEQ 48 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BGE 49 { NOG, uuuu, NOR, NOR, false, false }, // BGND 50 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BGT 51 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BHCC 52 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BHCS 53 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BHI 54 { NOG, mrrr, NOR, NOR, false, false }, // BIAND 55 { NOG, mrrr, NOR, NOR, false, false }, // BIEOR 56 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BIH 57 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BIL 58 { NOG, mrrr, NOR, NOR, false, false }, // BIOR 59 { NOG, rrrr, M680X_REG_A, NOR, true, false }, // BIT 60 { NOG, rrrr, M680X_REG_A, NOR, true, false }, // BITA 61 { NOG, rrrr, M680X_REG_B, NOR, true, false }, // BITB 62 { NOG, rrrr, M680X_REG_D, NOR, true, false }, // BITD 63 { NOG, rrrr, M680X_REG_MD, NOR, true, false }, // BITMD 64 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BLE 65 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BLS 66 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BLT 67 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BMC 68 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BMI 69 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BMS 70 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BNE 71 { NOG, mrrr, NOR, NOR, false, false }, // BOR 72 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BPL 73 { M680X_GRP_JUMP, rruu, NOR, NOR, false, false }, // BRCLR 74 { M680X_GRP_JUMP, rruu, NOR, NOR, false, false }, // BRSET 75 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BRA 76 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BRN never branches 77 { NOG, mrrr, NOR, NOR, true, false }, // BSET 78 { M680X_GRP_CALL, uuuu, NOR, NOR, false, true }, // BSR 79 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BVC 80 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // BVS 81 { M680X_GRP_CALL, uuuu, NOR, NOR, false, true }, // CALL 82 { NOG, rrrr, M680X_REG_B, M680X_REG_A, true, false }, // CBA 83 { M680X_GRP_JUMP, rruu, M680X_REG_A, NOR, false, false }, // CBEQ 84 { M680X_GRP_JUMP, rruu, M680X_REG_A, NOR, false, false }, // CBEQA 85 { M680X_GRP_JUMP, rruu, M680X_REG_X, NOR, false, false }, // CBEQX 86 { NOG, uuuu, NOR, NOR, true, false }, // CLC 87 { NOG, uuuu, NOR, NOR, true, false }, // CLI 88 { NOG, wrrr, NOR, NOR, true, false }, // CLR 89 { NOG, wrrr, M680X_REG_A, NOR, true, false }, // CLRA 90 { NOG, wrrr, M680X_REG_B, NOR, true, false }, // CLRB 91 { NOG, wrrr, M680X_REG_D, NOR, true, false }, // CLRD 92 { NOG, wrrr, M680X_REG_E, NOR, true, false }, // CLRE 93 { NOG, wrrr, M680X_REG_F, NOR, true, false }, // CLRF 94 { NOG, wrrr, M680X_REG_H, NOR, true, false }, // CLRH 95 { NOG, wrrr, M680X_REG_W, NOR, true, false }, // CLRW 96 { NOG, wrrr, M680X_REG_X, NOR, true, false }, // CLRX 97 { NOG, uuuu, NOR, NOR, true, false }, // CLV 98 { NOG, rrrr, M680X_REG_A, NOR, true, false }, // CMP 99 { NOG, rrrr, M680X_REG_A, NOR, true, false }, // CMPA 100 { NOG, rrrr, M680X_REG_B, NOR, true, false }, // CMPB 101 { NOG, rrrr, M680X_REG_D, NOR, true, false }, // CMPD 102 { NOG, rrrr, M680X_REG_E, NOR, true, false }, // CMPE 103 { NOG, rrrr, M680X_REG_F, NOR, true, false }, // CMPF 104 { NOG, rrrr, NOR, NOR, true, false }, // CMPR 105 { NOG, rrrr, M680X_REG_S, NOR, true, false }, // CMPS 106 { NOG, rrrr, M680X_REG_U, NOR, true, false }, // CMPU 107 { NOG, rrrr, M680X_REG_W, NOR, true, false }, // CMPW 108 { NOG, rrrr, M680X_REG_X, NOR, true, false }, // CMPX 109 { NOG, rrrr, M680X_REG_Y, NOR, true, false }, // CMPY 110 { NOG, mrrr, NOR, NOR, true, false }, // COM 111 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // COMA 112 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // COMB 113 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // COMD 114 { NOG, mrrr, M680X_REG_E, NOR, true, false }, // COME 115 { NOG, mrrr, M680X_REG_F, NOR, true, false }, // COMF 116 { NOG, mrrr, M680X_REG_W, NOR, true, false }, // COMW 117 { NOG, mrrr, M680X_REG_X, NOR, true, false }, // COMX 118 { NOG, rrrr, M680X_REG_D, NOR, true, false }, // CPD 119 { NOG, rrrr, M680X_REG_HX, NOR, true, false }, // CPHX 120 { NOG, rrrr, M680X_REG_S, NOR, true, false }, // CPS 121 { NOG, rrrr, M680X_REG_X, NOR, true, false }, // CPX 122 { NOG, rrrr, M680X_REG_Y, NOR, true, false }, // CPY 123 { NOG, mrrr, NOR, NOR, true, true }, // CWAI 124 { NOG, mrrr, NOR, NOR, true, true }, // DAA 125 { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // DBEQ 126 { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // DBNE 127 { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // DBNZ 128 { M680X_GRP_JUMP, muuu, M680X_REG_A, NOR, false, false }, // DBNZA 129 { M680X_GRP_JUMP, muuu, M680X_REG_X, NOR, false, false }, // DBNZX 130 { NOG, mrrr, NOR, NOR, true, false }, // DEC 131 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // DECA 132 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // DECB 133 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // DECD 134 { NOG, mrrr, M680X_REG_E, NOR, true, false }, // DECE 135 { NOG, mrrr, M680X_REG_F, NOR, true, false }, // DECF 136 { NOG, mrrr, M680X_REG_W, NOR, true, false }, // DECW 137 { NOG, mrrr, M680X_REG_X, NOR, true, false }, // DECX 138 { NOG, mrrr, M680X_REG_S, NOR, false, false }, // DES 139 { NOG, mrrr, M680X_REG_X, NOR, true, false }, // DEX 140 { NOG, mrrr, M680X_REG_Y, NOR, true, false }, // DEY 141 { NOG, mmrr, NOR, NOR, true, true }, // DIV 142 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // DIVD 143 { NOG, mrrr, M680X_REG_Q, NOR, true, false }, // DIVQ 144 { NOG, mmrr, NOR, NOR, true, true }, // EDIV 145 { NOG, mmrr, NOR, NOR, true, true }, // EDIVS 146 { NOG, rmmm, NOR, NOR, true, false }, // EIM 147 { NOG, mrrr, NOR, NOR, true, true }, // EMACS 148 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // EMAXD 149 { NOG, mrrr, NOR, NOR, true, true }, // EMAXM 150 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // EMIND 151 { NOG, mrrr, NOR, NOR, true, true }, // EMINM 152 { NOG, mmrr, NOR, NOR, true, true }, // EMUL 153 { NOG, mmrr, NOR, NOR, true, true }, // EMULS 154 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // EOR 155 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // EORA 156 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // EORB 157 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // EORD 158 { NOG, rmmm, NOR, NOR, true, false }, // EORR 159 { NOG, rmmm, NOR, NOR, true, true }, // ETBL 160 { NOG, mmmm, NOR, NOR, false, false }, // EXG 161 { NOG, mmmm, NOR, NOR, true, true }, // FDIV 162 { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // IBEQ 163 { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // IBNE 164 { NOG, mmmm, NOR, NOR, true, true }, // IDIV 165 { NOG, mmmm, NOR, NOR, true, true }, // IDIVS 166 { NOG, uuuu, NOR, NOR, false, false }, // ILLGL 167 { NOG, mrrr, NOR, NOR, true, false }, // INC 168 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // INCA 169 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // INCB 170 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // INCD 171 { NOG, mrrr, M680X_REG_E, NOR, true, false }, // INCE 172 { NOG, mrrr, M680X_REG_F, NOR, true, false }, // INCF 173 { NOG, mrrr, M680X_REG_W, NOR, true, false }, // INCW 174 { NOG, mrrr, M680X_REG_X, NOR, true, false }, // INCX 175 { NOG, mrrr, M680X_REG_S, NOR, false, false }, // INS 176 { NOG, mrrr, M680X_REG_X, NOR, true, false }, // INX 177 { NOG, mrrr, M680X_REG_Y, NOR, true, false }, // INY 178 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // JMP 179 { M680X_GRP_CALL, uuuu, NOR, NOR, false, true }, // JSR 180 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBCC 181 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBCS 182 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBEQ 183 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBGE 184 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBGT 185 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBHI 186 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBLE 187 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBLS 188 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBLT 189 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBMI 190 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBNE 191 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBPL 192 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBRA 193 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBRN never branches 194 { M680X_GRP_CALL, uuuu, NOR, NOR, false, true }, // LBSR 195 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBVC 196 { M680X_GRP_JUMP, uuuu, NOR, NOR, false, false }, // LBVS 197 { NOG, wrrr, M680X_REG_A, NOR, true, false }, // LDA 198 { NOG, wrrr, M680X_REG_A, NOR, true, false }, // LDAA 199 { NOG, wrrr, M680X_REG_B, NOR, true, false }, // LDAB 200 { NOG, wrrr, M680X_REG_B, NOR, true, false }, // LDB 201 { NOG, mrrr, NOR, NOR, false, false }, // LDBT 202 { NOG, wrrr, M680X_REG_D, NOR, true, false }, // LDD 203 { NOG, wrrr, M680X_REG_E, NOR, true, false }, // LDE 204 { NOG, wrrr, M680X_REG_F, NOR, true, false }, // LDF 205 { NOG, wrrr, M680X_REG_HX, NOR, true, false }, // LDHX 206 { NOG, mrrr, M680X_REG_MD, NOR, false, false }, // LDMD 207 { NOG, wrrr, M680X_REG_Q, NOR, true, false }, // LDQ 208 { NOG, wrrr, M680X_REG_S, NOR, true, false }, // LDS 209 { NOG, wrrr, M680X_REG_U, NOR, true, false }, // LDU 210 { NOG, wrrr, M680X_REG_W, NOR, true, false }, // LDW 211 { NOG, wrrr, M680X_REG_X, NOR, true, false }, // LDX 212 { NOG, wrrr, M680X_REG_Y, NOR, true, false }, // LDY 213 { NOG, wrrr, M680X_REG_S, NOR, false, false }, // LEAS 214 { NOG, wrrr, M680X_REG_U, NOR, false, false }, // LEAU 215 { NOG, wrrr, M680X_REG_X, NOR, false, false }, // LEAX 216 { NOG, wrrr, M680X_REG_Y, NOR, false, false }, // LEAY 217 { NOG, mrrr, NOR, NOR, true, false }, // LSL 218 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // LSLA 219 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // LSLB 220 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // LSLD 221 { NOG, mrrr, M680X_REG_X, NOR, true, false }, // LSLX 222 { NOG, mrrr, NOR, NOR, true, false }, // LSR 223 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // LSRA 224 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // LSRB 225 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // LSRD 226 { NOG, mrrr, M680X_REG_W, NOR, true, false }, // LSRW 227 { NOG, mrrr, M680X_REG_X, NOR, true, false }, // LSRX 228 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // MAXA 229 { NOG, mrrr, NOR, NOR, true, true }, // MAXM 230 { NOG, mmrr, NOR, NOR, true, true }, // MEM 231 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // MINA 232 { NOG, mrrr, NOR, NOR, true, true }, // MINM 233 { NOG, rwww, NOR, NOR, true, false }, // MOV 234 { NOG, rwww, NOR, NOR, false, false }, // MOVB 235 { NOG, rwww, NOR, NOR, false, false }, // MOVW 236 { NOG, mmmm, NOR, NOR, true, true }, // MUL 237 { NOG, mwrr, M680X_REG_D, NOR, true, true }, // MULD 238 { NOG, mrrr, NOR, NOR, true, false }, // NEG 239 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // NEGA 240 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // NEGB 241 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // NEGD 242 { NOG, mrrr, M680X_REG_X, NOR, true, false }, // NEGX 243 { NOG, uuuu, NOR, NOR, false, false }, // NOP 244 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // NSA 245 { NOG, rmmm, NOR, NOR, true, false }, // OIM 246 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ORA 247 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ORAA 248 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ORAB 249 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ORB 250 { NOG, mrrr, M680X_REG_CC, NOR, true, false }, // ORCC 251 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ORD 252 { NOG, rmmm, NOR, NOR, true, false }, // ORR 253 { NOG, rmmm, M680X_REG_A, NOR, false, true }, // PSHA 254 { NOG, rmmm, M680X_REG_B, NOR, false, true }, // PSHB 255 { NOG, rmmm, M680X_REG_CC, NOR, false, true }, // PSHC 256 { NOG, rmmm, M680X_REG_D, NOR, false, true }, // PSHD 257 { NOG, rmmm, M680X_REG_H, NOR, false, true }, // PSHH 258 { NOG, mrrr, M680X_REG_S, NOR, false, false }, // PSHS 259 { NOG, mrrr, M680X_REG_S, M680X_REG_W, false, false }, // PSHSW 260 { NOG, mrrr, M680X_REG_U, NOR, false, false }, // PSHU 261 { NOG, mrrr, M680X_REG_U, M680X_REG_W, false, false }, // PSHUW 262 { NOG, rmmm, M680X_REG_X, NOR, false, true }, // PSHX 263 { NOG, rmmm, M680X_REG_Y, NOR, false, true }, // PSHY 264 { NOG, wmmm, M680X_REG_A, NOR, false, true }, // PULA 265 { NOG, wmmm, M680X_REG_B, NOR, false, true }, // PULB 266 { NOG, wmmm, M680X_REG_CC, NOR, false, true }, // PULC 267 { NOG, wmmm, M680X_REG_D, NOR, false, true }, // PULD 268 { NOG, wmmm, M680X_REG_H, NOR, false, true }, // PULH 269 { NOG, mwww, M680X_REG_S, NOR, false, false }, // PULS 270 { NOG, mwww, M680X_REG_S, M680X_REG_W, false, false }, // PULSW 271 { NOG, mwww, M680X_REG_U, NOR, false, false }, // PULU 272 { NOG, mwww, M680X_REG_U, M680X_REG_W, false, false }, // PULUW 273 { NOG, wmmm, M680X_REG_X, NOR, false, true }, // PULX 274 { NOG, wmmm, M680X_REG_Y, NOR, false, true }, // PULY 275 { NOG, mmrr, NOR, NOR, true, true }, // REV 276 { NOG, mmmm, NOR, NOR, true, true }, // REVW 277 { NOG, mrrr, NOR, NOR, true, false }, // ROL 278 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // ROLA 279 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // ROLB 280 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // ROLD 281 { NOG, mrrr, M680X_REG_W, NOR, true, false }, // ROLW 282 { NOG, mrrr, M680X_REG_X, NOR, true, false }, // ROLX 283 { NOG, mrrr, NOR, NOR, true, false }, // ROR 284 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // RORA 285 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // RORB 286 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // RORD 287 { NOG, mrrr, M680X_REG_W, NOR, true, false }, // RORW 288 { NOG, mrrr, M680X_REG_X, NOR, true, false }, // RORX 289 { NOG, wrrr, M680X_REG_S, NOR, false, false }, // RSP 290 { M680X_GRP_RET, mwww, NOR, NOR, false, true }, // RTC 291 { M680X_GRP_IRET, mwww, NOR, NOR, false, true }, // RTI 292 { M680X_GRP_RET, mwww, NOR, NOR, false, true }, // RTS 293 { NOG, rmmm, M680X_REG_B, M680X_REG_A, true, false }, // SBA 294 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // SBC 295 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // SBCA 296 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // SBCB 297 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // SBCD 298 { NOG, rmmm, NOR, NOR, true, false }, // SBCR 299 { NOG, uuuu, NOR, NOR, true, false }, // SEC 300 { NOG, uuuu, NOR, NOR, true, false }, // SEI 301 { NOG, uuuu, NOR, NOR, true, false }, // SEV 302 { NOG, wrrr, NOR, NOR, true, true }, // SEX 303 { NOG, rwww, M680X_REG_W, NOR, true, true }, // SEXW 304 { NOG, uuuu, NOR, NOR, false, false }, // SLP 305 { NOG, rwww, M680X_REG_A, NOR, true, false }, // STA 306 { NOG, rwww, M680X_REG_A, NOR, true, false }, // STAA 307 { NOG, rwww, M680X_REG_B, NOR, true, false }, // STAB 308 { NOG, rwww, M680X_REG_B, NOR, true, false }, // STB 309 { NOG, rrrm, NOR, NOR, false, false }, // STBT 310 { NOG, rwww, M680X_REG_D, NOR, true, false }, // STD 311 { NOG, rwww, M680X_REG_E, NOR, true, false }, // STE 312 { NOG, rwww, M680X_REG_F, NOR, true, false }, // STF 313 { NOG, uuuu, NOR, NOR, false, false }, // STOP 314 { NOG, rwww, M680X_REG_HX, NOR, true, false }, // STHX 315 { NOG, rwww, M680X_REG_Q, NOR, true, false }, // STQ 316 { NOG, rwww, M680X_REG_S, NOR, true, false }, // STS 317 { NOG, rwww, M680X_REG_U, NOR, true, false }, // STU 318 { NOG, rwww, M680X_REG_W, NOR, true, false }, // STW 319 { NOG, rwww, M680X_REG_X, NOR, true, false }, // STX 320 { NOG, rwww, M680X_REG_Y, NOR, true, false }, // STY 321 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // SUB 322 { NOG, mrrr, M680X_REG_A, NOR, true, false }, // SUBA 323 { NOG, mrrr, M680X_REG_B, NOR, true, false }, // SUBB 324 { NOG, mrrr, M680X_REG_D, NOR, true, false }, // SUBD 325 { NOG, mrrr, M680X_REG_E, NOR, true, false }, // SUBE 326 { NOG, mrrr, M680X_REG_F, NOR, true, false }, // SUBF 327 { NOG, rmmm, NOR, NOR, true, false }, // SUBR 328 { NOG, mrrr, M680X_REG_W, NOR, true, false }, // SUBW 329 { M680X_GRP_INT, mmrr, NOR, NOR, true, true }, // SWI 330 { M680X_GRP_INT, mmrr, NOR, NOR, true, true }, // SWI2 331 { M680X_GRP_INT, mmrr, NOR, NOR, true, true }, // SWI3 332 { NOG, uuuu, NOR, NOR, false, false }, // SYNC 333 { NOG, rwww, M680X_REG_A, M680X_REG_B, true, false }, // TAB 334 { NOG, rwww, M680X_REG_A, M680X_REG_CC, false, false }, // TAP 335 { NOG, rwww, M680X_REG_A, M680X_REG_X, false, false }, // TAX 336 { NOG, rwww, M680X_REG_B, M680X_REG_A, true, false }, // TBA 337 { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // TBEQ 338 { NOG, rmmm, NOR, NOR, true, true }, // TBL 339 { M680X_GRP_JUMP, muuu, NOR, NOR, false, false }, // TBNE 340 { NOG, uuuu, NOR, NOR, false, false }, // TEST 341 { NOG, rwww, NOR, NOR, false, false }, // TFM 342 { NOG, rwww, NOR, NOR, false, false }, // TFR 343 { NOG, rrrr, NOR, NOR, true, false }, // TIM 344 { NOG, rwww, M680X_REG_CC, M680X_REG_A, false, false }, // TPA 345 { NOG, rrrr, NOR, NOR, true, false }, // TST 346 { NOG, rrrr, M680X_REG_A, NOR, true, false }, // TSTA 347 { NOG, rrrr, M680X_REG_B, NOR, true, false }, // TSTB 348 { NOG, rrrr, M680X_REG_D, NOR, true, false }, // TSTD 349 { NOG, rrrr, M680X_REG_E, NOR, true, false }, // TSTE 350 { NOG, rrrr, M680X_REG_F, NOR, true, false }, // TSTF 351 { NOG, rrrr, M680X_REG_W, NOR, true, false }, // TSTW 352 { NOG, rrrr, M680X_REG_X, NOR, true, false }, // TSTX 353 { NOG, rwww, M680X_REG_S, M680X_REG_HX, false, false }, // TSX 354 { NOG, rwww, M680X_REG_S, M680X_REG_Y, false, false }, // TSY 355 { NOG, rwww, M680X_REG_X, M680X_REG_A, false, false }, // TXA 356 { NOG, rwww, M680X_REG_HX, M680X_REG_S, false, false }, // TXS 357 { NOG, rwww, M680X_REG_Y, M680X_REG_S, false, false }, // TYS 358 { NOG, mrrr, NOR, NOR, true, true }, // WAI 359 { NOG, uuuu, NOR, NOR, true, false }, // WAIT 360 { NOG, uuuu, NOR, NOR, true, true }, // WAV 361 { NOG, uuuu, NOR, NOR, true, true }, // WAVR 362 { NOG, mmmm, M680X_REG_D, M680X_REG_X, false, false }, // XGDX 363 { NOG, mmmm, M680X_REG_D, M680X_REG_Y, false, false }, // XGDY 364}; 365#undef NOR 366#undef NOG 367 368