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