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