1*3d8817e4Smiod /* m68hc11-opc.c -- Motorola 68HC11 & 68HC12 opcode list 2*3d8817e4Smiod Copyright 1999, 2000, 2002 Free Software Foundation, Inc. 3*3d8817e4Smiod Written by Stephane Carrez (stcarrez@nerim.fr) 4*3d8817e4Smiod 5*3d8817e4Smiod This file is part of GDB, GAS, and the GNU binutils. 6*3d8817e4Smiod 7*3d8817e4Smiod GDB, GAS, and the GNU binutils are free software; you can redistribute 8*3d8817e4Smiod them and/or modify them under the terms of the GNU General Public 9*3d8817e4Smiod License as published by the Free Software Foundation; either version 10*3d8817e4Smiod 2, or (at your option) any later version. 11*3d8817e4Smiod 12*3d8817e4Smiod GDB, GAS, and the GNU binutils are distributed in the hope that they 13*3d8817e4Smiod will be useful, but WITHOUT ANY WARRANTY; without even the implied 14*3d8817e4Smiod warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See 15*3d8817e4Smiod the GNU General Public License for more details. 16*3d8817e4Smiod 17*3d8817e4Smiod You should have received a copy of the GNU General Public License 18*3d8817e4Smiod along with this file; see the file COPYING. If not, write to the Free 19*3d8817e4Smiod Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 20*3d8817e4Smiod */ 21*3d8817e4Smiod 22*3d8817e4Smiod #include <stdio.h> 23*3d8817e4Smiod #include "ansidecl.h" 24*3d8817e4Smiod #include "opcode/m68hc11.h" 25*3d8817e4Smiod 26*3d8817e4Smiod #define TABLE_SIZE(X) (sizeof(X) / sizeof(X[0])) 27*3d8817e4Smiod 28*3d8817e4Smiod /* Combination of CCR flags. */ 29*3d8817e4Smiod #define M6811_ZC_BIT M6811_Z_BIT|M6811_C_BIT 30*3d8817e4Smiod #define M6811_NZ_BIT M6811_N_BIT|M6811_Z_BIT 31*3d8817e4Smiod #define M6811_NZV_BIT M6811_N_BIT|M6811_Z_BIT|M6811_V_BIT 32*3d8817e4Smiod #define M6811_NZC_BIT M6811_N_BIT|M6811_Z_BIT|M6811_C_BIT 33*3d8817e4Smiod #define M6811_NVC_BIT M6811_N_BIT|M6811_V_BIT|M6811_C_BIT 34*3d8817e4Smiod #define M6811_ZVC_BIT M6811_Z_BIT|M6811_V_BIT|M6811_C_BIT 35*3d8817e4Smiod #define M6811_NZVC_BIT M6811_ZVC_BIT|M6811_N_BIT 36*3d8817e4Smiod #define M6811_HNZVC_BIT M6811_NZVC_BIT|M6811_H_BIT 37*3d8817e4Smiod #define M6811_HNVC_BIT M6811_NVC_BIT|M6811_H_BIT 38*3d8817e4Smiod #define M6811_VC_BIT M6811_V_BIT|M6811_C_BIT 39*3d8817e4Smiod 40*3d8817e4Smiod /* Flags when the insn only changes some CCR flags. */ 41*3d8817e4Smiod #define CHG_NONE 0,0,0 42*3d8817e4Smiod #define CHG_Z 0,0,M6811_Z_BIT 43*3d8817e4Smiod #define CHG_C 0,0,M6811_C_BIT 44*3d8817e4Smiod #define CHG_ZVC 0,0,M6811_ZVC_BIT 45*3d8817e4Smiod #define CHG_NZC 0,0,M6811_NZC_BIT 46*3d8817e4Smiod #define CHG_NZV 0,0,M6811_NZV_BIT 47*3d8817e4Smiod #define CHG_NZVC 0,0,M6811_NZVC_BIT 48*3d8817e4Smiod #define CHG_HNZVC 0,0,M6811_HNZVC_BIT 49*3d8817e4Smiod #define CHG_ALL 0,0,0xff 50*3d8817e4Smiod 51*3d8817e4Smiod /* The insn clears and changes some flags. */ 52*3d8817e4Smiod #define CLR_I 0,M6811_I_BIT,0 53*3d8817e4Smiod #define CLR_C 0,M6811_C_BIT,0 54*3d8817e4Smiod #define CLR_V 0,M6811_V_BIT,0 55*3d8817e4Smiod #define CLR_V_CHG_ZC 0,M6811_V_BIT,M6811_ZC_BIT 56*3d8817e4Smiod #define CLR_V_CHG_NZ 0,M6811_V_BIT,M6811_NZ_BIT 57*3d8817e4Smiod #define CLR_V_CHG_ZVC 0,M6811_V_BIT,M6811_ZVC_BIT 58*3d8817e4Smiod #define CLR_N_CHG_ZVC 0,M6811_N_BIT,M6811_ZVC_BIT /* Used by lsr */ 59*3d8817e4Smiod #define CLR_VC_CHG_NZ 0,M6811_VC_BIT,M6811_NZ_BIT 60*3d8817e4Smiod 61*3d8817e4Smiod /* The insn sets some flags. */ 62*3d8817e4Smiod #define SET_I M6811_I_BIT,0,0 63*3d8817e4Smiod #define SET_C M6811_C_BIT,0,0 64*3d8817e4Smiod #define SET_V M6811_V_BIT,0,0 65*3d8817e4Smiod #define SET_Z_CLR_NVC M6811_Z_BIT,M6811_NVC_BIT,0 66*3d8817e4Smiod #define SET_C_CLR_V_CHG_NZ M6811_C_BIT,M6811_V_BIT,M6811_NZ_BIT 67*3d8817e4Smiod #define SET_Z_CHG_HNVC M6811_Z_BIT,0,M6811_HNVC_BIT 68*3d8817e4Smiod 69*3d8817e4Smiod #define _M 0xff 70*3d8817e4Smiod #define OP_NONE M6811_OP_NONE 71*3d8817e4Smiod #define OP_PAGE2 M6811_OP_PAGE2 72*3d8817e4Smiod #define OP_PAGE3 M6811_OP_PAGE3 73*3d8817e4Smiod #define OP_PAGE4 M6811_OP_PAGE4 74*3d8817e4Smiod #define OP_IMM8 M6811_OP_IMM8 75*3d8817e4Smiod #define OP_IMM16 M6811_OP_IMM16 76*3d8817e4Smiod #define OP_IX M6811_OP_IX 77*3d8817e4Smiod #define OP_IY M6811_OP_IY 78*3d8817e4Smiod #define OP_IND16 M6811_OP_IND16 79*3d8817e4Smiod #define OP_PAGE M6812_OP_PAGE 80*3d8817e4Smiod #define OP_IDX M6812_OP_IDX 81*3d8817e4Smiod #define OP_IDX_1 M6812_OP_IDX_1 82*3d8817e4Smiod #define OP_IDX_2 M6812_OP_IDX_2 83*3d8817e4Smiod #define OP_D_IDX M6812_OP_D_IDX 84*3d8817e4Smiod #define OP_D_IDX_2 M6812_OP_D_IDX_2 85*3d8817e4Smiod #define OP_DIRECT M6811_OP_DIRECT 86*3d8817e4Smiod #define OP_BITMASK M6811_OP_BITMASK 87*3d8817e4Smiod #define OP_BRANCH M6811_OP_BRANCH 88*3d8817e4Smiod #define OP_JUMP_REL (M6811_OP_JUMP_REL|OP_BRANCH) 89*3d8817e4Smiod #define OP_JUMP_REL16 (M6812_OP_JUMP_REL16|OP_BRANCH) 90*3d8817e4Smiod #define OP_REG M6812_OP_REG 91*3d8817e4Smiod #define OP_REG_1 M6812_OP_REG 92*3d8817e4Smiod #define OP_REG_2 M6812_OP_REG_2 93*3d8817e4Smiod #define OP_IDX_p2 M6812_OP_IDX_P2 94*3d8817e4Smiod #define OP_IND16_p2 M6812_OP_IND16_P2 95*3d8817e4Smiod #define OP_TRAP_ID M6812_OP_TRAP_ID 96*3d8817e4Smiod #define OP_EXG_MARKER M6812_OP_EXG_MARKER 97*3d8817e4Smiod #define OP_TFR_MARKER M6812_OP_TFR_MARKER 98*3d8817e4Smiod #define OP_DBEQ_MARKER (M6812_OP_DBCC_MARKER|M6812_OP_EQ_MARKER) 99*3d8817e4Smiod #define OP_DBNE_MARKER (M6812_OP_DBCC_MARKER) 100*3d8817e4Smiod #define OP_TBEQ_MARKER (M6812_OP_TBCC_MARKER|M6812_OP_EQ_MARKER) 101*3d8817e4Smiod #define OP_TBNE_MARKER (M6812_OP_TBCC_MARKER) 102*3d8817e4Smiod #define OP_IBEQ_MARKER (M6812_OP_IBCC_MARKER|M6812_OP_EQ_MARKER) 103*3d8817e4Smiod #define OP_IBNE_MARKER (M6812_OP_IBCC_MARKER) 104*3d8817e4Smiod 105*3d8817e4Smiod /* 106*3d8817e4Smiod { "test", OP_NONE, 1, 0x00, 5, _M, CHG_NONE, cpu6811 }, 107*3d8817e4Smiod +-- cpu 108*3d8817e4Smiod Name -+ +------- Insn CCR changes 109*3d8817e4Smiod Format ------+ +----------- Max # cycles 110*3d8817e4Smiod Size --------------------+ +--------------- Min # cycles 111*3d8817e4Smiod +--------------------- Opcode 112*3d8817e4Smiod */ 113*3d8817e4Smiod const struct m68hc11_opcode m68hc11_opcodes[] = { 114*3d8817e4Smiod { "aba", OP_NONE, 1, 0x1b, 2, 2, CHG_HNZVC, cpu6811 }, 115*3d8817e4Smiod { "aba", OP_NONE | OP_PAGE2,2, 0x06, 2, 2, CHG_HNZVC, cpu6812 }, 116*3d8817e4Smiod { "abx", OP_NONE, 1, 0x3a, 3, 3, CHG_NONE, cpu6811 }, 117*3d8817e4Smiod { "aby", OP_NONE | OP_PAGE2,2, 0x3a, 4, 4, CHG_NONE, cpu6811 }, 118*3d8817e4Smiod 119*3d8817e4Smiod { "adca", OP_IMM8, 2, 0x89, 1, 1, CHG_HNZVC, cpu6811|cpu6812 }, 120*3d8817e4Smiod { "adca", OP_DIRECT, 2, 0x99, 3, 3, CHG_HNZVC, cpu6811|cpu6812 }, 121*3d8817e4Smiod { "adca", OP_IND16, 3, 0xb9, 3, 3, CHG_HNZVC, cpu6811|cpu6812 }, 122*3d8817e4Smiod { "adca", OP_IX, 2, 0xa9, 4, 4, CHG_HNZVC, cpu6811 }, 123*3d8817e4Smiod { "adca", OP_IY | OP_PAGE2, 3, 0xa9, 5, 5, CHG_HNZVC, cpu6811 }, 124*3d8817e4Smiod { "adca", OP_IDX, 2, 0xa9, 3, 3, CHG_HNZVC, cpu6812 }, 125*3d8817e4Smiod { "adca", OP_IDX_1, 3, 0xa9, 3, 3, CHG_HNZVC, cpu6812 }, 126*3d8817e4Smiod { "adca", OP_IDX_2, 4, 0xa9, 4, 4, CHG_HNZVC, cpu6812 }, 127*3d8817e4Smiod { "adca", OP_D_IDX, 2, 0xa9, 6, 6, CHG_HNZVC, cpu6812 }, 128*3d8817e4Smiod { "adca", OP_D_IDX_2, 4, 0xa9, 6, 6, CHG_HNZVC, cpu6812 }, 129*3d8817e4Smiod 130*3d8817e4Smiod { "adcb", OP_IMM8, 2, 0xc9, 1, 1, CHG_HNZVC, cpu6811|cpu6812 }, 131*3d8817e4Smiod { "adcb", OP_DIRECT, 2, 0xd9, 3, 3, CHG_HNZVC, cpu6811|cpu6812 }, 132*3d8817e4Smiod { "adcb", OP_IND16, 3, 0xf9, 3, 3, CHG_HNZVC, cpu6811|cpu6812 }, 133*3d8817e4Smiod { "adcb", OP_IX, 2, 0xe9, 4, 4, CHG_HNZVC, cpu6811 }, 134*3d8817e4Smiod { "adcb", OP_IY | OP_PAGE2, 3, 0xe9, 5, 5, CHG_HNZVC, cpu6811 }, 135*3d8817e4Smiod { "adcb", OP_IDX, 2, 0xe9, 3, 3, CHG_HNZVC, cpu6812 }, 136*3d8817e4Smiod { "adcb", OP_IDX_1, 3, 0xe9, 3, 3, CHG_HNZVC, cpu6812 }, 137*3d8817e4Smiod { "adcb", OP_IDX_2, 4, 0xe9, 4, 4, CHG_HNZVC, cpu6812 }, 138*3d8817e4Smiod { "adcb", OP_D_IDX, 2, 0xe9, 6, 6, CHG_HNZVC, cpu6812 }, 139*3d8817e4Smiod { "adcb", OP_D_IDX_2, 4, 0xe9, 6, 6, CHG_HNZVC, cpu6812 }, 140*3d8817e4Smiod 141*3d8817e4Smiod { "adda", OP_IMM8, 2, 0x8b, 1, 1, CHG_HNZVC, cpu6811|cpu6812 }, 142*3d8817e4Smiod { "adda", OP_DIRECT, 2, 0x9b, 3, 3, CHG_HNZVC, cpu6811|cpu6812 }, 143*3d8817e4Smiod { "adda", OP_IND16, 3, 0xbb, 3, 3, CHG_HNZVC, cpu6811|cpu6812 }, 144*3d8817e4Smiod { "adda", OP_IX, 2, 0xab, 4, 4, CHG_HNZVC, cpu6811 }, 145*3d8817e4Smiod { "adda", OP_IY | OP_PAGE2, 3, 0xab, 5, 5, CHG_HNZVC, cpu6811 }, 146*3d8817e4Smiod { "adda", OP_IDX, 2, 0xab, 3, 3, CHG_HNZVC, cpu6812 }, 147*3d8817e4Smiod { "adda", OP_IDX_1, 3, 0xab, 3, 3, CHG_HNZVC, cpu6812 }, 148*3d8817e4Smiod { "adda", OP_IDX_2, 4, 0xab, 4, 4, CHG_HNZVC, cpu6812 }, 149*3d8817e4Smiod { "adda", OP_D_IDX, 2, 0xab, 6, 6, CHG_HNZVC, cpu6812 }, 150*3d8817e4Smiod { "adda", OP_D_IDX_2, 4, 0xab, 6, 6, CHG_HNZVC, cpu6812 }, 151*3d8817e4Smiod 152*3d8817e4Smiod { "addb", OP_IMM8, 2, 0xcb, 1, 1, CHG_HNZVC, cpu6811|cpu6812 }, 153*3d8817e4Smiod { "addb", OP_DIRECT, 2, 0xdb, 3, 3, CHG_HNZVC, cpu6811|cpu6812 }, 154*3d8817e4Smiod { "addb", OP_IND16, 3, 0xfb, 3, 3, CHG_HNZVC, cpu6811|cpu6812 }, 155*3d8817e4Smiod { "addb", OP_IX, 2, 0xeb, 4, 4, CHG_HNZVC, cpu6811 }, 156*3d8817e4Smiod { "addb", OP_IY | OP_PAGE2, 3, 0xeb, 5, 5, CHG_HNZVC, cpu6811 }, 157*3d8817e4Smiod { "addb", OP_IDX, 2, 0xeb, 3, 3, CHG_HNZVC, cpu6812 }, 158*3d8817e4Smiod { "addb", OP_IDX_1, 3, 0xeb, 3, 3, CHG_HNZVC, cpu6812 }, 159*3d8817e4Smiod { "addb", OP_IDX_2, 4, 0xeb, 4, 4, CHG_HNZVC, cpu6812 }, 160*3d8817e4Smiod { "addb", OP_D_IDX, 2, 0xeb, 6, 6, CHG_HNZVC, cpu6812 }, 161*3d8817e4Smiod { "addb", OP_D_IDX_2, 4, 0xeb, 6, 6, CHG_HNZVC, cpu6812 }, 162*3d8817e4Smiod 163*3d8817e4Smiod { "addd", OP_IMM16, 3, 0xc3, 2, 2, CHG_NZVC, cpu6811|cpu6812 }, 164*3d8817e4Smiod { "addd", OP_DIRECT, 2, 0xd3, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 165*3d8817e4Smiod { "addd", OP_IND16, 3, 0xf3, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 166*3d8817e4Smiod { "addd", OP_IX, 2, 0xe3, 6, 6, CHG_NZVC, cpu6811 }, 167*3d8817e4Smiod { "addd", OP_IY | OP_PAGE2, 3, 0xe3, 7, 7, CHG_NZVC, cpu6811 }, 168*3d8817e4Smiod { "addd", OP_IDX, 2, 0xe3, 3, 3, CHG_NZVC, cpu6812 }, 169*3d8817e4Smiod { "addd", OP_IDX_1, 3, 0xe3, 3, 3, CHG_NZVC, cpu6812 }, 170*3d8817e4Smiod { "addd", OP_IDX_2, 4, 0xe3, 4, 4, CHG_NZVC, cpu6812 }, 171*3d8817e4Smiod { "addd", OP_D_IDX, 2, 0xe3, 6, 6, CHG_NZVC, cpu6812 }, 172*3d8817e4Smiod { "addd", OP_D_IDX_2, 4, 0xe3, 6, 6, CHG_NZVC, cpu6812 }, 173*3d8817e4Smiod 174*3d8817e4Smiod { "anda", OP_IMM8, 2, 0x84, 1, 1, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 175*3d8817e4Smiod { "anda", OP_DIRECT, 2, 0x94, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 176*3d8817e4Smiod { "anda", OP_IND16, 3, 0xb4, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 177*3d8817e4Smiod { "anda", OP_IX, 2, 0xa4, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 178*3d8817e4Smiod { "anda", OP_IY | OP_PAGE2, 3, 0xa4, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 179*3d8817e4Smiod { "anda", OP_IDX, 2, 0xa4, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 180*3d8817e4Smiod { "anda", OP_IDX_1, 3, 0xa4, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 181*3d8817e4Smiod { "anda", OP_IDX_2, 4, 0xa4, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 182*3d8817e4Smiod { "anda", OP_D_IDX, 2, 0xa4, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 183*3d8817e4Smiod { "anda", OP_D_IDX_2, 4, 0xa4, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 184*3d8817e4Smiod 185*3d8817e4Smiod { "andb", OP_IMM8, 2, 0xc4, 1, 1, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 186*3d8817e4Smiod { "andb", OP_DIRECT, 2, 0xd4, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 187*3d8817e4Smiod { "andb", OP_IND16, 3, 0xf4, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 188*3d8817e4Smiod { "andb", OP_IX, 2, 0xe4, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 189*3d8817e4Smiod { "andb", OP_IY | OP_PAGE2, 3, 0xe4, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 190*3d8817e4Smiod { "andb", OP_IDX, 2, 0xe4, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 191*3d8817e4Smiod { "andb", OP_IDX_1, 3, 0xe4, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 192*3d8817e4Smiod { "andb", OP_IDX_2, 4, 0xe4, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 193*3d8817e4Smiod { "andb", OP_D_IDX, 2, 0xe4, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 194*3d8817e4Smiod { "andb", OP_D_IDX_2, 4, 0xe4, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 195*3d8817e4Smiod 196*3d8817e4Smiod { "andcc", OP_IMM8, 2, 0x10, 1, 1, CHG_ALL, cpu6812 }, 197*3d8817e4Smiod 198*3d8817e4Smiod { "asl", OP_IND16, 3, 0x78, 4, 4, CHG_NZVC, cpu6811|cpu6812 }, 199*3d8817e4Smiod { "asl", OP_IX, 2, 0x68, 6, 6, CHG_NZVC, cpu6811 }, 200*3d8817e4Smiod { "asl", OP_IY | OP_PAGE2, 3, 0x68, 7, 7, CHG_NZVC, cpu6811 }, 201*3d8817e4Smiod { "asl", OP_IDX, 2, 0x68, 3, 3, CHG_NZVC, cpu6812 }, 202*3d8817e4Smiod { "asl", OP_IDX_1, 3, 0x68, 4, 4, CHG_NZVC, cpu6812 }, 203*3d8817e4Smiod { "asl", OP_IDX_2, 4, 0x68, 5, 5, CHG_NZVC, cpu6812 }, 204*3d8817e4Smiod { "asl", OP_D_IDX, 2, 0x68, 6, 6, CHG_NZVC, cpu6812 }, 205*3d8817e4Smiod { "asl", OP_D_IDX_2, 4, 0x68, 6, 6, CHG_NZVC, cpu6812 }, 206*3d8817e4Smiod 207*3d8817e4Smiod { "asla", OP_NONE, 1, 0x48, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 208*3d8817e4Smiod { "aslb", OP_NONE, 1, 0x58, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 209*3d8817e4Smiod { "asld", OP_NONE, 1, 0x05, 3, 3, CHG_NZVC, cpu6811 }, 210*3d8817e4Smiod { "asld", OP_NONE, 1, 0x59, 1, 1, CHG_NZVC, cpu6812 }, 211*3d8817e4Smiod 212*3d8817e4Smiod { "asr", OP_IND16, 3, 0x77, 4, 4, CHG_NZVC, cpu6811|cpu6812 }, 213*3d8817e4Smiod { "asr", OP_IX, 2, 0x67, 6, 6, CHG_NZVC, cpu6811 }, 214*3d8817e4Smiod { "asr", OP_IY | OP_PAGE2, 3, 0x67, 7, 7, CHG_NZVC, cpu6811 }, 215*3d8817e4Smiod { "asr", OP_IDX, 2, 0x67, 3, 3, CHG_NZVC, cpu6812 }, 216*3d8817e4Smiod { "asr", OP_IDX_1, 3, 0x67, 4, 4, CHG_NZVC, cpu6812 }, 217*3d8817e4Smiod { "asr", OP_IDX_2, 4, 0x67, 5, 5, CHG_NZVC, cpu6812 }, 218*3d8817e4Smiod { "asr", OP_D_IDX, 2, 0x67, 6, 6, CHG_NZVC, cpu6812 }, 219*3d8817e4Smiod { "asr", OP_D_IDX_2, 4, 0x67, 6, 6, CHG_NZVC, cpu6812 }, 220*3d8817e4Smiod 221*3d8817e4Smiod { "asra", OP_NONE, 1, 0x47, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 222*3d8817e4Smiod { "asrb", OP_NONE, 1, 0x57, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 223*3d8817e4Smiod 224*3d8817e4Smiod { "bcc", OP_JUMP_REL, 2, 0x24, 1, 3, CHG_NONE, cpu6811|cpu6812 }, 225*3d8817e4Smiod 226*3d8817e4Smiod { "bclr", OP_BITMASK|OP_DIRECT, 3, 0x15, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 227*3d8817e4Smiod { "bclr", OP_BITMASK|OP_IX, 3, 0x1d, 7, 7, CLR_V_CHG_NZ, cpu6811 }, 228*3d8817e4Smiod { "bclr", OP_BITMASK|OP_IY|OP_PAGE2, 4, 0x1d, 8, 8, CLR_V_CHG_NZ, cpu6811}, 229*3d8817e4Smiod { "bclr", OP_BITMASK|OP_DIRECT, 3, 0x4d, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 230*3d8817e4Smiod { "bclr", OP_BITMASK|OP_IND16, 4, 0x1d, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 231*3d8817e4Smiod { "bclr", OP_BITMASK|OP_IDX, 3, 0x0d, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 232*3d8817e4Smiod { "bclr", OP_BITMASK|OP_IDX_1, 4, 0x0d, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 233*3d8817e4Smiod { "bclr", OP_BITMASK|OP_IDX_2, 5, 0x0d, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 234*3d8817e4Smiod 235*3d8817e4Smiod { "bcs", OP_JUMP_REL, 2, 0x25, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 236*3d8817e4Smiod { "beq", OP_JUMP_REL, 2, 0x27, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 237*3d8817e4Smiod { "bge", OP_JUMP_REL, 2, 0x2c, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 238*3d8817e4Smiod 239*3d8817e4Smiod { "bgnd", OP_NONE, 1, 0x00, 5, 5, CHG_NONE, cpu6811 | cpu6812 }, 240*3d8817e4Smiod 241*3d8817e4Smiod { "bgt", OP_JUMP_REL, 2, 0x2e, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 242*3d8817e4Smiod { "bhi", OP_JUMP_REL, 2, 0x22, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 243*3d8817e4Smiod { "bhs", OP_JUMP_REL, 2, 0x24, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 244*3d8817e4Smiod 245*3d8817e4Smiod { "bita", OP_IMM8, 2, 0x85, 1, 1, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 246*3d8817e4Smiod { "bita", OP_DIRECT, 2, 0x95, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 247*3d8817e4Smiod { "bita", OP_IND16, 3, 0xb5, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 248*3d8817e4Smiod { "bita", OP_IX, 2, 0xa5, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 249*3d8817e4Smiod { "bita", OP_IY | OP_PAGE2, 3, 0xa5, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 250*3d8817e4Smiod { "bita", OP_IDX, 2, 0xa5, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 251*3d8817e4Smiod { "bita", OP_IDX_1, 3, 0xa5, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 252*3d8817e4Smiod { "bita", OP_IDX_2, 4, 0xa5, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 253*3d8817e4Smiod { "bita", OP_D_IDX, 2, 0xa5, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 254*3d8817e4Smiod { "bita", OP_D_IDX_2, 4, 0xa5, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 255*3d8817e4Smiod 256*3d8817e4Smiod { "bitb", OP_IMM8, 2, 0xc5, 1, 1, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 257*3d8817e4Smiod { "bitb", OP_DIRECT, 2, 0xd5, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 258*3d8817e4Smiod { "bitb", OP_IND16, 3, 0xf5, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 259*3d8817e4Smiod { "bitb", OP_IX, 2, 0xe5, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 260*3d8817e4Smiod { "bitb", OP_IY | OP_PAGE2, 3, 0xe5, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 261*3d8817e4Smiod { "bitb", OP_IDX, 2, 0xe5, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 262*3d8817e4Smiod { "bitb", OP_IDX_1, 3, 0xe5, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 263*3d8817e4Smiod { "bitb", OP_IDX_2, 4, 0xe5, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 264*3d8817e4Smiod { "bitb", OP_D_IDX, 2, 0xe5, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 265*3d8817e4Smiod { "bitb", OP_D_IDX_2, 4, 0xe5, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 266*3d8817e4Smiod 267*3d8817e4Smiod { "ble", OP_JUMP_REL, 2, 0x2f, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 268*3d8817e4Smiod { "blo", OP_JUMP_REL, 2, 0x25, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 269*3d8817e4Smiod { "bls", OP_JUMP_REL, 2, 0x23, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 270*3d8817e4Smiod { "blt", OP_JUMP_REL, 2, 0x2d, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 271*3d8817e4Smiod { "bmi", OP_JUMP_REL, 2, 0x2b, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 272*3d8817e4Smiod { "bne", OP_JUMP_REL, 2, 0x26, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 273*3d8817e4Smiod { "bpl", OP_JUMP_REL, 2, 0x2a, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 274*3d8817e4Smiod { "bra", OP_JUMP_REL, 2, 0x20, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 275*3d8817e4Smiod 276*3d8817e4Smiod { "brclr", OP_BITMASK | OP_JUMP_REL 277*3d8817e4Smiod | OP_DIRECT, 4, 0x13, 6, 6, CHG_NONE, cpu6811 }, 278*3d8817e4Smiod { "brclr", OP_BITMASK | OP_JUMP_REL 279*3d8817e4Smiod | OP_IX, 4, 0x1f, 7, 7, CHG_NONE, cpu6811 }, 280*3d8817e4Smiod { "brclr", OP_BITMASK | OP_JUMP_REL 281*3d8817e4Smiod | OP_IY | OP_PAGE2, 5, 0x1f, 8, 8, CHG_NONE, cpu6811 }, 282*3d8817e4Smiod { "brclr", OP_BITMASK | OP_JUMP_REL 283*3d8817e4Smiod | OP_DIRECT, 4, 0x4f, 4, 4, CHG_NONE, cpu6812 }, 284*3d8817e4Smiod { "brclr", OP_BITMASK | OP_JUMP_REL 285*3d8817e4Smiod | OP_IND16, 5, 0x1f, 5, 5, CHG_NONE, cpu6812 }, 286*3d8817e4Smiod { "brclr", OP_BITMASK | OP_JUMP_REL 287*3d8817e4Smiod | OP_IDX, 4, 0x0f, 4, 4, CHG_NONE, cpu6812 }, 288*3d8817e4Smiod { "brclr", OP_BITMASK | OP_JUMP_REL 289*3d8817e4Smiod | OP_IDX_1, 5, 0x0f, 6, 6, CHG_NONE, cpu6812 }, 290*3d8817e4Smiod { "brclr", OP_BITMASK 291*3d8817e4Smiod | OP_JUMP_REL 292*3d8817e4Smiod | OP_IDX_2, 6, 0x0f, 8, 8, CHG_NONE, cpu6812 }, 293*3d8817e4Smiod 294*3d8817e4Smiod { "brn", OP_JUMP_REL, 2, 0x21, 1, 3, CHG_NONE, cpu6811|cpu6812 }, 295*3d8817e4Smiod 296*3d8817e4Smiod { "brset", OP_BITMASK | OP_JUMP_REL 297*3d8817e4Smiod | OP_DIRECT, 4, 0x12, 6, 6, CHG_NONE, cpu6811 }, 298*3d8817e4Smiod { "brset", OP_BITMASK 299*3d8817e4Smiod | OP_JUMP_REL 300*3d8817e4Smiod | OP_IX, 4, 0x1e, 7, 7, CHG_NONE, cpu6811 }, 301*3d8817e4Smiod { "brset", OP_BITMASK | OP_JUMP_REL 302*3d8817e4Smiod | OP_IY | OP_PAGE2, 5, 0x1e, 8, 8, CHG_NONE, cpu6811 }, 303*3d8817e4Smiod { "brset", OP_BITMASK | OP_JUMP_REL 304*3d8817e4Smiod | OP_DIRECT, 4, 0x4e, 4, 4, CHG_NONE, cpu6812 }, 305*3d8817e4Smiod { "brset", OP_BITMASK | OP_JUMP_REL 306*3d8817e4Smiod | OP_IND16, 5, 0x1e, 5, 5, CHG_NONE, cpu6812 }, 307*3d8817e4Smiod { "brset", OP_BITMASK | OP_JUMP_REL 308*3d8817e4Smiod | OP_IDX, 4, 0x0e, 4, 4, CHG_NONE, cpu6812 }, 309*3d8817e4Smiod { "brset", OP_BITMASK | OP_JUMP_REL 310*3d8817e4Smiod | OP_IDX_1, 5, 0x0e, 6, 6, CHG_NONE, cpu6812 }, 311*3d8817e4Smiod { "brset", OP_BITMASK | OP_JUMP_REL 312*3d8817e4Smiod | OP_IDX_2, 6, 0x0e, 8, 8, CHG_NONE, cpu6812 }, 313*3d8817e4Smiod 314*3d8817e4Smiod 315*3d8817e4Smiod { "bset", OP_BITMASK | OP_DIRECT, 3, 0x14, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 316*3d8817e4Smiod { "bset", OP_BITMASK | OP_IX, 3, 0x1c, 7, 7, CLR_V_CHG_NZ, cpu6811 }, 317*3d8817e4Smiod { "bset", OP_BITMASK|OP_IY|OP_PAGE2, 4, 0x1c, 8, 8, CLR_V_CHG_NZ, cpu6811 }, 318*3d8817e4Smiod { "bset", OP_BITMASK|OP_DIRECT, 3, 0x4c, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 319*3d8817e4Smiod { "bset", OP_BITMASK|OP_IND16, 4, 0x1c, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 320*3d8817e4Smiod { "bset", OP_BITMASK|OP_IDX, 3, 0x0c, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 321*3d8817e4Smiod { "bset", OP_BITMASK|OP_IDX_1, 4, 0x0c, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 322*3d8817e4Smiod { "bset", OP_BITMASK|OP_IDX_2, 5, 0x0c, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 323*3d8817e4Smiod 324*3d8817e4Smiod { "bsr", OP_JUMP_REL, 2, 0x8d, 6, 6, CHG_NONE, cpu6811 }, 325*3d8817e4Smiod { "bsr", OP_JUMP_REL, 2, 0x07, 4, 4, CHG_NONE, cpu6812 }, 326*3d8817e4Smiod 327*3d8817e4Smiod { "bvc", OP_JUMP_REL, 2, 0x28, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 328*3d8817e4Smiod { "bvs", OP_JUMP_REL, 2, 0x29, 1, 3, CHG_NONE, cpu6811 | cpu6812 }, 329*3d8817e4Smiod 330*3d8817e4Smiod { "call", OP_IND16 | OP_PAGE 331*3d8817e4Smiod | OP_BRANCH, 4, 0x4a, 8, 8, CHG_NONE, cpu6812 }, 332*3d8817e4Smiod { "call", OP_IDX | OP_PAGE 333*3d8817e4Smiod | OP_BRANCH, 3, 0x4b, 8, 8, CHG_NONE, cpu6812 }, 334*3d8817e4Smiod { "call", OP_IDX_1 | OP_PAGE 335*3d8817e4Smiod | OP_BRANCH, 4, 0x4b, 8, 8, CHG_NONE, cpu6812 }, 336*3d8817e4Smiod { "call", OP_IDX_2 | OP_PAGE 337*3d8817e4Smiod | OP_BRANCH, 5, 0x4b, 9, 9, CHG_NONE, cpu6812 }, 338*3d8817e4Smiod { "call", OP_D_IDX 339*3d8817e4Smiod | OP_BRANCH, 2, 0x4b, 10, 10, CHG_NONE, cpu6812 }, 340*3d8817e4Smiod { "call", OP_D_IDX_2 341*3d8817e4Smiod | OP_BRANCH, 4, 0x4b, 10, 10, CHG_NONE, cpu6812 }, 342*3d8817e4Smiod 343*3d8817e4Smiod { "cba", OP_NONE, 1, 0x11, 2, 2, CHG_NZVC, cpu6811 }, 344*3d8817e4Smiod { "cba", OP_NONE | OP_PAGE2,2, 0x17, 2, 2, CHG_NZVC, cpu6812 }, 345*3d8817e4Smiod 346*3d8817e4Smiod { "clc", OP_NONE, 1, 0x0c, 2, 2, CLR_C, cpu6811 }, 347*3d8817e4Smiod { "cli", OP_NONE, 1, 0x0e, 2, 2, CLR_I, cpu6811 }, 348*3d8817e4Smiod 349*3d8817e4Smiod { "clr", OP_IND16, 3, 0x7f, 6, 6, SET_Z_CLR_NVC, cpu6811 }, 350*3d8817e4Smiod { "clr", OP_IX, 2, 0x6f, 6, 6, SET_Z_CLR_NVC, cpu6811 }, 351*3d8817e4Smiod { "clr", OP_IY | OP_PAGE2, 3, 0x6f, 7, 7, SET_Z_CLR_NVC, cpu6811 }, 352*3d8817e4Smiod { "clr", OP_IND16, 3, 0x79, 3, 3, SET_Z_CLR_NVC, cpu6812 }, 353*3d8817e4Smiod { "clr", OP_IDX, 2, 0x69, 2, 2, SET_Z_CLR_NVC, cpu6812 }, 354*3d8817e4Smiod { "clr", OP_IDX_1, 3, 0x69, 3, 3, SET_Z_CLR_NVC, cpu6812 }, 355*3d8817e4Smiod { "clr", OP_IDX_2, 4, 0x69, 4, 4, SET_Z_CLR_NVC, cpu6812 }, 356*3d8817e4Smiod { "clr", OP_D_IDX, 2, 0x69, 5, 5, SET_Z_CLR_NVC, cpu6812 }, 357*3d8817e4Smiod { "clr", OP_D_IDX_2, 4, 0x69, 5, 5, SET_Z_CLR_NVC, cpu6812 }, 358*3d8817e4Smiod 359*3d8817e4Smiod { "clra", OP_NONE, 1, 0x4f, 2, 2, SET_Z_CLR_NVC, cpu6811 }, 360*3d8817e4Smiod { "clrb", OP_NONE, 1, 0x5f, 2, 2, SET_Z_CLR_NVC, cpu6811 }, 361*3d8817e4Smiod { "clra", OP_NONE, 1, 0x87, 1, 1, SET_Z_CLR_NVC, cpu6812 }, 362*3d8817e4Smiod { "clrb", OP_NONE, 1, 0xc7, 1, 1, SET_Z_CLR_NVC, cpu6812 }, 363*3d8817e4Smiod 364*3d8817e4Smiod { "clv", OP_NONE, 1, 0x0a, 2, 2, CLR_V, cpu6811 }, 365*3d8817e4Smiod 366*3d8817e4Smiod { "cmpa", OP_IMM8, 2, 0x81, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 367*3d8817e4Smiod { "cmpa", OP_DIRECT, 2, 0x91, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 368*3d8817e4Smiod { "cmpa", OP_IND16, 3, 0xb1, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 369*3d8817e4Smiod { "cmpa", OP_IX, 2, 0xa1, 4, 4, CHG_NZVC, cpu6811 }, 370*3d8817e4Smiod { "cmpa", OP_IY | OP_PAGE2, 3, 0xa1, 5, 5, CHG_NZVC, cpu6811 }, 371*3d8817e4Smiod { "cmpa", OP_IDX, 2, 0xa1, 3, 3, CHG_NZVC, cpu6812 }, 372*3d8817e4Smiod { "cmpa", OP_IDX_1, 3, 0xa1, 3, 3, CHG_NZVC, cpu6812 }, 373*3d8817e4Smiod { "cmpa", OP_IDX_2, 4, 0xa1, 4, 4, CHG_NZVC, cpu6812 }, 374*3d8817e4Smiod { "cmpa", OP_D_IDX, 2, 0xa1, 6, 6, CHG_NZVC, cpu6812 }, 375*3d8817e4Smiod { "cmpa", OP_D_IDX_2, 4, 0xa1, 6, 6, CHG_NZVC, cpu6812 }, 376*3d8817e4Smiod 377*3d8817e4Smiod { "cmpb", OP_IMM8, 2, 0xc1, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 378*3d8817e4Smiod { "cmpb", OP_DIRECT, 2, 0xd1, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 379*3d8817e4Smiod { "cmpb", OP_IND16, 3, 0xf1, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 380*3d8817e4Smiod { "cmpb", OP_IX, 2, 0xe1, 4, 4, CHG_NZVC, cpu6811 }, 381*3d8817e4Smiod { "cmpb", OP_IY | OP_PAGE2, 3, 0xe1, 5, 5, CHG_NZVC, cpu6811 }, 382*3d8817e4Smiod { "cmpb", OP_IDX, 2, 0xe1, 3, 3, CHG_NZVC, cpu6812 }, 383*3d8817e4Smiod { "cmpb", OP_IDX_1, 3, 0xe1, 3, 3, CHG_NZVC, cpu6812 }, 384*3d8817e4Smiod { "cmpb", OP_IDX_2, 4, 0xe1, 4, 4, CHG_NZVC, cpu6812 }, 385*3d8817e4Smiod { "cmpb", OP_D_IDX, 2, 0xe1, 6, 6, CHG_NZVC, cpu6812 }, 386*3d8817e4Smiod { "cmpb", OP_D_IDX_2, 4, 0xe1, 6, 6, CHG_NZVC, cpu6812 }, 387*3d8817e4Smiod 388*3d8817e4Smiod { "com", OP_IND16, 3, 0x73, 6, 6, SET_C_CLR_V_CHG_NZ, cpu6811 }, 389*3d8817e4Smiod { "com", OP_IX, 2, 0x63, 6, 6, SET_C_CLR_V_CHG_NZ, cpu6811 }, 390*3d8817e4Smiod { "com", OP_IY | OP_PAGE2, 3, 0x63, 7, 7, SET_C_CLR_V_CHG_NZ, cpu6811 }, 391*3d8817e4Smiod { "com", OP_IND16, 3, 0x71, 4, 4, SET_C_CLR_V_CHG_NZ, cpu6812 }, 392*3d8817e4Smiod { "com", OP_IDX, 2, 0x61, 3, 3, SET_C_CLR_V_CHG_NZ, cpu6812 }, 393*3d8817e4Smiod { "com", OP_IDX_1, 3, 0x61, 4, 4, SET_C_CLR_V_CHG_NZ, cpu6812 }, 394*3d8817e4Smiod { "com", OP_IDX_2, 4, 0x61, 5, 5, SET_C_CLR_V_CHG_NZ, cpu6812 }, 395*3d8817e4Smiod { "com", OP_D_IDX, 2, 0x61, 6, 6, SET_C_CLR_V_CHG_NZ, cpu6812 }, 396*3d8817e4Smiod { "com", OP_D_IDX_2, 4, 0x61, 6, 6, SET_C_CLR_V_CHG_NZ, cpu6812 }, 397*3d8817e4Smiod 398*3d8817e4Smiod { "coma", OP_NONE, 1, 0x43, 2, 2, SET_C_CLR_V_CHG_NZ, cpu6811 }, 399*3d8817e4Smiod { "coma", OP_NONE, 1, 0x41, 1, 1, SET_C_CLR_V_CHG_NZ, cpu6812 }, 400*3d8817e4Smiod { "comb", OP_NONE, 1, 0x53, 2, 2, SET_C_CLR_V_CHG_NZ, cpu6811 }, 401*3d8817e4Smiod { "comb", OP_NONE, 1, 0x51, 1, 1, SET_C_CLR_V_CHG_NZ, cpu6812 }, 402*3d8817e4Smiod 403*3d8817e4Smiod { "cpd", OP_IMM16 | OP_PAGE3, 4, 0x83, 5, 5, CHG_NZVC, cpu6811 }, 404*3d8817e4Smiod { "cpd", OP_DIRECT | OP_PAGE3, 3, 0x93, 6, 6, CHG_NZVC, cpu6811 }, 405*3d8817e4Smiod { "cpd", OP_IND16 | OP_PAGE3, 4, 0xb3, 7, 7, CHG_NZVC, cpu6811 }, 406*3d8817e4Smiod { "cpd", OP_IX | OP_PAGE3, 3, 0xa3, 7, 7, CHG_NZVC, cpu6811 }, 407*3d8817e4Smiod { "cpd", OP_IY | OP_PAGE4, 3, 0xa3, 7, 7, CHG_NZVC, cpu6811 }, 408*3d8817e4Smiod { "cpd", OP_IMM16, 3, 0x8c, 2, 2, CHG_NZVC, cpu6812 }, 409*3d8817e4Smiod { "cpd", OP_DIRECT, 2, 0x9c, 3, 3, CHG_NZVC, cpu6812 }, 410*3d8817e4Smiod { "cpd", OP_IND16, 3, 0xbc, 3, 3, CHG_NZVC, cpu6812 }, 411*3d8817e4Smiod { "cpd", OP_IDX, 2, 0xac, 3, 3, CHG_NZVC, cpu6812 }, 412*3d8817e4Smiod { "cpd", OP_IDX_1, 3, 0xac, 3, 3, CHG_NZVC, cpu6812 }, 413*3d8817e4Smiod { "cpd", OP_IDX_2, 4, 0xac, 4, 4, CHG_NZVC, cpu6812 }, 414*3d8817e4Smiod { "cpd", OP_D_IDX, 2, 0xac, 6, 6, CHG_NZVC, cpu6812 }, 415*3d8817e4Smiod { "cpd", OP_D_IDX_2, 4, 0xac, 6, 6, CHG_NZVC, cpu6812 }, 416*3d8817e4Smiod 417*3d8817e4Smiod { "cps", OP_IMM16, 3, 0x8f, 2, 2, CHG_NZVC, cpu6812 }, 418*3d8817e4Smiod { "cps", OP_DIRECT, 2, 0x9f, 3, 3, CHG_NZVC, cpu6812 }, 419*3d8817e4Smiod { "cps", OP_IND16, 3, 0xbf, 3, 3, CHG_NZVC, cpu6812 }, 420*3d8817e4Smiod { "cps", OP_IDX, 2, 0xaf, 3, 3, CHG_NZVC, cpu6812 }, 421*3d8817e4Smiod { "cps", OP_IDX_1, 3, 0xaf, 3, 3, CHG_NZVC, cpu6812 }, 422*3d8817e4Smiod { "cps", OP_IDX_2, 4, 0xaf, 4, 4, CHG_NZVC, cpu6812 }, 423*3d8817e4Smiod { "cps", OP_D_IDX, 2, 0xaf, 6, 6, CHG_NZVC, cpu6812 }, 424*3d8817e4Smiod { "cps", OP_D_IDX_2, 4, 0xaf, 6, 6, CHG_NZVC, cpu6812 }, 425*3d8817e4Smiod 426*3d8817e4Smiod { "cpx", OP_IMM16, 3, 0x8c, 4, 4, CHG_NZVC, cpu6811 }, 427*3d8817e4Smiod { "cpx", OP_DIRECT, 2, 0x9c, 5, 5, CHG_NZVC, cpu6811 }, 428*3d8817e4Smiod { "cpx", OP_IND16, 3, 0xbc, 5, 5, CHG_NZVC, cpu6811 }, 429*3d8817e4Smiod { "cpx", OP_IX, 2, 0xac, 6, 6, CHG_NZVC, cpu6811 }, 430*3d8817e4Smiod { "cpx", OP_IY | OP_PAGE4, 3, 0xac, 7, 7, CHG_NZVC, cpu6811 }, 431*3d8817e4Smiod { "cpx", OP_IMM16, 3, 0x8e, 2, 2, CHG_NZVC, cpu6812 }, 432*3d8817e4Smiod { "cpx", OP_DIRECT, 2, 0x9e, 3, 3, CHG_NZVC, cpu6812 }, 433*3d8817e4Smiod { "cpx", OP_IND16, 3, 0xbe, 3, 3, CHG_NZVC, cpu6812 }, 434*3d8817e4Smiod { "cpx", OP_IDX, 2, 0xae, 3, 3, CHG_NZVC, cpu6812 }, 435*3d8817e4Smiod { "cpx", OP_IDX_1, 3, 0xae, 3, 3, CHG_NZVC, cpu6812 }, 436*3d8817e4Smiod { "cpx", OP_IDX_2, 4, 0xae, 4, 4, CHG_NZVC, cpu6812 }, 437*3d8817e4Smiod { "cpx", OP_D_IDX, 2, 0xae, 6, 6, CHG_NZVC, cpu6812 }, 438*3d8817e4Smiod { "cpx", OP_D_IDX_2, 4, 0xae, 6, 6, CHG_NZVC, cpu6812 }, 439*3d8817e4Smiod 440*3d8817e4Smiod { "cpy", OP_PAGE2 | OP_IMM16, 4, 0x8c, 5, 5, CHG_NZVC, cpu6811 }, 441*3d8817e4Smiod { "cpy", OP_PAGE2 | OP_DIRECT, 3, 0x9c, 6, 6, CHG_NZVC, cpu6811 }, 442*3d8817e4Smiod { "cpy", OP_PAGE2 | OP_IY, 3, 0xac, 7, 7, CHG_NZVC, cpu6811 }, 443*3d8817e4Smiod { "cpy", OP_PAGE2 | OP_IND16, 4, 0xbc, 7, 7, CHG_NZVC, cpu6811 }, 444*3d8817e4Smiod { "cpy", OP_PAGE3 | OP_IX, 3, 0xac, 7, 7, CHG_NZVC, cpu6811 }, 445*3d8817e4Smiod { "cpy", OP_IMM16, 3, 0x8d, 2, 2, CHG_NZVC, cpu6812 }, 446*3d8817e4Smiod { "cpy", OP_DIRECT, 2, 0x9d, 3, 3, CHG_NZVC, cpu6812 }, 447*3d8817e4Smiod { "cpy", OP_IND16, 3, 0xbd, 3, 3, CHG_NZVC, cpu6812 }, 448*3d8817e4Smiod { "cpy", OP_IDX, 2, 0xad, 3, 3, CHG_NZVC, cpu6812 }, 449*3d8817e4Smiod { "cpy", OP_IDX_1, 3, 0xad, 3, 3, CHG_NZVC, cpu6812 }, 450*3d8817e4Smiod { "cpy", OP_IDX_2, 4, 0xad, 4, 4, CHG_NZVC, cpu6812 }, 451*3d8817e4Smiod { "cpy", OP_D_IDX, 2, 0xad, 6, 6, CHG_NZVC, cpu6812 }, 452*3d8817e4Smiod { "cpy", OP_D_IDX_2, 4, 0xad, 6, 6, CHG_NZVC, cpu6812 }, 453*3d8817e4Smiod 454*3d8817e4Smiod /* After 'daa', the Z flag is undefined. Mark it as changed. */ 455*3d8817e4Smiod { "daa", OP_NONE, 1, 0x19, 2, 2, CHG_NZVC, cpu6811 }, 456*3d8817e4Smiod { "daa", OP_NONE | OP_PAGE2, 2, 0x07, 3, 3, CHG_NZVC, cpu6812 }, 457*3d8817e4Smiod 458*3d8817e4Smiod { "dbeq", OP_DBEQ_MARKER 459*3d8817e4Smiod | OP_REG | OP_JUMP_REL,3, 0x04, 3, 3, CHG_NONE, cpu6812 }, 460*3d8817e4Smiod { "dbne", OP_DBNE_MARKER 461*3d8817e4Smiod | OP_REG | OP_JUMP_REL,3, 0x04, 3, 3, CHG_NONE, cpu6812 }, 462*3d8817e4Smiod 463*3d8817e4Smiod { "dec", OP_IX, 2, 0x6a, 6, 6, CHG_NZV, cpu6811 }, 464*3d8817e4Smiod { "dec", OP_IND16, 3, 0x7a, 6, 6, CHG_NZV, cpu6811 }, 465*3d8817e4Smiod { "dec", OP_IY | OP_PAGE2, 3, 0x6a, 7, 7, CHG_NZV, cpu6811 }, 466*3d8817e4Smiod { "dec", OP_IND16, 3, 0x73, 4, 4, CHG_NZV, cpu6812 }, 467*3d8817e4Smiod { "dec", OP_IDX, 2, 0x63, 3, 3, CHG_NZV, cpu6812 }, 468*3d8817e4Smiod { "dec", OP_IDX_1, 3, 0x63, 4, 4, CHG_NZV, cpu6812 }, 469*3d8817e4Smiod { "dec", OP_IDX_2, 4, 0x63, 5, 5, CHG_NZV, cpu6812 }, 470*3d8817e4Smiod { "dec", OP_D_IDX, 2, 0x63, 6, 6, CHG_NZV, cpu6812 }, 471*3d8817e4Smiod { "dec", OP_D_IDX_2, 4, 0x63, 6, 6, CHG_NZV, cpu6812 }, 472*3d8817e4Smiod 473*3d8817e4Smiod { "des", OP_NONE, 1, 0x34, 3, 3, CHG_NONE, cpu6811 }, 474*3d8817e4Smiod 475*3d8817e4Smiod { "deca", OP_NONE, 1, 0x4a, 2, 2, CHG_NZV, cpu6811 }, 476*3d8817e4Smiod { "deca", OP_NONE, 1, 0x43, 1, 1, CHG_NZV, cpu6812 }, 477*3d8817e4Smiod { "decb", OP_NONE, 1, 0x5a, 2, 2, CHG_NZV, cpu6811 }, 478*3d8817e4Smiod { "decb", OP_NONE, 1, 0x53, 1, 1, CHG_NZV, cpu6812 }, 479*3d8817e4Smiod 480*3d8817e4Smiod { "dex", OP_NONE, 1, 0x09, 1, 1, CHG_Z, cpu6812|cpu6811 }, 481*3d8817e4Smiod { "dey", OP_NONE | OP_PAGE2, 2, 0x09, 4, 4, CHG_Z, cpu6811 }, 482*3d8817e4Smiod { "dey", OP_NONE, 1, 0x03, 1, 1, CHG_Z, cpu6812 }, 483*3d8817e4Smiod 484*3d8817e4Smiod { "ediv", OP_NONE, 1, 0x11, 11, 11, CHG_NZVC, cpu6812 }, 485*3d8817e4Smiod { "edivs", OP_NONE | OP_PAGE2, 2, 0x14, 12, 12, CHG_NZVC, cpu6812 }, 486*3d8817e4Smiod { "emacs", OP_IND16 | OP_PAGE2, 4, 0x12, 13, 13, CHG_NZVC, cpu6812 }, 487*3d8817e4Smiod 488*3d8817e4Smiod { "emaxd", OP_IDX | OP_PAGE2, 3, 0x1a, 4, 4, CHG_NZVC, cpu6812 }, 489*3d8817e4Smiod { "emaxd", OP_IDX_1 | OP_PAGE2, 4, 0x1a, 4, 4, CHG_NZVC, cpu6812 }, 490*3d8817e4Smiod { "emaxd", OP_IDX_2 | OP_PAGE2, 5, 0x1a, 5, 5, CHG_NZVC, cpu6812 }, 491*3d8817e4Smiod { "emaxd", OP_D_IDX | OP_PAGE2, 3, 0x1a, 7, 7, CHG_NZVC, cpu6812 }, 492*3d8817e4Smiod { "emaxd", OP_D_IDX_2 | OP_PAGE2, 5, 0x1a, 7, 7, CHG_NZVC, cpu6812 }, 493*3d8817e4Smiod 494*3d8817e4Smiod { "emaxm", OP_IDX | OP_PAGE2, 3, 0x1e, 4, 4, CHG_NZVC, cpu6812 }, 495*3d8817e4Smiod { "emaxm", OP_IDX_1 | OP_PAGE2, 4, 0x1e, 5, 5, CHG_NZVC, cpu6812 }, 496*3d8817e4Smiod { "emaxm", OP_IDX_2 | OP_PAGE2, 5, 0x1e, 6, 6, CHG_NZVC, cpu6812 }, 497*3d8817e4Smiod { "emaxm", OP_D_IDX | OP_PAGE2, 3, 0x1e, 7, 7, CHG_NZVC, cpu6812 }, 498*3d8817e4Smiod { "emaxm", OP_D_IDX_2 | OP_PAGE2, 5, 0x1e, 7, 7, CHG_NZVC, cpu6812 }, 499*3d8817e4Smiod 500*3d8817e4Smiod { "emind", OP_IDX | OP_PAGE2, 3, 0x1b, 4, 4, CHG_NZVC, cpu6812 }, 501*3d8817e4Smiod { "emind", OP_IDX_1 | OP_PAGE2, 4, 0x1b, 4, 4, CHG_NZVC, cpu6812 }, 502*3d8817e4Smiod { "emind", OP_IDX_2 | OP_PAGE2, 5, 0x1b, 5, 5, CHG_NZVC, cpu6812 }, 503*3d8817e4Smiod { "emind", OP_D_IDX | OP_PAGE2, 3, 0x1b, 7, 7, CHG_NZVC, cpu6812 }, 504*3d8817e4Smiod { "emind", OP_D_IDX_2 | OP_PAGE2, 5, 0x1b, 7, 7, CHG_NZVC, cpu6812 }, 505*3d8817e4Smiod 506*3d8817e4Smiod { "eminm", OP_IDX | OP_PAGE2, 3, 0x1f, 4, 4, CHG_NZVC, cpu6812 }, 507*3d8817e4Smiod { "eminm", OP_IDX_1 | OP_PAGE2, 4, 0x1f, 5, 5, CHG_NZVC, cpu6812 }, 508*3d8817e4Smiod { "eminm", OP_IDX_2 | OP_PAGE2, 5, 0x1f, 6, 6, CHG_NZVC, cpu6812 }, 509*3d8817e4Smiod { "eminm", OP_D_IDX | OP_PAGE2, 3, 0x1f, 7, 7, CHG_NZVC, cpu6812 }, 510*3d8817e4Smiod { "eminm", OP_D_IDX_2 | OP_PAGE2, 5, 0x1f, 7, 7, CHG_NZVC, cpu6812 }, 511*3d8817e4Smiod 512*3d8817e4Smiod { "emul", OP_NONE, 1, 0x13, 3, 3, CHG_NZC, cpu6812 }, 513*3d8817e4Smiod { "emuls", OP_NONE | OP_PAGE2, 2, 0x13, 3, 3, CHG_NZC, cpu6812 }, 514*3d8817e4Smiod 515*3d8817e4Smiod { "eora", OP_IMM8, 2, 0x88, 1, 1, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 516*3d8817e4Smiod { "eora", OP_DIRECT, 2, 0x98, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 517*3d8817e4Smiod { "eora", OP_IND16, 3, 0xb8, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 518*3d8817e4Smiod { "eora", OP_IX, 2, 0xa8, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 519*3d8817e4Smiod { "eora", OP_IY | OP_PAGE2, 3, 0xa8, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 520*3d8817e4Smiod { "eora", OP_IDX, 2, 0xa8, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 521*3d8817e4Smiod { "eora", OP_IDX_1, 3, 0xa8, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 522*3d8817e4Smiod { "eora", OP_IDX_2, 4, 0xa8, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 523*3d8817e4Smiod { "eora", OP_D_IDX, 2, 0xa8, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 524*3d8817e4Smiod { "eora", OP_D_IDX_2, 4, 0xa8, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 525*3d8817e4Smiod 526*3d8817e4Smiod { "eorb", OP_IMM8, 2, 0xc8, 1, 1, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 527*3d8817e4Smiod { "eorb", OP_DIRECT, 2, 0xd8, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 528*3d8817e4Smiod { "eorb", OP_IND16, 3, 0xf8, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 529*3d8817e4Smiod { "eorb", OP_IX, 2, 0xe8, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 530*3d8817e4Smiod { "eorb", OP_IY | OP_PAGE2, 3, 0xe8, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 531*3d8817e4Smiod { "eorb", OP_IDX, 2, 0xe8, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 532*3d8817e4Smiod { "eorb", OP_IDX_1, 3, 0xe8, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 533*3d8817e4Smiod { "eorb", OP_IDX_2, 4, 0xe8, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 534*3d8817e4Smiod { "eorb", OP_D_IDX, 2, 0xe8, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 535*3d8817e4Smiod { "eorb", OP_D_IDX_2, 4, 0xe8, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 536*3d8817e4Smiod 537*3d8817e4Smiod { "etbl", OP_IDX | OP_PAGE2,3, 0x3f, 10, 10, CHG_NZC, cpu6812 }, 538*3d8817e4Smiod 539*3d8817e4Smiod { "exg", OP_EXG_MARKER 540*3d8817e4Smiod | OP_REG | OP_REG_2, 2, 0xb7, 1, 1, CHG_NONE, cpu6812 }, 541*3d8817e4Smiod 542*3d8817e4Smiod { "fdiv", OP_NONE, 1, 0x03, 3, 41, CHG_ZVC, cpu6811}, 543*3d8817e4Smiod { "fdiv", OP_NONE | OP_PAGE2, 2, 0x11, 12, 12, CHG_ZVC, cpu6812 }, 544*3d8817e4Smiod 545*3d8817e4Smiod { "ibeq", OP_IBEQ_MARKER 546*3d8817e4Smiod | OP_REG | OP_JUMP_REL, 3, 0x04, 3, 3, CHG_NONE, cpu6812 }, 547*3d8817e4Smiod { "ibne", OP_IBNE_MARKER 548*3d8817e4Smiod | OP_REG | OP_JUMP_REL, 3, 0x04, 3, 3, CHG_NONE, cpu6812 }, 549*3d8817e4Smiod 550*3d8817e4Smiod { "idiv", OP_NONE, 1, 0x02, 3, 41, CLR_V_CHG_ZC, cpu6811}, 551*3d8817e4Smiod { "idiv", OP_NONE | OP_PAGE2, 2, 0x10, 12, 12, CLR_V_CHG_ZC, cpu6812 }, 552*3d8817e4Smiod { "idivs", OP_NONE | OP_PAGE2, 2, 0x15, 12, 12, CHG_NZVC, cpu6812 }, 553*3d8817e4Smiod 554*3d8817e4Smiod { "inc", OP_IX, 2, 0x6c, 6, 6, CHG_NZV, cpu6811 }, 555*3d8817e4Smiod { "inc", OP_IND16, 3, 0x7c, 6, 6, CHG_NZV, cpu6811 }, 556*3d8817e4Smiod { "inc", OP_IY | OP_PAGE2, 3, 0x6c, 7, 7, CHG_NZV, cpu6811 }, 557*3d8817e4Smiod { "inc", OP_IND16, 3, 0x72, 4, 4, CHG_NZV, cpu6812 }, 558*3d8817e4Smiod { "inc", OP_IDX, 2, 0x62, 3, 3, CHG_NZV, cpu6812 }, 559*3d8817e4Smiod { "inc", OP_IDX_1, 3, 0x62, 4, 4, CHG_NZV, cpu6812 }, 560*3d8817e4Smiod { "inc", OP_IDX_2, 4, 0x62, 5, 5, CHG_NZV, cpu6812 }, 561*3d8817e4Smiod { "inc", OP_D_IDX, 2, 0x62, 6, 6, CHG_NZV, cpu6812 }, 562*3d8817e4Smiod { "inc", OP_D_IDX_2, 4, 0x62, 6, 6, CHG_NZV, cpu6812 }, 563*3d8817e4Smiod 564*3d8817e4Smiod { "inca", OP_NONE, 1, 0x4c, 2, 2, CHG_NZV, cpu6811 }, 565*3d8817e4Smiod { "inca", OP_NONE, 1, 0x42, 1, 1, CHG_NZV, cpu6812 }, 566*3d8817e4Smiod { "incb", OP_NONE, 1, 0x5c, 2, 2, CHG_NZV, cpu6811 }, 567*3d8817e4Smiod { "incb", OP_NONE, 1, 0x52, 1, 1, CHG_NZV, cpu6812 }, 568*3d8817e4Smiod 569*3d8817e4Smiod { "ins", OP_NONE, 1, 0x31, 3, 3, CHG_NONE, cpu6811 }, 570*3d8817e4Smiod 571*3d8817e4Smiod { "inx", OP_NONE, 1, 0x08, 1, 1, CHG_Z, cpu6811|cpu6812 }, 572*3d8817e4Smiod { "iny", OP_NONE |OP_PAGE2, 2, 0x08, 4, 4, CHG_Z, cpu6811 }, 573*3d8817e4Smiod { "iny", OP_NONE, 1, 0x02, 1, 1, CHG_Z, cpu6812 }, 574*3d8817e4Smiod 575*3d8817e4Smiod { "jmp", OP_IND16 | OP_BRANCH, 3, 0x7e, 3, 3, CHG_NONE, cpu6811 }, 576*3d8817e4Smiod { "jmp", OP_IX, 2, 0x6e, 3, 3, CHG_NONE, cpu6811 }, 577*3d8817e4Smiod { "jmp", OP_IY | OP_PAGE2, 3, 0x6e, 4, 4, CHG_NONE, cpu6811 }, 578*3d8817e4Smiod { "jmp", OP_IND16 | OP_BRANCH, 3, 0x06, 3, 3, CHG_NONE, cpu6812 }, 579*3d8817e4Smiod { "jmp", OP_IDX, 2, 0x05, 3, 3, CHG_NONE, cpu6812 }, 580*3d8817e4Smiod { "jmp", OP_IDX_1, 3, 0x05, 3, 3, CHG_NONE, cpu6812 }, 581*3d8817e4Smiod { "jmp", OP_IDX_2, 4, 0x05, 4, 4, CHG_NONE, cpu6812 }, 582*3d8817e4Smiod { "jmp", OP_D_IDX, 2, 0x05, 6, 6, CHG_NONE, cpu6812 }, 583*3d8817e4Smiod { "jmp", OP_D_IDX_2, 4, 0x05, 6, 6, CHG_NONE, cpu6812 }, 584*3d8817e4Smiod 585*3d8817e4Smiod { "jsr", OP_DIRECT | OP_BRANCH, 2, 0x9d, 5, 5, CHG_NONE, cpu6811 }, 586*3d8817e4Smiod { "jsr", OP_IND16 | OP_BRANCH, 3, 0xbd, 6, 6, CHG_NONE, cpu6811 }, 587*3d8817e4Smiod { "jsr", OP_IX, 2, 0xad, 6, 6, CHG_NONE, cpu6811 }, 588*3d8817e4Smiod { "jsr", OP_IY | OP_PAGE2, 3, 0xad, 6, 6, CHG_NONE, cpu6811 }, 589*3d8817e4Smiod { "jsr", OP_DIRECT | OP_BRANCH, 2, 0x17, 4, 4, CHG_NONE, cpu6812 }, 590*3d8817e4Smiod { "jsr", OP_IND16 | OP_BRANCH, 3, 0x16, 4, 3, CHG_NONE, cpu6812 }, 591*3d8817e4Smiod { "jsr", OP_IDX, 2, 0x15, 4, 4, CHG_NONE, cpu6812 }, 592*3d8817e4Smiod { "jsr", OP_IDX_1, 3, 0x15, 4, 4, CHG_NONE, cpu6812 }, 593*3d8817e4Smiod { "jsr", OP_IDX_2, 4, 0x15, 5, 5, CHG_NONE, cpu6812 }, 594*3d8817e4Smiod { "jsr", OP_D_IDX, 2, 0x15, 7, 7, CHG_NONE, cpu6812 }, 595*3d8817e4Smiod { "jsr", OP_D_IDX_2, 4, 0x15, 7, 7, CHG_NONE, cpu6812 }, 596*3d8817e4Smiod 597*3d8817e4Smiod { "lbcc", OP_JUMP_REL16 | OP_PAGE2, 4, 0x24, 3, 4, CHG_NONE, cpu6812 }, 598*3d8817e4Smiod { "lbcs", OP_JUMP_REL16 | OP_PAGE2, 4, 0x25, 3, 4, CHG_NONE, cpu6812 }, 599*3d8817e4Smiod { "lbeq", OP_JUMP_REL16 | OP_PAGE2, 4, 0x27, 3, 4, CHG_NONE, cpu6812 }, 600*3d8817e4Smiod { "lbge", OP_JUMP_REL16 | OP_PAGE2, 4, 0x2c, 3, 4, CHG_NONE, cpu6812 }, 601*3d8817e4Smiod { "lbgt", OP_JUMP_REL16 | OP_PAGE2, 4, 0x2e, 3, 4, CHG_NONE, cpu6812 }, 602*3d8817e4Smiod { "lbhi", OP_JUMP_REL16 | OP_PAGE2, 4, 0x22, 3, 4, CHG_NONE, cpu6812 }, 603*3d8817e4Smiod { "lbhs", OP_JUMP_REL16 | OP_PAGE2, 4, 0x24, 3, 4, CHG_NONE, cpu6812 }, 604*3d8817e4Smiod { "lble", OP_JUMP_REL16 | OP_PAGE2, 4, 0x2f, 3, 4, CHG_NONE, cpu6812 }, 605*3d8817e4Smiod { "lblo", OP_JUMP_REL16 | OP_PAGE2, 4, 0x25, 3, 4, CHG_NONE, cpu6812 }, 606*3d8817e4Smiod { "lbls", OP_JUMP_REL16 | OP_PAGE2, 4, 0x23, 3, 4, CHG_NONE, cpu6812 }, 607*3d8817e4Smiod { "lblt", OP_JUMP_REL16 | OP_PAGE2, 4, 0x2d, 3, 4, CHG_NONE, cpu6812 }, 608*3d8817e4Smiod { "lbmi", OP_JUMP_REL16 | OP_PAGE2, 4, 0x2b, 3, 4, CHG_NONE, cpu6812 }, 609*3d8817e4Smiod { "lbne", OP_JUMP_REL16 | OP_PAGE2, 4, 0x26, 3, 4, CHG_NONE, cpu6812 }, 610*3d8817e4Smiod { "lbpl", OP_JUMP_REL16 | OP_PAGE2, 4, 0x2a, 3, 4, CHG_NONE, cpu6812 }, 611*3d8817e4Smiod { "lbra", OP_JUMP_REL16 | OP_PAGE2, 4, 0x20, 4, 4, CHG_NONE, cpu6812 }, 612*3d8817e4Smiod { "lbrn", OP_JUMP_REL16 | OP_PAGE2, 4, 0x21, 3, 3, CHG_NONE, cpu6812 }, 613*3d8817e4Smiod { "lbvc", OP_JUMP_REL16 | OP_PAGE2, 4, 0x28, 3, 4, CHG_NONE, cpu6812 }, 614*3d8817e4Smiod { "lbvs", OP_JUMP_REL16 | OP_PAGE2, 4, 0x29, 3, 4, CHG_NONE, cpu6812 }, 615*3d8817e4Smiod 616*3d8817e4Smiod { "ldaa", OP_IMM8, 2, 0x86, 1, 1, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 617*3d8817e4Smiod { "ldaa", OP_DIRECT, 2, 0x96, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 618*3d8817e4Smiod { "ldaa", OP_IND16, 3, 0xb6, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 619*3d8817e4Smiod { "ldaa", OP_IX, 2, 0xa6, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 620*3d8817e4Smiod { "ldaa", OP_IY | OP_PAGE2, 3, 0xa6, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 621*3d8817e4Smiod { "ldaa", OP_IDX, 2, 0xa6, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 622*3d8817e4Smiod { "ldaa", OP_IDX_1, 3, 0xa6, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 623*3d8817e4Smiod { "ldaa", OP_IDX_2, 4, 0xa6, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 624*3d8817e4Smiod { "ldaa", OP_D_IDX, 2, 0xa6, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 625*3d8817e4Smiod { "ldaa", OP_D_IDX_2, 4, 0xa6, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 626*3d8817e4Smiod 627*3d8817e4Smiod { "ldab", OP_IMM8, 2, 0xc6, 1, 1, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 628*3d8817e4Smiod { "ldab", OP_DIRECT, 2, 0xd6, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 629*3d8817e4Smiod { "ldab", OP_IND16, 3, 0xf6, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 630*3d8817e4Smiod { "ldab", OP_IX, 2, 0xe6, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 631*3d8817e4Smiod { "ldab", OP_IY | OP_PAGE2, 3, 0xe6, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 632*3d8817e4Smiod { "ldab", OP_IDX, 2, 0xe6, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 633*3d8817e4Smiod { "ldab", OP_IDX_1, 3, 0xe6, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 634*3d8817e4Smiod { "ldab", OP_IDX_2, 4, 0xe6, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 635*3d8817e4Smiod { "ldab", OP_D_IDX, 2, 0xe6, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 636*3d8817e4Smiod { "ldab", OP_D_IDX_2, 4, 0xe6, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 637*3d8817e4Smiod 638*3d8817e4Smiod { "ldd", OP_IMM16, 3, 0xcc, 2, 2, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 639*3d8817e4Smiod { "ldd", OP_DIRECT, 2, 0xdc, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 640*3d8817e4Smiod { "ldd", OP_IND16, 3, 0xfc, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 641*3d8817e4Smiod { "ldd", OP_IX, 2, 0xec, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 642*3d8817e4Smiod { "ldd", OP_IY | OP_PAGE2, 3, 0xec, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 643*3d8817e4Smiod { "ldd", OP_IDX, 2, 0xec, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 644*3d8817e4Smiod { "ldd", OP_IDX_1, 3, 0xec, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 645*3d8817e4Smiod { "ldd", OP_IDX_2, 4, 0xec, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 646*3d8817e4Smiod { "ldd", OP_D_IDX, 2, 0xec, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 647*3d8817e4Smiod { "ldd", OP_D_IDX_2, 4, 0xec, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 648*3d8817e4Smiod 649*3d8817e4Smiod { "lds", OP_IMM16, 3, 0x8e, 3, 3, CLR_V_CHG_NZ, cpu6811 }, 650*3d8817e4Smiod { "lds", OP_DIRECT, 2, 0x9e, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 651*3d8817e4Smiod { "lds", OP_IND16, 3, 0xbe, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 652*3d8817e4Smiod { "lds", OP_IX, 2, 0xae, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 653*3d8817e4Smiod { "lds", OP_IY | OP_PAGE2, 3, 0xae, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 654*3d8817e4Smiod { "lds", OP_IMM16, 3, 0xcf, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 655*3d8817e4Smiod { "lds", OP_DIRECT, 2, 0xdf, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 656*3d8817e4Smiod { "lds", OP_IND16, 3, 0xff, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 657*3d8817e4Smiod { "lds", OP_IDX, 2, 0xef, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 658*3d8817e4Smiod { "lds", OP_IDX_1, 3, 0xef, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 659*3d8817e4Smiod { "lds", OP_IDX_2, 4, 0xef, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 660*3d8817e4Smiod { "lds", OP_D_IDX, 2, 0xef, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 661*3d8817e4Smiod { "lds", OP_D_IDX_2, 4, 0xef, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 662*3d8817e4Smiod 663*3d8817e4Smiod { "ldx", OP_IMM16, 3, 0xce, 2, 2, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 664*3d8817e4Smiod { "ldx", OP_DIRECT, 2, 0xde, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 665*3d8817e4Smiod { "ldx", OP_IND16, 3, 0xfe, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 666*3d8817e4Smiod { "ldx", OP_IX, 2, 0xee, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 667*3d8817e4Smiod { "ldx", OP_IY | OP_PAGE4, 3, 0xee, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 668*3d8817e4Smiod { "ldx", OP_IDX, 2, 0xee, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 669*3d8817e4Smiod { "ldx", OP_IDX_1, 3, 0xee, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 670*3d8817e4Smiod { "ldx", OP_IDX_2, 4, 0xee, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 671*3d8817e4Smiod { "ldx", OP_D_IDX, 2, 0xee, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 672*3d8817e4Smiod { "ldx", OP_D_IDX_2, 4, 0xee, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 673*3d8817e4Smiod 674*3d8817e4Smiod { "ldy", OP_IMM16 | OP_PAGE2, 4, 0xce, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 675*3d8817e4Smiod { "ldy", OP_DIRECT | OP_PAGE2, 3, 0xde, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 676*3d8817e4Smiod { "ldy", OP_IND16 | OP_PAGE2, 4, 0xfe, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 677*3d8817e4Smiod { "ldy", OP_IX | OP_PAGE3, 3, 0xee, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 678*3d8817e4Smiod { "ldy", OP_IY | OP_PAGE2, 3, 0xee, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 679*3d8817e4Smiod { "ldy", OP_IMM16, 3, 0xcd, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 680*3d8817e4Smiod { "ldy", OP_DIRECT, 2, 0xdd, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 681*3d8817e4Smiod { "ldy", OP_IND16, 3, 0xfd, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 682*3d8817e4Smiod { "ldy", OP_IDX, 2, 0xed, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 683*3d8817e4Smiod { "ldy", OP_IDX_1, 3, 0xed, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 684*3d8817e4Smiod { "ldy", OP_IDX_2, 4, 0xed, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 685*3d8817e4Smiod { "ldy", OP_D_IDX, 2, 0xed, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 686*3d8817e4Smiod { "ldy", OP_D_IDX_2, 4, 0xed, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 687*3d8817e4Smiod 688*3d8817e4Smiod { "leas", OP_IDX, 2, 0x1b, 2, 2, CHG_NONE, cpu6812 }, 689*3d8817e4Smiod { "leas", OP_IDX_1, 3, 0x1b, 2, 2, CHG_NONE, cpu6812 }, 690*3d8817e4Smiod { "leas", OP_IDX_2, 4, 0x1b, 2, 2, CHG_NONE, cpu6812 }, 691*3d8817e4Smiod 692*3d8817e4Smiod { "leax", OP_IDX, 2, 0x1a, 2, 2, CHG_NONE, cpu6812 }, 693*3d8817e4Smiod { "leax", OP_IDX_1, 3, 0x1a, 2, 2, CHG_NONE, cpu6812 }, 694*3d8817e4Smiod { "leax", OP_IDX_2, 4, 0x1a, 2, 2, CHG_NONE, cpu6812 }, 695*3d8817e4Smiod 696*3d8817e4Smiod { "leay", OP_IDX, 2, 0x19, 2, 2, CHG_NONE, cpu6812 }, 697*3d8817e4Smiod { "leay", OP_IDX_1, 3, 0x19, 2, 2, CHG_NONE, cpu6812 }, 698*3d8817e4Smiod { "leay", OP_IDX_2, 4, 0x19, 2, 2, CHG_NONE, cpu6812 }, 699*3d8817e4Smiod 700*3d8817e4Smiod { "lsl", OP_IND16, 3, 0x78, 4, 4, CHG_NZVC, cpu6811|cpu6812 }, 701*3d8817e4Smiod { "lsl", OP_IX, 2, 0x68, 6, 6, CHG_NZVC, cpu6811 }, 702*3d8817e4Smiod { "lsl", OP_IY | OP_PAGE2, 3, 0x68, 7, 7, CHG_NZVC, cpu6811 }, 703*3d8817e4Smiod { "lsl", OP_IDX, 2, 0x68, 3, 3, CHG_NZVC, cpu6812 }, 704*3d8817e4Smiod { "lsl", OP_IDX_1, 3, 0x68, 4, 4, CHG_NZVC, cpu6812 }, 705*3d8817e4Smiod { "lsl", OP_IDX_2, 4, 0x68, 5, 5, CHG_NZVC, cpu6812 }, 706*3d8817e4Smiod { "lsl", OP_D_IDX, 2, 0x68, 6, 6, CHG_NZVC, cpu6812 }, 707*3d8817e4Smiod { "lsl", OP_D_IDX_2, 4, 0x68, 6, 6, CHG_NZVC, cpu6812 }, 708*3d8817e4Smiod 709*3d8817e4Smiod { "lsla", OP_NONE, 1, 0x48, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 710*3d8817e4Smiod { "lslb", OP_NONE, 1, 0x58, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 711*3d8817e4Smiod { "lsld", OP_NONE, 1, 0x05, 3, 3, CHG_NZVC, cpu6811 }, 712*3d8817e4Smiod { "lsld", OP_NONE, 1, 0x59, 1, 1, CHG_NZVC, cpu6812 }, 713*3d8817e4Smiod 714*3d8817e4Smiod { "lsr", OP_IND16, 3, 0x74, 4, 4, CLR_N_CHG_ZVC, cpu6811|cpu6812}, 715*3d8817e4Smiod { "lsr", OP_IX, 2, 0x64, 6, 6, CLR_N_CHG_ZVC, cpu6811 }, 716*3d8817e4Smiod { "lsr", OP_IY | OP_PAGE2, 3, 0x64, 7, 7, CLR_V_CHG_ZVC, cpu6811 }, 717*3d8817e4Smiod { "lsr", OP_IDX, 2, 0x64, 3, 3, CLR_N_CHG_ZVC, cpu6812 }, 718*3d8817e4Smiod { "lsr", OP_IDX_1, 3, 0x64, 4, 4, CLR_N_CHG_ZVC, cpu6812 }, 719*3d8817e4Smiod { "lsr", OP_IDX_2, 4, 0x64, 5, 5, CLR_N_CHG_ZVC, cpu6812 }, 720*3d8817e4Smiod { "lsr", OP_D_IDX, 2, 0x64, 6, 6, CLR_N_CHG_ZVC, cpu6812 }, 721*3d8817e4Smiod { "lsr", OP_D_IDX_2, 4, 0x64, 6, 6, CLR_N_CHG_ZVC, cpu6812 }, 722*3d8817e4Smiod 723*3d8817e4Smiod { "lsra", OP_NONE, 1, 0x44, 1, 1, CLR_N_CHG_ZVC, cpu6811|cpu6812}, 724*3d8817e4Smiod { "lsrb", OP_NONE, 1, 0x54, 1, 1, CLR_N_CHG_ZVC, cpu6811|cpu6812}, 725*3d8817e4Smiod { "lsrd", OP_NONE, 1, 0x04, 3, 3, CLR_N_CHG_ZVC, cpu6811 }, 726*3d8817e4Smiod { "lsrd", OP_NONE, 1, 0x49, 1, 1, CLR_N_CHG_ZVC, cpu6812 }, 727*3d8817e4Smiod 728*3d8817e4Smiod { "maxa", OP_IDX | OP_PAGE2, 3, 0x18, 4, 4, CHG_NZVC, cpu6812 }, 729*3d8817e4Smiod { "maxa", OP_IDX_1 | OP_PAGE2, 4, 0x18, 4, 4, CHG_NZVC, cpu6812 }, 730*3d8817e4Smiod { "maxa", OP_IDX_2 | OP_PAGE2, 5, 0x18, 5, 5, CHG_NZVC, cpu6812 }, 731*3d8817e4Smiod { "maxa", OP_D_IDX | OP_PAGE2, 3, 0x18, 7, 7, CHG_NZVC, cpu6812 }, 732*3d8817e4Smiod { "maxa", OP_D_IDX_2 | OP_PAGE2, 5, 0x18, 7, 7, CHG_NZVC, cpu6812 }, 733*3d8817e4Smiod 734*3d8817e4Smiod { "maxm", OP_IDX | OP_PAGE2, 3, 0x1c, 4, 4, CHG_NZVC, cpu6812 }, 735*3d8817e4Smiod { "maxm", OP_IDX_1 | OP_PAGE2, 4, 0x1c, 5, 5, CHG_NZVC, cpu6812 }, 736*3d8817e4Smiod { "maxm", OP_IDX_2 | OP_PAGE2, 5, 0x1c, 6, 6, CHG_NZVC, cpu6812 }, 737*3d8817e4Smiod { "maxm", OP_D_IDX | OP_PAGE2, 3, 0x1c, 7, 7, CHG_NZVC, cpu6812 }, 738*3d8817e4Smiod { "maxm", OP_D_IDX_2 | OP_PAGE2, 5, 0x1c, 7, 7, CHG_NZVC, cpu6812 }, 739*3d8817e4Smiod 740*3d8817e4Smiod { "mem", OP_NONE, 1, 0x01, 5, 5, CHG_HNZVC, cpu6812 }, 741*3d8817e4Smiod 742*3d8817e4Smiod { "mina", OP_IDX | OP_PAGE2, 3, 0x19, 4, 4, CHG_NZVC, cpu6812 }, 743*3d8817e4Smiod { "mina", OP_IDX_1 | OP_PAGE2, 4, 0x19, 4, 4, CHG_NZVC, cpu6812 }, 744*3d8817e4Smiod { "mina", OP_IDX_2 | OP_PAGE2, 5, 0x19, 5, 5, CHG_NZVC, cpu6812 }, 745*3d8817e4Smiod { "mina", OP_D_IDX | OP_PAGE2, 3, 0x19, 7, 7, CHG_NZVC, cpu6812 }, 746*3d8817e4Smiod { "mina", OP_D_IDX_2 | OP_PAGE2, 5, 0x19, 7, 7, CHG_NZVC, cpu6812 }, 747*3d8817e4Smiod 748*3d8817e4Smiod { "minm", OP_IDX | OP_PAGE2, 3, 0x1d, 4, 4, CHG_NZVC, cpu6812 }, 749*3d8817e4Smiod { "minm", OP_IDX_1 | OP_PAGE2, 4, 0x1d, 5, 5, CHG_NZVC, cpu6812 }, 750*3d8817e4Smiod { "minm", OP_IDX_2 | OP_PAGE2, 5, 0x1d, 6, 6, CHG_NZVC, cpu6812 }, 751*3d8817e4Smiod { "minm", OP_D_IDX | OP_PAGE2, 3, 0x1d, 7, 7, CHG_NZVC, cpu6812 }, 752*3d8817e4Smiod { "minm", OP_D_IDX_2 | OP_PAGE2, 5, 0x1d, 7, 7, CHG_NZVC, cpu6812 }, 753*3d8817e4Smiod 754*3d8817e4Smiod { "movb", OP_IMM8|OP_IND16_p2|OP_PAGE2, 5, 0x0b, 4, 4, CHG_NONE, cpu6812 }, 755*3d8817e4Smiod { "movb", OP_IMM8|OP_IDX_p2|OP_PAGE2, 4, 0x08, 4, 4, CHG_NONE, cpu6812 }, 756*3d8817e4Smiod { "movb", OP_IND16|OP_IND16_p2|OP_PAGE2, 6, 0x0c, 6, 6, CHG_NONE, cpu6812 }, 757*3d8817e4Smiod { "movb", OP_IND16 | OP_IDX_p2 | OP_PAGE2, 5, 0x09, 5, 5, CHG_NONE, cpu6812 }, 758*3d8817e4Smiod { "movb", OP_IDX | OP_IND16_p2 | OP_PAGE2, 5, 0x0d, 5, 5, CHG_NONE, cpu6812 }, 759*3d8817e4Smiod { "movb", OP_IDX | OP_IDX_p2 | OP_PAGE2, 4, 0x0a, 5, 5, CHG_NONE, cpu6812 }, 760*3d8817e4Smiod 761*3d8817e4Smiod { "movw", OP_IMM16 | OP_IND16_p2 | OP_PAGE2, 6, 0x03, 5, 5, CHG_NONE, cpu6812 }, 762*3d8817e4Smiod { "movw", OP_IMM16 | OP_IDX_p2 | OP_PAGE2, 5, 0x00, 4, 4, CHG_NONE, cpu6812 }, 763*3d8817e4Smiod { "movw", OP_IND16 | OP_IND16_p2 | OP_PAGE2, 6, 0x04, 6, 6, CHG_NONE, cpu6812 }, 764*3d8817e4Smiod { "movw", OP_IND16 | OP_IDX_p2 | OP_PAGE2, 5, 0x01, 5, 5, CHG_NONE, cpu6812 }, 765*3d8817e4Smiod { "movw", OP_IDX | OP_IND16_p2 | OP_PAGE2, 5, 0x05, 5, 5, CHG_NONE, cpu6812 }, 766*3d8817e4Smiod { "movw", OP_IDX | OP_IDX_p2 | OP_PAGE2, 4, 0x02, 5, 5, CHG_NONE, cpu6812 }, 767*3d8817e4Smiod 768*3d8817e4Smiod { "mul", OP_NONE, 1, 0x3d, 3, 10, CHG_C, cpu6811 }, 769*3d8817e4Smiod { "mul", OP_NONE, 1, 0x12, 3, 3, CHG_C, cpu6812 }, 770*3d8817e4Smiod 771*3d8817e4Smiod { "neg", OP_IND16, 3, 0x70, 4, 4, CHG_NZVC, cpu6811|cpu6812 }, 772*3d8817e4Smiod { "neg", OP_IX, 2, 0x60, 6, 6, CHG_NZVC, cpu6811 }, 773*3d8817e4Smiod { "neg", OP_IY | OP_PAGE2, 3, 0x60, 7, 7, CHG_NZVC, cpu6811 }, 774*3d8817e4Smiod { "neg", OP_IDX, 2, 0x60, 3, 3, CHG_NZVC, cpu6812 }, 775*3d8817e4Smiod { "neg", OP_IDX_1, 3, 0x60, 4, 4, CHG_NZVC, cpu6812 }, 776*3d8817e4Smiod { "neg", OP_IDX_2, 4, 0x60, 5, 5, CHG_NZVC, cpu6812 }, 777*3d8817e4Smiod { "neg", OP_D_IDX, 2, 0x60, 6, 6, CHG_NZVC, cpu6812 }, 778*3d8817e4Smiod { "neg", OP_D_IDX_2, 4, 0x60, 6, 6, CHG_NZVC, cpu6812 }, 779*3d8817e4Smiod 780*3d8817e4Smiod { "nega", OP_NONE, 1, 0x40, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 781*3d8817e4Smiod { "negb", OP_NONE, 1, 0x50, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 782*3d8817e4Smiod { "nop", OP_NONE, 1, 0x01, 2, 2, CHG_NONE, cpu6811 }, 783*3d8817e4Smiod { "nop", OP_NONE, 1, 0xa7, 1, 1, CHG_NONE, cpu6812 }, 784*3d8817e4Smiod 785*3d8817e4Smiod { "oraa", OP_IMM8, 2, 0x8a, 1, 1, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 786*3d8817e4Smiod { "oraa", OP_DIRECT, 2, 0x9a, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 787*3d8817e4Smiod { "oraa", OP_IND16, 3, 0xba, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 788*3d8817e4Smiod { "oraa", OP_IX, 2, 0xaa, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 789*3d8817e4Smiod { "oraa", OP_IY | OP_PAGE2, 3, 0xaa, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 790*3d8817e4Smiod { "oraa", OP_IDX, 2, 0xaa, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 791*3d8817e4Smiod { "oraa", OP_IDX_1, 3, 0xaa, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 792*3d8817e4Smiod { "oraa", OP_IDX_2, 4, 0xaa, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 793*3d8817e4Smiod { "oraa", OP_D_IDX, 2, 0xaa, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 794*3d8817e4Smiod { "oraa", OP_D_IDX_2, 4, 0xaa, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 795*3d8817e4Smiod 796*3d8817e4Smiod { "orab", OP_IMM8, 2, 0xca, 1, 1, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 797*3d8817e4Smiod { "orab", OP_DIRECT, 2, 0xda, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 798*3d8817e4Smiod { "orab", OP_IND16, 3, 0xfa, 3, 3, CLR_V_CHG_NZ, cpu6811|cpu6812 }, 799*3d8817e4Smiod { "orab", OP_IX, 2, 0xea, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 800*3d8817e4Smiod { "orab", OP_IY | OP_PAGE2, 3, 0xea, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 801*3d8817e4Smiod { "orab", OP_IDX, 2, 0xea, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 802*3d8817e4Smiod { "orab", OP_IDX_1, 3, 0xea, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 803*3d8817e4Smiod { "orab", OP_IDX_2, 4, 0xea, 4, 4, CLR_V_CHG_NZ, cpu6812 }, 804*3d8817e4Smiod { "orab", OP_D_IDX, 2, 0xea, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 805*3d8817e4Smiod { "orab", OP_D_IDX_2, 4, 0xea, 6, 6, CLR_V_CHG_NZ, cpu6812 }, 806*3d8817e4Smiod 807*3d8817e4Smiod { "orcc", OP_IMM8, 2, 0x14, 1, 1, CHG_ALL, cpu6812 }, 808*3d8817e4Smiod 809*3d8817e4Smiod { "psha", OP_NONE, 1, 0x36, 2, 2, CHG_NONE, cpu6811|cpu6812 }, 810*3d8817e4Smiod { "pshb", OP_NONE, 1, 0x37, 2, 2, CHG_NONE, cpu6811|cpu6812 }, 811*3d8817e4Smiod { "pshc", OP_NONE, 1, 0x39, 2, 2, CHG_NONE, cpu6812 }, 812*3d8817e4Smiod { "pshd", OP_NONE, 1, 0x3b, 2, 2, CHG_NONE, cpu6812 }, 813*3d8817e4Smiod { "pshx", OP_NONE, 1, 0x3c, 4, 4, CHG_NONE, cpu6811 }, 814*3d8817e4Smiod { "pshx", OP_NONE, 1, 0x34, 2, 2, CHG_NONE, cpu6812 }, 815*3d8817e4Smiod { "pshy", OP_NONE | OP_PAGE2,2, 0x3c, 5, 5, CHG_NONE, cpu6811 }, 816*3d8817e4Smiod { "pshy", OP_NONE, 1, 0x35, 2, 2, CHG_NONE, cpu6812 }, 817*3d8817e4Smiod 818*3d8817e4Smiod { "pula", OP_NONE, 1, 0x32, 3, 3, CHG_NONE, cpu6811|cpu6812 }, 819*3d8817e4Smiod { "pulb", OP_NONE, 1, 0x33, 3, 3, CHG_NONE, cpu6811|cpu6812 }, 820*3d8817e4Smiod { "pulc", OP_NONE, 1, 0x38, 3, 3, CHG_NONE, cpu6812 }, 821*3d8817e4Smiod { "puld", OP_NONE, 1, 0x3a, 3, 3, CHG_NONE, cpu6812 }, 822*3d8817e4Smiod { "pulx", OP_NONE, 1, 0x38, 5, 5, CHG_NONE, cpu6811 }, 823*3d8817e4Smiod { "pulx", OP_NONE, 1, 0x30, 3, 3, CHG_NONE, cpu6812 }, 824*3d8817e4Smiod { "puly", OP_NONE | OP_PAGE2,2, 0x38, 6, 6, CHG_NONE, cpu6811 }, 825*3d8817e4Smiod { "puly", OP_NONE, 1, 0x31, 3, 3, CHG_NONE, cpu6812 }, 826*3d8817e4Smiod 827*3d8817e4Smiod { "rev", OP_NONE | OP_PAGE2, 2, 0x3a, _M, _M, CHG_HNZVC, cpu6812 }, 828*3d8817e4Smiod { "revw", OP_NONE | OP_PAGE2, 2, 0x3b, _M, _M, CHG_HNZVC, cpu6812 }, 829*3d8817e4Smiod 830*3d8817e4Smiod { "rol", OP_IND16, 3, 0x79, 6, 6, CHG_NZVC, cpu6811 }, 831*3d8817e4Smiod { "rol", OP_IX, 2, 0x69, 6, 6, CHG_NZVC, cpu6811 }, 832*3d8817e4Smiod { "rol", OP_IY | OP_PAGE2, 3, 0x69, 7, 7, CHG_NZVC, cpu6811 }, 833*3d8817e4Smiod { "rol", OP_IND16, 3, 0x75, 4, 4, CHG_NZVC, cpu6812 }, 834*3d8817e4Smiod { "rol", OP_IDX, 2, 0x65, 3, 3, CHG_NZVC, cpu6812 }, 835*3d8817e4Smiod { "rol", OP_IDX_1, 3, 0x65, 4, 4, CHG_NZVC, cpu6812 }, 836*3d8817e4Smiod { "rol", OP_IDX_2, 4, 0x65, 5, 5, CHG_NZVC, cpu6812 }, 837*3d8817e4Smiod { "rol", OP_D_IDX, 2, 0x65, 6, 6, CHG_NZVC, cpu6812 }, 838*3d8817e4Smiod { "rol", OP_D_IDX_2, 4, 0x65, 6, 6, CHG_NZVC, cpu6812 }, 839*3d8817e4Smiod 840*3d8817e4Smiod { "rola", OP_NONE, 1, 0x49, 2, 2, CHG_NZVC, cpu6811 }, 841*3d8817e4Smiod { "rola", OP_NONE, 1, 0x45, 1, 1, CHG_NZVC, cpu6812 }, 842*3d8817e4Smiod { "rolb", OP_NONE, 1, 0x59, 2, 2, CHG_NZVC, cpu6811 }, 843*3d8817e4Smiod { "rolb", OP_NONE, 1, 0x55, 1, 1, CHG_NZVC, cpu6812 }, 844*3d8817e4Smiod 845*3d8817e4Smiod { "ror", OP_IND16, 3, 0x76, 4, 4, CHG_NZVC, cpu6811|cpu6812 }, 846*3d8817e4Smiod { "ror", OP_IX, 2, 0x66, 6, 6, CHG_NZVC, cpu6811 }, 847*3d8817e4Smiod { "ror", OP_IY | OP_PAGE2, 3, 0x66, 7, 7, CHG_NZVC, cpu6811 }, 848*3d8817e4Smiod { "ror", OP_IDX, 2, 0x66, 3, 3, CHG_NZVC, cpu6812 }, 849*3d8817e4Smiod { "ror", OP_IDX_1, 3, 0x66, 4, 4, CHG_NZVC, cpu6812 }, 850*3d8817e4Smiod { "ror", OP_IDX_2, 4, 0x66, 5, 5, CHG_NZVC, cpu6812 }, 851*3d8817e4Smiod { "ror", OP_D_IDX, 2, 0x66, 6, 6, CHG_NZVC, cpu6812 }, 852*3d8817e4Smiod { "ror", OP_D_IDX_2, 4, 0x66, 6, 6, CHG_NZVC, cpu6812 }, 853*3d8817e4Smiod 854*3d8817e4Smiod { "rora", OP_NONE, 1, 0x46, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 855*3d8817e4Smiod { "rorb", OP_NONE, 1, 0x56, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 856*3d8817e4Smiod 857*3d8817e4Smiod { "rtc", OP_NONE, 1, 0x0a, 6, 6, CHG_NONE, cpu6812 }, 858*3d8817e4Smiod { "rti", OP_NONE, 1, 0x3b, 12, 12, CHG_ALL, cpu6811}, 859*3d8817e4Smiod { "rti", OP_NONE, 1, 0x0b, 8, 10, CHG_ALL, cpu6812}, 860*3d8817e4Smiod { "rts", OP_NONE, 1, 0x39, 5, 5, CHG_NONE, cpu6811 }, 861*3d8817e4Smiod { "rts", OP_NONE, 1, 0x3d, 5, 5, CHG_NONE, cpu6812 }, 862*3d8817e4Smiod 863*3d8817e4Smiod { "sba", OP_NONE, 1, 0x10, 2, 2, CHG_NZVC, cpu6811 }, 864*3d8817e4Smiod { "sba", OP_NONE | OP_PAGE2, 2, 0x16, 2, 2, CHG_NZVC, cpu6812 }, 865*3d8817e4Smiod 866*3d8817e4Smiod { "sbca", OP_IMM8, 2, 0x82, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 867*3d8817e4Smiod { "sbca", OP_DIRECT, 2, 0x92, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 868*3d8817e4Smiod { "sbca", OP_IND16, 3, 0xb2, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 869*3d8817e4Smiod { "sbca", OP_IX, 2, 0xa2, 4, 4, CHG_NZVC, cpu6811 }, 870*3d8817e4Smiod { "sbca", OP_IY | OP_PAGE2, 3, 0xa2, 5, 5, CHG_NZVC, cpu6811 }, 871*3d8817e4Smiod { "sbca", OP_IDX, 2, 0xa2, 3, 3, CHG_NZVC, cpu6812 }, 872*3d8817e4Smiod { "sbca", OP_IDX_1, 3, 0xa2, 3, 3, CHG_NZVC, cpu6812 }, 873*3d8817e4Smiod { "sbca", OP_IDX_2, 4, 0xa2, 4, 4, CHG_NZVC, cpu6812 }, 874*3d8817e4Smiod { "sbca", OP_D_IDX, 2, 0xa2, 6, 6, CHG_NZVC, cpu6812 }, 875*3d8817e4Smiod { "sbca", OP_D_IDX_2, 4, 0xa2, 6, 6, CHG_NZVC, cpu6812 }, 876*3d8817e4Smiod 877*3d8817e4Smiod { "sbcb", OP_IMM8, 2, 0xc2, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 878*3d8817e4Smiod { "sbcb", OP_DIRECT, 2, 0xd2, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 879*3d8817e4Smiod { "sbcb", OP_IND16, 3, 0xf2, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 880*3d8817e4Smiod { "sbcb", OP_IX, 2, 0xe2, 4, 4, CHG_NZVC, cpu6811 }, 881*3d8817e4Smiod { "sbcb", OP_IY | OP_PAGE2, 3, 0xe2, 5, 5, CHG_NZVC, cpu6811 }, 882*3d8817e4Smiod { "sbcb", OP_IDX, 2, 0xe2, 3, 3, CHG_NZVC, cpu6812 }, 883*3d8817e4Smiod { "sbcb", OP_IDX_1, 3, 0xe2, 3, 3, CHG_NZVC, cpu6812 }, 884*3d8817e4Smiod { "sbcb", OP_IDX_2, 4, 0xe2, 4, 4, CHG_NZVC, cpu6812 }, 885*3d8817e4Smiod { "sbcb", OP_D_IDX, 2, 0xe2, 6, 6, CHG_NZVC, cpu6812 }, 886*3d8817e4Smiod { "sbcb", OP_D_IDX_2, 4, 0xe2, 6, 6, CHG_NZVC, cpu6812 }, 887*3d8817e4Smiod 888*3d8817e4Smiod { "sec", OP_NONE, 1, 0x0d, 2, 2, SET_C, cpu6811 }, 889*3d8817e4Smiod { "sei", OP_NONE, 1, 0x0f, 2, 2, SET_I, cpu6811 }, 890*3d8817e4Smiod { "sev", OP_NONE, 1, 0x0b, 2, 2, SET_V, cpu6811 }, 891*3d8817e4Smiod 892*3d8817e4Smiod { "sex", M6812_OP_SEX_MARKER 893*3d8817e4Smiod | OP_REG | OP_REG_2, 2, 0xb7, 1, 1, CHG_NONE, cpu6812 }, 894*3d8817e4Smiod 895*3d8817e4Smiod { "staa", OP_IND16, 3, 0xb7, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 896*3d8817e4Smiod { "staa", OP_DIRECT, 2, 0x97, 3, 3, CLR_V_CHG_NZ, cpu6811 }, 897*3d8817e4Smiod { "staa", OP_IX, 2, 0xa7, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 898*3d8817e4Smiod { "staa", OP_IY | OP_PAGE2, 3, 0xa7, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 899*3d8817e4Smiod { "staa", OP_DIRECT, 2, 0x5a, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 900*3d8817e4Smiod { "staa", OP_IND16, 3, 0x7a, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 901*3d8817e4Smiod { "staa", OP_IDX, 2, 0x6a, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 902*3d8817e4Smiod { "staa", OP_IDX_1, 3, 0x6a, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 903*3d8817e4Smiod { "staa", OP_IDX_2, 4, 0x6a, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 904*3d8817e4Smiod { "staa", OP_D_IDX, 2, 0x6a, 5, 5, CLR_V_CHG_NZ, cpu6812 }, 905*3d8817e4Smiod { "staa", OP_D_IDX_2, 4, 0x6a, 5, 5, CLR_V_CHG_NZ, cpu6812 }, 906*3d8817e4Smiod 907*3d8817e4Smiod { "stab", OP_IND16, 3, 0xf7, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 908*3d8817e4Smiod { "stab", OP_DIRECT, 2, 0xd7, 3, 3, CLR_V_CHG_NZ, cpu6811 }, 909*3d8817e4Smiod { "stab", OP_IX, 2, 0xe7, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 910*3d8817e4Smiod { "stab", OP_IY | OP_PAGE2, 3, 0xe7, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 911*3d8817e4Smiod { "stab", OP_DIRECT, 2, 0x5b, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 912*3d8817e4Smiod { "stab", OP_IND16, 3, 0x7b, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 913*3d8817e4Smiod { "stab", OP_IDX, 2, 0x6b, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 914*3d8817e4Smiod { "stab", OP_IDX_1, 3, 0x6b, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 915*3d8817e4Smiod { "stab", OP_IDX_2, 4, 0x6b, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 916*3d8817e4Smiod { "stab", OP_D_IDX, 2, 0x6b, 5, 5, CLR_V_CHG_NZ, cpu6812 }, 917*3d8817e4Smiod { "stab", OP_D_IDX_2, 4, 0x6b, 5, 5, CLR_V_CHG_NZ, cpu6812 }, 918*3d8817e4Smiod 919*3d8817e4Smiod { "std", OP_IND16, 3, 0xfd, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 920*3d8817e4Smiod { "std", OP_DIRECT, 2, 0xdd, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 921*3d8817e4Smiod { "std", OP_IX, 2, 0xed, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 922*3d8817e4Smiod { "std", OP_IY | OP_PAGE2, 3, 0xed, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 923*3d8817e4Smiod { "std", OP_DIRECT, 2, 0x5c, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 924*3d8817e4Smiod { "std", OP_IND16, 3, 0x7c, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 925*3d8817e4Smiod { "std", OP_IDX, 2, 0x6c, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 926*3d8817e4Smiod { "std", OP_IDX_1, 3, 0x6c, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 927*3d8817e4Smiod { "std", OP_IDX_2, 4, 0x6c, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 928*3d8817e4Smiod { "std", OP_D_IDX, 2, 0x6c, 5, 5, CLR_V_CHG_NZ, cpu6812 }, 929*3d8817e4Smiod { "std", OP_D_IDX_2, 4, 0x6c, 5, 5, CLR_V_CHG_NZ, cpu6812 }, 930*3d8817e4Smiod 931*3d8817e4Smiod { "stop", OP_NONE, 1, 0xcf, 2, 2, CHG_NONE, cpu6811 }, 932*3d8817e4Smiod { "stop", OP_NONE | OP_PAGE2,2, 0x3e, 2, 9, CHG_NONE, cpu6812 }, 933*3d8817e4Smiod 934*3d8817e4Smiod { "sts", OP_IND16, 3, 0xbf, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 935*3d8817e4Smiod { "sts", OP_DIRECT, 2, 0x9f, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 936*3d8817e4Smiod { "sts", OP_IX, 2, 0xaf, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 937*3d8817e4Smiod { "sts", OP_IY | OP_PAGE2, 3, 0xaf, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 938*3d8817e4Smiod { "sts", OP_DIRECT, 2, 0x5f, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 939*3d8817e4Smiod { "sts", OP_IND16, 3, 0x7f, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 940*3d8817e4Smiod { "sts", OP_IDX, 2, 0x6f, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 941*3d8817e4Smiod { "sts", OP_IDX_1, 3, 0x6f, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 942*3d8817e4Smiod { "sts", OP_IDX_2, 4, 0x6f, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 943*3d8817e4Smiod { "sts", OP_D_IDX, 2, 0x6f, 5, 5, CLR_V_CHG_NZ, cpu6812 }, 944*3d8817e4Smiod { "sts", OP_D_IDX_2, 4, 0x6f, 5, 5, CLR_V_CHG_NZ, cpu6812 }, 945*3d8817e4Smiod 946*3d8817e4Smiod { "stx", OP_IND16, 3, 0xff, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 947*3d8817e4Smiod { "stx", OP_DIRECT, 2, 0xdf, 4, 4, CLR_V_CHG_NZ, cpu6811 }, 948*3d8817e4Smiod { "stx", OP_IX, 2, 0xef, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 949*3d8817e4Smiod { "stx", OP_IY | OP_PAGE4, 3, 0xef, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 950*3d8817e4Smiod { "stx", OP_DIRECT, 2, 0x5e, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 951*3d8817e4Smiod { "stx", OP_IND16, 3, 0x7e, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 952*3d8817e4Smiod { "stx", OP_IDX, 2, 0x6e, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 953*3d8817e4Smiod { "stx", OP_IDX_1, 3, 0x6e, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 954*3d8817e4Smiod { "stx", OP_IDX_2, 4, 0x6e, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 955*3d8817e4Smiod { "stx", OP_D_IDX, 2, 0x6e, 5, 5, CLR_V_CHG_NZ, cpu6812 }, 956*3d8817e4Smiod { "stx", OP_D_IDX_2, 4, 0x6e, 5, 5, CLR_V_CHG_NZ, cpu6812 }, 957*3d8817e4Smiod 958*3d8817e4Smiod { "sty", OP_IND16 | OP_PAGE2, 4, 0xff, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 959*3d8817e4Smiod { "sty", OP_DIRECT | OP_PAGE2, 3, 0xdf, 5, 5, CLR_V_CHG_NZ, cpu6811 }, 960*3d8817e4Smiod { "sty", OP_IY | OP_PAGE2, 3, 0xef, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 961*3d8817e4Smiod { "sty", OP_IX | OP_PAGE3, 3, 0xef, 6, 6, CLR_V_CHG_NZ, cpu6811 }, 962*3d8817e4Smiod { "sty", OP_DIRECT, 2, 0x5d, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 963*3d8817e4Smiod { "sty", OP_IND16, 3, 0x7d, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 964*3d8817e4Smiod { "sty", OP_IDX, 2, 0x6d, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 965*3d8817e4Smiod { "sty", OP_IDX_1, 3, 0x6d, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 966*3d8817e4Smiod { "sty", OP_IDX_2, 4, 0x6d, 3, 3, CLR_V_CHG_NZ, cpu6812 }, 967*3d8817e4Smiod { "sty", OP_D_IDX, 2, 0x6d, 5, 5, CLR_V_CHG_NZ, cpu6812 }, 968*3d8817e4Smiod { "sty", OP_D_IDX_2, 4, 0x6d, 5, 5, CLR_V_CHG_NZ, cpu6812 }, 969*3d8817e4Smiod 970*3d8817e4Smiod { "suba", OP_IMM8, 2, 0x80, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 971*3d8817e4Smiod { "suba", OP_DIRECT, 2, 0x90, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 972*3d8817e4Smiod { "suba", OP_IND16, 3, 0xb0, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 973*3d8817e4Smiod { "suba", OP_IX, 2, 0xa0, 4, 4, CHG_NZVC, cpu6811 }, 974*3d8817e4Smiod { "suba", OP_IY | OP_PAGE2, 3, 0xa0, 5, 5, CHG_NZVC, cpu6811 }, 975*3d8817e4Smiod { "suba", OP_IDX, 2, 0xa0, 3, 3, CHG_NZVC, cpu6812 }, 976*3d8817e4Smiod { "suba", OP_IDX_1, 3, 0xa0, 3, 3, CHG_NZVC, cpu6812 }, 977*3d8817e4Smiod { "suba", OP_IDX_2, 4, 0xa0, 4, 4, CHG_NZVC, cpu6812 }, 978*3d8817e4Smiod { "suba", OP_D_IDX, 2, 0xa0, 6, 6, CHG_NZVC, cpu6812 }, 979*3d8817e4Smiod { "suba", OP_D_IDX_2, 4, 0xa0, 6, 6, CHG_NZVC, cpu6812 }, 980*3d8817e4Smiod 981*3d8817e4Smiod { "subb", OP_IMM8, 2, 0xc0, 1, 1, CHG_NZVC, cpu6811|cpu6812 }, 982*3d8817e4Smiod { "subb", OP_DIRECT, 2, 0xd0, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 983*3d8817e4Smiod { "subb", OP_IND16, 3, 0xf0, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 984*3d8817e4Smiod { "subb", OP_IX, 2, 0xe0, 4, 4, CHG_NZVC, cpu6811 }, 985*3d8817e4Smiod { "subb", OP_IY | OP_PAGE2, 3, 0xe0, 5, 5, CHG_NZVC, cpu6811 }, 986*3d8817e4Smiod { "subb", OP_IDX, 2, 0xe0, 3, 3, CHG_NZVC, cpu6812 }, 987*3d8817e4Smiod { "subb", OP_IDX_1, 3, 0xe0, 3, 3, CHG_NZVC, cpu6812 }, 988*3d8817e4Smiod { "subb", OP_IDX_2, 4, 0xe0, 4, 4, CHG_NZVC, cpu6812 }, 989*3d8817e4Smiod { "subb", OP_D_IDX, 2, 0xe0, 6, 6, CHG_NZVC, cpu6812 }, 990*3d8817e4Smiod { "subb", OP_D_IDX_2, 4, 0xe0, 6, 6, CHG_NZVC, cpu6812 }, 991*3d8817e4Smiod 992*3d8817e4Smiod { "subd", OP_IMM16, 3, 0x83, 2, 2, CHG_NZVC, cpu6811|cpu6812 }, 993*3d8817e4Smiod { "subd", OP_DIRECT, 2, 0x93, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 994*3d8817e4Smiod { "subd", OP_IND16, 3, 0xb3, 3, 3, CHG_NZVC, cpu6811|cpu6812 }, 995*3d8817e4Smiod { "subd", OP_IX, 2, 0xa3, 6, 6, CHG_NZVC, cpu6811 }, 996*3d8817e4Smiod { "subd", OP_IY | OP_PAGE2, 3, 0xa3, 7, 7, CHG_NZVC, cpu6811 }, 997*3d8817e4Smiod { "subd", OP_IDX, 2, 0xa3, 3, 3, CHG_NZVC, cpu6812 }, 998*3d8817e4Smiod { "subd", OP_IDX_1, 3, 0xa3, 3, 3, CHG_NZVC, cpu6812 }, 999*3d8817e4Smiod { "subd", OP_IDX_2, 4, 0xa3, 4, 4, CHG_NZVC, cpu6812 }, 1000*3d8817e4Smiod { "subd", OP_D_IDX, 2, 0xa3, 6, 6, CHG_NZVC, cpu6812 }, 1001*3d8817e4Smiod { "subd", OP_D_IDX_2, 4, 0xa3, 6, 6, CHG_NZVC, cpu6812 }, 1002*3d8817e4Smiod 1003*3d8817e4Smiod { "swi", OP_NONE, 1, 0x3f, 9, 9, CHG_NONE, cpu6811|cpu6812 }, 1004*3d8817e4Smiod 1005*3d8817e4Smiod { "tab", OP_NONE, 1, 0x16, 2, 2, CLR_V_CHG_NZ, cpu6811 }, 1006*3d8817e4Smiod { "tab", OP_NONE | OP_PAGE2,2, 0x0e, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 1007*3d8817e4Smiod 1008*3d8817e4Smiod { "tap", OP_NONE, 1, 0x06, 2, 2, CHG_ALL, cpu6811 }, 1009*3d8817e4Smiod 1010*3d8817e4Smiod { "tba", OP_NONE, 1, 0x17, 2, 2, CLR_V_CHG_NZ, cpu6811 }, 1011*3d8817e4Smiod { "tba", OP_NONE | OP_PAGE2,2, 0x0f, 2, 2, CLR_V_CHG_NZ, cpu6812 }, 1012*3d8817e4Smiod 1013*3d8817e4Smiod { "test", OP_NONE, 1, 0x00, 5, _M, CHG_NONE, cpu6811 }, 1014*3d8817e4Smiod 1015*3d8817e4Smiod { "tpa", OP_NONE, 1, 0x07, 2, 2, CHG_NONE, cpu6811 }, 1016*3d8817e4Smiod 1017*3d8817e4Smiod { "tbeq", OP_TBEQ_MARKER 1018*3d8817e4Smiod | OP_REG | OP_JUMP_REL, 3, 0x04, 3, 3, CHG_NONE, cpu6812 }, 1019*3d8817e4Smiod 1020*3d8817e4Smiod { "tbl", OP_IDX | OP_PAGE2, 3, 0x3d, 8, 8, CHG_NZC, cpu6812 }, 1021*3d8817e4Smiod 1022*3d8817e4Smiod { "tbne", OP_TBNE_MARKER 1023*3d8817e4Smiod | OP_REG | OP_JUMP_REL, 3, 0x04, 3, 3, CHG_NONE, cpu6812 }, 1024*3d8817e4Smiod 1025*3d8817e4Smiod { "tfr", OP_TFR_MARKER 1026*3d8817e4Smiod | OP_REG_1 | OP_REG_2, 2, 0xb7, 1, 1, CHG_NONE, cpu6812 }, 1027*3d8817e4Smiod 1028*3d8817e4Smiod { "trap", OP_IMM8 | OP_TRAP_ID, 2, 0x18, 11, 11, SET_I, cpu6812 }, 1029*3d8817e4Smiod 1030*3d8817e4Smiod { "tst", OP_IND16, 3, 0x7d, 6, 6, CLR_VC_CHG_NZ, cpu6811 }, 1031*3d8817e4Smiod { "tst", OP_IX, 2, 0x6d, 6, 6, CLR_VC_CHG_NZ, cpu6811 }, 1032*3d8817e4Smiod { "tst", OP_IY | OP_PAGE2, 3, 0x6d, 7, 7, CLR_VC_CHG_NZ, cpu6811 }, 1033*3d8817e4Smiod { "tst", OP_IND16, 3, 0xf7, 3, 3, CLR_VC_CHG_NZ, cpu6812 }, 1034*3d8817e4Smiod { "tst", OP_IDX, 2, 0xe7, 3, 3, CLR_VC_CHG_NZ, cpu6812 }, 1035*3d8817e4Smiod { "tst", OP_IDX_1, 3, 0xe7, 3, 3, CLR_VC_CHG_NZ, cpu6812 }, 1036*3d8817e4Smiod { "tst", OP_IDX_2, 4, 0xe7, 4, 4, CLR_VC_CHG_NZ, cpu6812 }, 1037*3d8817e4Smiod { "tst", OP_D_IDX, 2, 0xe7, 6, 6, CLR_VC_CHG_NZ, cpu6812 }, 1038*3d8817e4Smiod { "tst", OP_D_IDX_2, 4, 0xe7, 6, 6, CLR_VC_CHG_NZ, cpu6812 }, 1039*3d8817e4Smiod 1040*3d8817e4Smiod { "tsta", OP_NONE, 1, 0x4d, 2, 2, CLR_VC_CHG_NZ, cpu6811 }, 1041*3d8817e4Smiod { "tsta", OP_NONE, 1, 0x97, 1, 1, CLR_VC_CHG_NZ, cpu6812 }, 1042*3d8817e4Smiod { "tstb", OP_NONE, 1, 0x5d, 2, 2, CLR_VC_CHG_NZ, cpu6811 }, 1043*3d8817e4Smiod { "tstb", OP_NONE, 1, 0xd7, 1, 1, CLR_VC_CHG_NZ, cpu6812 }, 1044*3d8817e4Smiod 1045*3d8817e4Smiod { "tsx", OP_NONE, 1, 0x30, 3, 3, CHG_NONE, cpu6811 }, 1046*3d8817e4Smiod { "tsy", OP_NONE | OP_PAGE2,2, 0x30, 4, 4, CHG_NONE, cpu6811 }, 1047*3d8817e4Smiod { "txs", OP_NONE, 1, 0x35, 3, 3, CHG_NONE, cpu6811 }, 1048*3d8817e4Smiod { "tys", OP_NONE | OP_PAGE2,2, 0x35, 4, 4, CHG_NONE, cpu6811 }, 1049*3d8817e4Smiod 1050*3d8817e4Smiod { "wai", OP_NONE, 1, 0x3e, 5, _M, CHG_NONE, cpu6811|cpu6812 }, 1051*3d8817e4Smiod 1052*3d8817e4Smiod { "wav", OP_NONE | OP_PAGE2, 2, 0x3c, 8, _M, SET_Z_CHG_HNVC, cpu6812 }, 1053*3d8817e4Smiod 1054*3d8817e4Smiod { "xgdx", OP_NONE, 1, 0x8f, 3, 3, CHG_NONE, cpu6811 }, 1055*3d8817e4Smiod { "xgdy", OP_NONE | OP_PAGE2,2, 0x8f, 4, 4, CHG_NONE, cpu6811 } 1056*3d8817e4Smiod }; 1057*3d8817e4Smiod 1058*3d8817e4Smiod const int m68hc11_num_opcodes = TABLE_SIZE (m68hc11_opcodes); 1059*3d8817e4Smiod 1060*3d8817e4Smiod /* The following alias table provides source compatibility to 1061*3d8817e4Smiod move from 68HC11 assembly to 68HC12. */ 1062*3d8817e4Smiod const struct m68hc12_opcode_alias m68hc12_alias[] = { 1063*3d8817e4Smiod { "abx", "leax b,x", 2, 0x1a, 0xe5 }, 1064*3d8817e4Smiod { "aby", "leay b,y", 2, 0x19, 0xed }, 1065*3d8817e4Smiod { "clc", "andcc #$fe", 2, 0x10, 0xfe }, 1066*3d8817e4Smiod { "cli", "andcc #$ef", 2, 0x10, 0xef }, 1067*3d8817e4Smiod { "clv", "andcc #$fd", 2, 0x10, 0xfd }, 1068*3d8817e4Smiod { "des", "leas -1,sp", 2, 0x1b, 0x9f }, 1069*3d8817e4Smiod { "ins", "leas 1,sp", 2, 0x1b, 0x81 }, 1070*3d8817e4Smiod { "sec", "orcc #$01", 2, 0x14, 0x01 }, 1071*3d8817e4Smiod { "sei", "orcc #$10", 2, 0x14, 0x10 }, 1072*3d8817e4Smiod { "sev", "orcc #$02", 2, 0x14, 0x02 }, 1073*3d8817e4Smiod { "tap", "tfr a,ccr", 2, 0xb7, 0x02 }, 1074*3d8817e4Smiod { "tpa", "tfr ccr,a", 2, 0xb7, 0x20 }, 1075*3d8817e4Smiod { "tsx", "tfr sp,x", 2, 0xb7, 0x75 }, 1076*3d8817e4Smiod { "tsy", "tfr sp,y", 2, 0xb7, 0x76 }, 1077*3d8817e4Smiod { "txs", "tfr x,sp", 2, 0xb7, 0x57 }, 1078*3d8817e4Smiod { "tys", "tfr y,sp", 2, 0xb7, 0x67 }, 1079*3d8817e4Smiod { "xgdx","exg d,x", 2, 0xb7, 0xc5 }, 1080*3d8817e4Smiod { "xgdy","exg d,y", 2, 0xb7, 0xc6 } 1081*3d8817e4Smiod }; 1082*3d8817e4Smiod const int m68hc12_num_alias = TABLE_SIZE (m68hc12_alias); 1083