comparison lwasm/instab.c @ 230:0df2a39a268c

Added --6809/--6309 switches and some cleanups in error reporting
author lost
date Fri, 12 Jun 2009 03:18:32 +0000
parents 560843a951f7
children 4e25aa2af73c
comparison
equal deleted inserted replaced
229:59a138df0401 230:0df2a39a268c
86 instab_t instab[] = 86 instab_t instab[] =
87 { 87 {
88 { "abx", { 0x3a, -0x1, -0x1, -0x1 }, insn_inh }, 88 { "abx", { 0x3a, -0x1, -0x1, -0x1 }, insn_inh },
89 { "adca", { 0x99, 0xa9, 0xb9, 0x89 }, insn_gen8 }, 89 { "adca", { 0x99, 0xa9, 0xb9, 0x89 }, insn_gen8 },
90 { "adcb", { 0xd9, 0xe9, 0xf9, 0xc9 }, insn_gen8 }, 90 { "adcb", { 0xd9, 0xe9, 0xf9, 0xc9 }, insn_gen8 },
91 { "adcd", { 0x1099, 0x10a9, 0x10b9, 0x1089 }, insn_gen16 }, 91 { "adcd", { 0x1099, 0x10a9, 0x10b9, 0x1089 }, insn_gen16 , 0, 0, 0, 1},
92 { "adcr", { 0x1031, -0x1, -0x1, -0x1 }, insn_rtor }, 92 { "adcr", { 0x1031, -0x1, -0x1, -0x1 }, insn_rtor, 0, 0, 0, 1 },
93 { "adda", { 0x9b, 0xab, 0xbb, 0x8b }, insn_gen8 }, 93 { "adda", { 0x9b, 0xab, 0xbb, 0x8b }, insn_gen8 },
94 { "addb", { 0xdb, 0xeb, 0xfb, 0xcb }, insn_gen8 }, 94 { "addb", { 0xdb, 0xeb, 0xfb, 0xcb }, insn_gen8 },
95 { "addd", { 0xd3, 0xe3, 0xf3, 0xc3 }, insn_gen16 }, 95 { "addd", { 0xd3, 0xe3, 0xf3, 0xc3 }, insn_gen16 },
96 { "adde", { 0x119b, 0x11ab, 0x11bb, 0x118b }, insn_gen8 }, 96 { "adde", { 0x119b, 0x11ab, 0x11bb, 0x118b }, insn_gen8, 0, 0, 0, 1 },
97 { "addf", { 0x11db, 0x11eb, 0x11fb, 0x11cb }, insn_gen8 }, 97 { "addf", { 0x11db, 0x11eb, 0x11fb, 0x11cb }, insn_gen8, 0, 0, 0, 1 },
98 { "addr", { 0x1030, -0x1, -0x1, -0x1 }, insn_rtor }, 98 { "addr", { 0x1030, -0x1, -0x1, -0x1 }, insn_rtor, 0, 0, 0, 1 },
99 { "addw", { 0x109b, 0x10ab, 0x10bb, 0x108b }, insn_gen16 }, 99 { "addw", { 0x109b, 0x10ab, 0x10bb, 0x108b }, insn_gen16, 0, 0, 0, 1 },
100 { "aim", { 0x02, 0x62, 0x72, -0x1 }, insn_logicmem }, 100 { "aim", { 0x02, 0x62, 0x72, -0x1 }, insn_logicmem, 0, 0, 0, 1 },
101 { "anda", { 0x94, 0xa4, 0xb4, 0x84 }, insn_gen8 }, 101 { "anda", { 0x94, 0xa4, 0xb4, 0x84 }, insn_gen8 },
102 { "andb", { 0xd4, 0xe4, 0xf4, 0xc4 }, insn_gen8 }, 102 { "andb", { 0xd4, 0xe4, 0xf4, 0xc4 }, insn_gen8 },
103 { "andcc", { 0x1c, -0x1, -0x1, 0x1c }, insn_imm8 }, 103 { "andcc", { 0x1c, -0x1, -0x1, 0x1c }, insn_imm8 },
104 { "andd", { 0x1094, 0x10a4, 0x10b4, 0x1084 }, insn_gen16 }, 104 { "andd", { 0x1094, 0x10a4, 0x10b4, 0x1084 }, insn_gen16, 0, 0, 0, 1 },
105 { "andr", { 0x1034, -0x1, -0x1, -0x1 }, insn_rtor }, 105 { "andr", { 0x1034, -0x1, -0x1, -0x1 }, insn_rtor, 0, 0, 0, 1 },
106 { "asl", { 0x08, 0x68, 0x78, -0x1 }, insn_gen0 }, 106 { "asl", { 0x08, 0x68, 0x78, -0x1 }, insn_gen0 },
107 { "asla", { 0x48, -0x1, -0x1, -0x1 }, insn_inh }, 107 { "asla", { 0x48, -0x1, -0x1, -0x1 }, insn_inh },
108 { "aslb", { 0x58, -0x1, -0x1, -0x1 }, insn_inh }, 108 { "aslb", { 0x58, -0x1, -0x1, -0x1 }, insn_inh },
109 { "asld", { 0x1048, -0x1, -0x1, -0x1 }, insn_inh }, 109 { "asld", { 0x1048, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
110 { "asr", { 0x07, 0x67, 0x77, -0x1 }, insn_gen0 }, 110 { "asr", { 0x07, 0x67, 0x77, -0x1 }, insn_gen0 },
111 { "asra", { 0x47, -0x1, -0x1, -0x1 }, insn_inh }, 111 { "asra", { 0x47, -0x1, -0x1, -0x1 }, insn_inh },
112 { "asrb", { 0x57, -0x1, -0x1, -0x1 }, insn_inh }, 112 { "asrb", { 0x57, -0x1, -0x1, -0x1 }, insn_inh },
113 { "asrd", { 0x1047, -0x1, -0x1, -0x1 }, insn_inh }, 113 { "asrd", { 0x1047, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
114 114
115 { "band", { 0x1130, -0x1, -0x1, -0x1 }, insn_bitbit }, 115 { "band", { 0x1130, -0x1, -0x1, -0x1 }, insn_bitbit, 0, 0, 0, 1 },
116 { "bcc", { 0x24, -0x1, -0x1, -0x1 }, insn_rel8 }, 116 { "bcc", { 0x24, -0x1, -0x1, -0x1 }, insn_rel8 },
117 { "bcs", { 0x25, -0x1, -0x1, -0x1 }, insn_rel8 }, 117 { "bcs", { 0x25, -0x1, -0x1, -0x1 }, insn_rel8 },
118 { "beor", { 0x1134, -0x1, -0x1, -0x1 }, insn_bitbit }, 118 { "beor", { 0x1134, -0x1, -0x1, -0x1 }, insn_bitbit, 0, 0, 0, 1 },
119 { "beq", { 0x27, -0x1, -0x1, -0x1 }, insn_rel8 }, 119 { "beq", { 0x27, -0x1, -0x1, -0x1 }, insn_rel8 },
120 { "bge", { 0x2c, -0x1, -0x1, -0x1 }, insn_rel8 }, 120 { "bge", { 0x2c, -0x1, -0x1, -0x1 }, insn_rel8 },
121 { "bgt", { 0x2e, -0x1, -0x1, -0x1 }, insn_rel8 }, 121 { "bgt", { 0x2e, -0x1, -0x1, -0x1 }, insn_rel8 },
122 { "bhi", { 0x22, -0x1, -0x1, -0x1 }, insn_rel8 }, 122 { "bhi", { 0x22, -0x1, -0x1, -0x1 }, insn_rel8 },
123 { "bhs", { 0x24, -0x1, -0x1, -0x1 }, insn_rel8 }, 123 { "bhs", { 0x24, -0x1, -0x1, -0x1 }, insn_rel8 },
124 { "biand", { 0x1131, -0x1, -0x1, -0x1 }, insn_bitbit }, 124 { "biand", { 0x1131, -0x1, -0x1, -0x1 }, insn_bitbit, 0, 0, 0, 1 },
125 { "bieor", { 0x1135, -0x1, -0x1, -0x1 }, insn_bitbit }, 125 { "bieor", { 0x1135, -0x1, -0x1, -0x1 }, insn_bitbit, 0, 0, 0, 1 },
126 { "bior", { 0x1133, -0x1, -0x1, -0x1 }, insn_bitbit }, 126 { "bior", { 0x1133, -0x1, -0x1, -0x1 }, insn_bitbit, 0, 0, 0, 1 },
127 { "bita", { 0x95, 0xa5, 0xb5, 0x85 }, insn_gen8 }, 127 { "bita", { 0x95, 0xa5, 0xb5, 0x85 }, insn_gen8 },
128 { "bitb", { 0xd5, 0xe5, 0xf5, 0xc5 }, insn_gen8 }, 128 { "bitb", { 0xd5, 0xe5, 0xf5, 0xc5 }, insn_gen8 },
129 { "bitd", { 0x1095, 0x10a5, 0x10b5, 0x1085 }, insn_gen16 }, 129 { "bitd", { 0x1095, 0x10a5, 0x10b5, 0x1085 }, insn_gen16, 0, 0, 0, 1 },
130 { "bitmd", { 0x113c, -0x1, -0x1, 0x113c }, insn_imm8 }, 130 { "bitmd", { 0x113c, -0x1, -0x1, 0x113c }, insn_imm8, 0, 0, 0, 1 },
131 { "ble", { 0x2f, -0x1, -0x1, -0x1 }, insn_rel8 }, 131 { "ble", { 0x2f, -0x1, -0x1, -0x1 }, insn_rel8 },
132 { "blo", { 0x25, -0x1, -0x1, -0x1 }, insn_rel8 }, 132 { "blo", { 0x25, -0x1, -0x1, -0x1 }, insn_rel8 },
133 { "bls", { 0x23, -0x1, -0x1, -0x1 }, insn_rel8 }, 133 { "bls", { 0x23, -0x1, -0x1, -0x1 }, insn_rel8 },
134 { "blt", { 0x2d, -0x1, -0x1, -0x1 }, insn_rel8 }, 134 { "blt", { 0x2d, -0x1, -0x1, -0x1 }, insn_rel8 },
135 { "bmi", { 0x2b, -0x1, -0x1, -0x1 }, insn_rel8 }, 135 { "bmi", { 0x2b, -0x1, -0x1, -0x1 }, insn_rel8 },
136 { "bne", { 0x26, -0x1, -0x1, -0x1 }, insn_rel8 }, 136 { "bne", { 0x26, -0x1, -0x1, -0x1 }, insn_rel8 },
137 { "bor", { 0x1132, -0x1, -0x1, -0x1 }, insn_bitbit }, 137 { "bor", { 0x1132, -0x1, -0x1, -0x1 }, insn_bitbit, 0, 0, 0, 1 },
138 { "bpl", { 0x2a, -0x1, -0x1, -0x1 }, insn_rel8 }, 138 { "bpl", { 0x2a, -0x1, -0x1, -0x1 }, insn_rel8 },
139 { "bra", { 0x20, -0x1, -0x1, -0x1 }, insn_rel8 }, 139 { "bra", { 0x20, -0x1, -0x1, -0x1 }, insn_rel8 },
140 { "brn", { 0x21, -0x1, -0x1, -0x1 }, insn_rel8 }, 140 { "brn", { 0x21, -0x1, -0x1, -0x1 }, insn_rel8 },
141 { "bsr", { 0x8d, -0x1, -0x1, -0x1 }, insn_rel8 }, 141 { "bsr", { 0x8d, -0x1, -0x1, -0x1 }, insn_rel8 },
142 { "bvc", { 0x28, -0x1, -0x1, -0x1 }, insn_rel8 }, 142 { "bvc", { 0x28, -0x1, -0x1, -0x1 }, insn_rel8 },
143 { "bvs", { 0x29, -0x1, -0x1, -0x1 }, insn_rel8 }, 143 { "bvs", { 0x29, -0x1, -0x1, -0x1 }, insn_rel8 },
144 144
145 { "clr", { 0x0f, 0x6f, 0x7f, -0x1 }, insn_gen0 }, 145 { "clr", { 0x0f, 0x6f, 0x7f, -0x1 }, insn_gen0 },
146 { "clra", { 0x4f, -0x1, -0x1, -0x1 }, insn_inh }, 146 { "clra", { 0x4f, -0x1, -0x1, -0x1 }, insn_inh },
147 { "clrb", { 0x5f, -0x1, -0x1, -0x1 }, insn_inh }, 147 { "clrb", { 0x5f, -0x1, -0x1, -0x1 }, insn_inh },
148 { "clrd", { 0x104f, -0x1, -0x1, -0x1 }, insn_inh }, 148 { "clrd", { 0x104f, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
149 { "clre", { 0x114f, -0x1, -0x1, -0x1 }, insn_inh }, 149 { "clre", { 0x114f, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
150 { "clrf", { 0x115f, -0x1, -0x1, -0x1 }, insn_inh }, 150 { "clrf", { 0x115f, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
151 { "clrw", { 0x105f, -0x1, -0x1, -0x1 }, insn_inh }, 151 { "clrw", { 0x105f, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
152 { "cmpa", { 0x91, 0xa1, 0xb1, 0x81 }, insn_gen8 }, 152 { "cmpa", { 0x91, 0xa1, 0xb1, 0x81 }, insn_gen8 },
153 { "cmpb", { 0xd1, 0xe1, 0xf1, 0xc1 }, insn_gen8 }, 153 { "cmpb", { 0xd1, 0xe1, 0xf1, 0xc1 }, insn_gen8 },
154 { "cmpd", { 0x1093, 0x10a3, 0x10b3, 0x1083 }, insn_gen16 }, 154 { "cmpd", { 0x1093, 0x10a3, 0x10b3, 0x1083 }, insn_gen16 },
155 { "cmpe", { 0x1191, 0x11a1, 0x11b1, 0x1181 }, insn_gen8 }, 155 { "cmpe", { 0x1191, 0x11a1, 0x11b1, 0x1181 }, insn_gen8, 0, 0, 0, 1 },
156 { "cmpf", { 0x11d1, 0x11e1, 0x11f1, 0x11c1 }, insn_gen8 }, 156 { "cmpf", { 0x11d1, 0x11e1, 0x11f1, 0x11c1 }, insn_gen8, 0, 0, 0, 1 },
157 { "cmpr", { 0x1037, -0x1, -0x1, -0x1 }, insn_rtor }, 157 { "cmpr", { 0x1037, -0x1, -0x1, -0x1 }, insn_rtor, 0, 0, 0, 1 },
158 { "cmps", { 0x119c, 0x11ac, 0x11bc, 0x118c }, insn_gen16 }, 158 { "cmps", { 0x119c, 0x11ac, 0x11bc, 0x118c }, insn_gen16 },
159 { "cmpu", { 0x1193, 0x11a3, 0x11b3, 0x1183 }, insn_gen16 }, 159 { "cmpu", { 0x1193, 0x11a3, 0x11b3, 0x1183 }, insn_gen16 },
160 { "cmpw", { 0x1091, 0x10a1, 0x10b1, 0x1081 }, insn_gen16 }, 160 { "cmpw", { 0x1091, 0x10a1, 0x10b1, 0x1081 }, insn_gen16, 0, 0, 0, 1 },
161 { "cmpx", { 0x9c, 0xac, 0xbc, 0x8c }, insn_gen16 }, 161 { "cmpx", { 0x9c, 0xac, 0xbc, 0x8c }, insn_gen16 },
162 { "cmpy", { 0x109c, 0x10ac, 0x10bc, 0x108c }, insn_gen16 }, 162 { "cmpy", { 0x109c, 0x10ac, 0x10bc, 0x108c }, insn_gen16 },
163 { "com", { 0x03, 0x63, 0x73, -0x1 }, insn_gen0 }, 163 { "com", { 0x03, 0x63, 0x73, -0x1 }, insn_gen0 },
164 { "coma", { 0x43, -0x1, -0x1, -0x1 }, insn_inh }, 164 { "coma", { 0x43, -0x1, -0x1, -0x1 }, insn_inh },
165 { "comb", { 0x53, -0x1, -0x1, -0x1 }, insn_inh }, 165 { "comb", { 0x53, -0x1, -0x1, -0x1 }, insn_inh },
166 { "comd", { 0x1043, -0x1, -0x1, -0x1 }, insn_inh }, 166 { "comd", { 0x1043, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
167 { "come", { 0x1143, -0x1, -0x1, -0x1 }, insn_inh }, 167 { "come", { 0x1143, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
168 { "comf", { 0x1153, -0x1, -0x1, -0x1 }, insn_inh }, 168 { "comf", { 0x1153, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
169 { "comw", { 0x1053, -0x1, -0x1, -0x1 }, insn_inh }, 169 { "comw", { 0x1053, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
170 { "cwai", { 0x3c, -0x1, -0x1, -0x1 }, insn_imm8 }, 170 { "cwai", { 0x3c, -0x1, -0x1, -0x1 }, insn_imm8 },
171 171
172 { "daa", { 0x19, -0x1, -0x1, -0x1 }, insn_inh }, 172 { "daa", { 0x19, -0x1, -0x1, -0x1 }, insn_inh },
173 { "dec", { 0x0a, 0x6a, 0x7a, -0x1 }, insn_gen0 }, 173 { "dec", { 0x0a, 0x6a, 0x7a, -0x1 }, insn_gen0 },
174 { "deca", { 0x4a, -0x1, -0x1, -0x1 }, insn_inh }, 174 { "deca", { 0x4a, -0x1, -0x1, -0x1 }, insn_inh },
175 { "decb", { 0x5a, -0x1, -0x1, -0x1 }, insn_inh }, 175 { "decb", { 0x5a, -0x1, -0x1, -0x1 }, insn_inh },
176 { "decd", { 0x104a, -0x1, -0x1, -0x1 }, insn_inh }, 176 { "decd", { 0x104a, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
177 { "dece", { 0x114a, -0x1, -0x1, -0x1 }, insn_inh }, 177 { "dece", { 0x114a, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
178 { "decf", { 0x115a, -0x1, -0x1, -0x1 }, insn_inh }, 178 { "decf", { 0x115a, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
179 { "decw", { 0x105a, -0x1, -0x1, -0x1 }, insn_inh }, 179 { "decw", { 0x105a, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
180 { "divd", { 0x118d, 0x119d, 0x11ad, 0x11bd }, insn_gen8 }, 180 { "divd", { 0x118d, 0x119d, 0x11ad, 0x11bd }, insn_gen8, 0, 0, 0, 1 },
181 { "divq", { 0x118e, 0x119e, 0x11ae, 0x11be }, insn_gen16 }, 181 { "divq", { 0x118e, 0x119e, 0x11ae, 0x11be }, insn_gen16, 0, 0, 0, 1 },
182 182
183 { "eim", { 0x05, 0x65, 0x75, -0x1 }, insn_logicmem }, 183 { "eim", { 0x05, 0x65, 0x75, -0x1 }, insn_logicmem, 0, 0, 0, 1 },
184 { "eora", { 0x98, 0xa8, 0xb8, 0x88 }, insn_gen8 }, 184 { "eora", { 0x98, 0xa8, 0xb8, 0x88 }, insn_gen8 },
185 { "eorb", { 0xd8, 0xe9, 0xf9, 0xc8 }, insn_gen8 }, 185 { "eorb", { 0xd8, 0xe9, 0xf9, 0xc8 }, insn_gen8 },
186 { "eord", { 0x1098, 0x10a8, 0x10b8, 0x1088 }, insn_gen16 }, 186 { "eord", { 0x1098, 0x10a8, 0x10b8, 0x1088 }, insn_gen16, 0, 0, 0, 1 },
187 { "eorr", { 0x1036, -0x1, -0x1, -0x1 }, insn_rtor }, 187 { "eorr", { 0x1036, -0x1, -0x1, -0x1 }, insn_rtor, 0, 0, 0, 1 },
188 { "exg", { 0x1e, -0x1, -0x1, -0x1 }, insn_rtor }, 188 { "exg", { 0x1e, -0x1, -0x1, -0x1 }, insn_rtor },
189 189
190 { "inc", { 0x0c, 0x6c, 0x7c, -0x1 }, insn_gen0 }, 190 { "inc", { 0x0c, 0x6c, 0x7c, -0x1 }, insn_gen0 },
191 { "inca", { 0x4c, -0x1, -0x1, -0x1 }, insn_inh }, 191 { "inca", { 0x4c, -0x1, -0x1, -0x1 }, insn_inh },
192 { "incb", { 0x5c, -0x1, -0x1, -0x1 }, insn_inh }, 192 { "incb", { 0x5c, -0x1, -0x1, -0x1 }, insn_inh },
193 { "incd", { 0x104c, -0x1, -0x1, -0x1 }, insn_inh }, 193 { "incd", { 0x104c, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
194 { "ince", { 0x114c, -0x1, -0x1, -0x1 }, insn_inh }, 194 { "ince", { 0x114c, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
195 { "incf", { 0x115c, -0x1, -0x1, -0x1 }, insn_inh }, 195 { "incf", { 0x115c, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
196 { "incw", { 0x105c, -0x1, -0x1, -0x1 }, insn_inh }, 196 { "incw", { 0x105c, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
197 197
198 { "jmp", { 0x0e, 0x6e, 0x7e, -0x1 }, insn_gen0 }, 198 { "jmp", { 0x0e, 0x6e, 0x7e, -0x1 }, insn_gen0 },
199 { "jsr", { 0x9d, 0xad, 0xbd, -0x1 }, insn_gen0 }, 199 { "jsr", { 0x9d, 0xad, 0xbd, -0x1 }, insn_gen0 },
200 200
201 { "lbcc", { 0x1024, -0x1, -0x1, -0x1 }, insn_rel16 }, 201 { "lbcc", { 0x1024, -0x1, -0x1, -0x1 }, insn_rel16 },
217 { "lbsr", { 0x17, -0x1, -0x1, -0x1 }, insn_rel16 }, 217 { "lbsr", { 0x17, -0x1, -0x1, -0x1 }, insn_rel16 },
218 { "lbvc", { 0x1028, -0x1, -0x1, -0x1 }, insn_rel16 }, 218 { "lbvc", { 0x1028, -0x1, -0x1, -0x1 }, insn_rel16 },
219 { "lbvs", { 0x1029, -0x1, -0x1, -0x1 }, insn_rel16 }, 219 { "lbvs", { 0x1029, -0x1, -0x1, -0x1 }, insn_rel16 },
220 { "lda", { 0x96, 0xa6, 0xb6, 0x86 }, insn_gen8 }, 220 { "lda", { 0x96, 0xa6, 0xb6, 0x86 }, insn_gen8 },
221 { "ldb", { 0xd6, 0xe6, 0xf6, 0xc6 }, insn_gen8 }, 221 { "ldb", { 0xd6, 0xe6, 0xf6, 0xc6 }, insn_gen8 },
222 { "ldbt", { 0x1136, -0x1, -0x1, -0x1 }, insn_bitbit }, 222 { "ldbt", { 0x1136, -0x1, -0x1, -0x1 }, insn_bitbit, 0, 0, 0, 1 },
223 { "ldd", { 0xdc, 0xec, 0xfc, 0xcc }, insn_gen16 }, 223 { "ldd", { 0xdc, 0xec, 0xfc, 0xcc }, insn_gen16 },
224 { "lde", { 0x1196, 0x11a6, 0x11b6, 0x1186 }, insn_gen8 }, 224 { "lde", { 0x1196, 0x11a6, 0x11b6, 0x1186 }, insn_gen8, 0, 0, 0, 1 },
225 { "ldf", { 0x11d6, 0x11e6, 0x11f6, 0x11c6 }, insn_gen8 }, 225 { "ldf", { 0x11d6, 0x11e6, 0x11f6, 0x11c6 }, insn_gen8, 0, 0, 0, 1 },
226 { "ldq", { 0x10dc, 0x10ec, 0x10fc, 0xcd }, insn_gen32 }, 226 { "ldq", { 0x10dc, 0x10ec, 0x10fc, 0xcd }, insn_gen32, 0, 0, 0, 1 },
227 { "lds", { 0x10de, 0x10ee, 0x10fe, 0x10ce }, insn_gen16 }, 227 { "lds", { 0x10de, 0x10ee, 0x10fe, 0x10ce }, insn_gen16 },
228 { "ldu", { 0xde, 0xee, 0xfe, 0xce }, insn_gen16 }, 228 { "ldu", { 0xde, 0xee, 0xfe, 0xce }, insn_gen16 },
229 { "ldw", { 0x1096, 0x10a6, 0x10b6, 0x1086 }, insn_gen16 }, 229 { "ldw", { 0x1096, 0x10a6, 0x10b6, 0x1086 }, insn_gen16, 0, 0, 0, 1 },
230 { "ldx", { 0x9e, 0xae, 0xbe, 0x8e }, insn_gen16 }, 230 { "ldx", { 0x9e, 0xae, 0xbe, 0x8e }, insn_gen16 },
231 { "ldy", { 0x109e, 0x10ae, 0x10be, 0x108e }, insn_gen16 }, 231 { "ldy", { 0x109e, 0x10ae, 0x10be, 0x108e }, insn_gen16 },
232 { "ldmd", { 0x113d, -0x1, -0x1, 0x113d }, insn_imm8 }, 232 { "ldmd", { 0x113d, -0x1, -0x1, 0x113d }, insn_imm8, 0, 0, 0, 1 },
233 { "leas", { 0x32, -0x1, -0x1, -0x1 }, insn_indexed }, 233 { "leas", { 0x32, -0x1, -0x1, -0x1 }, insn_indexed },
234 { "leau", { 0x33, -0x1, -0x1, -0x1 }, insn_indexed }, 234 { "leau", { 0x33, -0x1, -0x1, -0x1 }, insn_indexed },
235 { "leax", { 0x30, -0x1, -0x1, -0x1 }, insn_indexed }, 235 { "leax", { 0x30, -0x1, -0x1, -0x1 }, insn_indexed },
236 { "leay", { 0x31, -0x1, -0x1, -0x1 }, insn_indexed }, 236 { "leay", { 0x31, -0x1, -0x1, -0x1 }, insn_indexed },
237 { "lsl", { 0x08, 0x68, 0x78, -0x1 }, insn_gen0 }, 237 { "lsl", { 0x08, 0x68, 0x78, -0x1 }, insn_gen0 },
238 { "lsla", { 0x48, -0x1, -0x1, -0x1 }, insn_inh }, 238 { "lsla", { 0x48, -0x1, -0x1, -0x1 }, insn_inh },
239 { "lslb", { 0x58, -0x1, -0x1, -0x1 }, insn_inh }, 239 { "lslb", { 0x58, -0x1, -0x1, -0x1 }, insn_inh },
240 { "lsld", { 0x1048, -0x1, -0x1, -0x1 }, insn_inh }, 240 { "lsld", { 0x1048, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
241 { "lsr", { 0x04, 0x64, 0x74, -0x1 }, insn_gen0 }, 241 { "lsr", { 0x04, 0x64, 0x74, -0x1 }, insn_gen0 },
242 { "lsra", { 0x44, -0x1, -0x1, -0x1 }, insn_inh }, 242 { "lsra", { 0x44, -0x1, -0x1, -0x1 }, insn_inh },
243 { "lsrb", { 0x54, -0x1, -0x1, -0x1 }, insn_inh }, 243 { "lsrb", { 0x54, -0x1, -0x1, -0x1 }, insn_inh },
244 { "lsrd", { 0x1044, -0x1, -0x1, -0x1 }, insn_inh }, 244 { "lsrd", { 0x1044, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
245 { "lsrw", { 0x1054, -0x1, -0x1, -0x1 }, insn_inh }, 245 { "lsrw", { 0x1054, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
246 246
247 { "mul", { 0x3d, -0x1, -0x1, -0x1 }, insn_inh }, 247 { "mul", { 0x3d, -0x1, -0x1, -0x1 }, insn_inh },
248 { "muld", { 0x118f, 0x119f, 0x11af, 0x11bf }, insn_gen16 }, 248 { "muld", { 0x118f, 0x119f, 0x11af, 0x11bf }, insn_gen16, 0, 0, 0, 1 },
249 249
250 { "neg", { 0x00, 0x60, 0x70, -0x1 }, insn_gen0 }, 250 { "neg", { 0x00, 0x60, 0x70, -0x1 }, insn_gen0 },
251 { "nega", { 0x40, -0x1, -0x1, -0x1 }, insn_inh }, 251 { "nega", { 0x40, -0x1, -0x1, -0x1 }, insn_inh },
252 { "negb", { 0x50, -0x1, -0x1, -0x1 }, insn_inh }, 252 { "negb", { 0x50, -0x1, -0x1, -0x1 }, insn_inh },
253 { "negd", { 0x1040, -0x1, -0x1, -0x1 }, insn_inh }, 253 { "negd", { 0x1040, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
254 { "nop", { 0x12, -0x1, -0x1, -0x1 }, insn_inh }, 254 { "nop", { 0x12, -0x1, -0x1, -0x1 }, insn_inh },
255 255
256 { "oim", { 0x01, 0x61, 0x71, -0x1 }, insn_logicmem }, 256 { "oim", { 0x01, 0x61, 0x71, -0x1 }, insn_logicmem, 0, 0, 0, 1 },
257 { "ora", { 0x9a, 0xaa, 0xba, 0x8a }, insn_gen8 }, 257 { "ora", { 0x9a, 0xaa, 0xba, 0x8a }, insn_gen8 },
258 { "orb", { 0xda, 0xea, 0xfa, 0xca }, insn_gen8 }, 258 { "orb", { 0xda, 0xea, 0xfa, 0xca }, insn_gen8 },
259 { "orcc", { 0x1a, -0x1, -0x1, 0x1a }, insn_imm8 }, 259 { "orcc", { 0x1a, -0x1, -0x1, 0x1a }, insn_imm8 },
260 { "ord", { 0x109a, 0x10aa, 0x10ba, 0x108a }, insn_gen16 }, 260 { "ord", { 0x109a, 0x10aa, 0x10ba, 0x108a }, insn_gen16, 0, 0, 0, 1 },
261 { "orr", { 0x1035, -0x1, -0x1, -0x1 }, insn_rtor }, 261 { "orr", { 0x1035, -0x1, -0x1, -0x1 }, insn_rtor, 0, 0, 0, 1 },
262 262
263 { "pshs", { 0x34, -0x1, -0x1, -0x1 }, insn_rlist }, 263 { "pshs", { 0x34, -0x1, -0x1, -0x1 }, insn_rlist },
264 { "pshsw", { 0x1038, -0x1, -0x1, -0x1 }, insn_inh }, 264 { "pshsw", { 0x1038, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
265 { "pshu", { 0x36, -0x1, -0x1, -0x1 }, insn_rlist }, 265 { "pshu", { 0x36, -0x1, -0x1, -0x1 }, insn_rlist },
266 { "pshuw", { 0x103a, -0x1, -0x1, -0x1 }, insn_inh }, 266 { "pshuw", { 0x103a, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
267 { "puls", { 0x35, -0x1, -0x1, -0x1 }, insn_rlist }, 267 { "puls", { 0x35, -0x1, -0x1, -0x1 }, insn_rlist },
268 { "pulsw", { 0x1039, -0x1, -0x1, -0x1 }, insn_inh }, 268 { "pulsw", { 0x1039, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
269 { "pulu", { 0x37, -0x1, -0x1, -0x1 }, insn_rlist }, 269 { "pulu", { 0x37, -0x1, -0x1, -0x1 }, insn_rlist },
270 { "puluw", { 0x103b, -0x1, -0x1, -0x1 }, insn_inh }, 270 { "puluw", { 0x103b, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
271 271
272 { "rol", { 0x09, 0x69, 0x79, -0x1 }, insn_gen0 }, 272 { "rol", { 0x09, 0x69, 0x79, -0x1 }, insn_gen0 },
273 { "rola", { 0x49, -0x1, -0x1, -0x1 }, insn_inh }, 273 { "rola", { 0x49, -0x1, -0x1, -0x1 }, insn_inh },
274 { "rolb", { 0x59, -0x1, -0x1, -0x1 }, insn_inh }, 274 { "rolb", { 0x59, -0x1, -0x1, -0x1 }, insn_inh },
275 { "rold", { 0x1049, -0x1, -0x1, -0x1 }, insn_inh }, 275 { "rold", { 0x1049, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
276 { "rolw", { 0x1059, -0x1, -0x1, -0x1 }, insn_inh }, 276 { "rolw", { 0x1059, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
277 { "ror", { 0x06, 0x66, 0x76, -0x1 }, insn_gen0 }, 277 { "ror", { 0x06, 0x66, 0x76, -0x1 }, insn_gen0 },
278 { "rora", { 0x46, -0x1, -0x1, -0x1 }, insn_inh }, 278 { "rora", { 0x46, -0x1, -0x1, -0x1 }, insn_inh },
279 { "rorb", { 0x56, -0x1, -0x1, -0x1 }, insn_inh }, 279 { "rorb", { 0x56, -0x1, -0x1, -0x1 }, insn_inh },
280 { "rord", { 0x1046, -0x1, -0x1, -0x1 }, insn_inh }, 280 { "rord", { 0x1046, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
281 { "rorw", { 0x1056, -0x1, -0x1, -0x1 }, insn_inh }, 281 { "rorw", { 0x1056, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
282 { "rti", { 0x3b, -0x1, -0x1, -0x1 }, insn_inh }, 282 { "rti", { 0x3b, -0x1, -0x1, -0x1 }, insn_inh },
283 { "rts", { 0x39, -0x1, -0x1, -0x1 }, insn_inh }, 283 { "rts", { 0x39, -0x1, -0x1, -0x1 }, insn_inh },
284 284
285 { "sbca", { 0x92, 0xa2, 0xb2, 0x82 }, insn_gen8 }, 285 { "sbca", { 0x92, 0xa2, 0xb2, 0x82 }, insn_gen8 },
286 { "sbcb", { 0xd2, 0xe2, 0xf2, 0xc2 }, insn_gen8 }, 286 { "sbcb", { 0xd2, 0xe2, 0xf2, 0xc2 }, insn_gen8 },
287 { "sbcd", { 0x1092, 0x10a2, 0x10b2, 0x1082 }, insn_gen16 }, 287 { "sbcd", { 0x1092, 0x10a2, 0x10b2, 0x1082 }, insn_gen16, 0, 0, 0, 1 },
288 { "sbcr", { 0x1033, -0x1, -0x1, -0x1 }, insn_rtor }, 288 { "sbcr", { 0x1033, -0x1, -0x1, -0x1 }, insn_rtor, 0, 0, 0, 1 },
289 { "sex", { 0x1d, -0x1, -0x1, -0x1 }, insn_inh }, 289 { "sex", { 0x1d, -0x1, -0x1, -0x1 }, insn_inh },
290 { "sexw", { 0x14, -0x1, -0x1, -0x1 }, insn_inh }, 290 { "sexw", { 0x14, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
291 { "sta", { 0x97, 0xa7, 0xb7, -0x1 }, insn_gen0 }, 291 { "sta", { 0x97, 0xa7, 0xb7, -0x1 }, insn_gen0 },
292 { "stb", { 0xd7, 0xe7, 0xf7, -0x1 }, insn_gen0 }, 292 { "stb", { 0xd7, 0xe7, 0xf7, -0x1 }, insn_gen0 },
293 { "stbt", { 0x1137, -0x1, -0x1, -0x1 }, insn_bitbit }, 293 { "stbt", { 0x1137, -0x1, -0x1, -0x1 }, insn_bitbit, 0, 0, 0, 1 },
294 { "std", { 0xdd, 0xed, 0xfd, -0x1 }, insn_gen0 }, 294 { "std", { 0xdd, 0xed, 0xfd, -0x1 }, insn_gen0 },
295 { "ste", { 0x1197, 0x11a7, 0x11b7, -0x1 }, insn_gen0 }, 295 { "ste", { 0x1197, 0x11a7, 0x11b7, -0x1 }, insn_gen0, 0, 0, 0, 1 },
296 { "stf", { 0x11d7, 0x11e7, 0x11f7, -0x1 }, insn_gen0 }, 296 { "stf", { 0x11d7, 0x11e7, 0x11f7, -0x1 }, insn_gen0, 0, 0, 0, 1 },
297 { "stq", { 0x10dd, 0x10ed, 0x10fd, -0x1 }, insn_gen0 }, 297 { "stq", { 0x10dd, 0x10ed, 0x10fd, -0x1 }, insn_gen0, 0, 0, 0, 1 },
298 { "sts", { 0x10df, 0x10ef, 0x10ff, -0x1 }, insn_gen0 }, 298 { "sts", { 0x10df, 0x10ef, 0x10ff, -0x1 }, insn_gen0 },
299 { "stu", { 0xdf, 0xef, 0xff, -0x1 }, insn_gen0 }, 299 { "stu", { 0xdf, 0xef, 0xff, -0x1 }, insn_gen0 },
300 { "stw", { 0x1097, 0x10a7, 0x10b7, -0x1 }, insn_gen0 }, 300 { "stw", { 0x1097, 0x10a7, 0x10b7, -0x1 }, insn_gen0, 0, 0, 0, 1 },
301 { "stx", { 0x9f, 0xaf, 0xbf, -0x1 }, insn_gen0 }, 301 { "stx", { 0x9f, 0xaf, 0xbf, -0x1 }, insn_gen0 },
302 { "sty", { 0x109f, 0x10af, 0x10bf, -0x1 }, insn_gen0 }, 302 { "sty", { 0x109f, 0x10af, 0x10bf, -0x1 }, insn_gen0 },
303 { "suba", { 0x90, 0xa0, 0xb0, 0x80 }, insn_gen8 }, 303 { "suba", { 0x90, 0xa0, 0xb0, 0x80 }, insn_gen8 },
304 { "subb", { 0xd0, 0xe0, 0xf0, 0xc0 }, insn_gen8 }, 304 { "subb", { 0xd0, 0xe0, 0xf0, 0xc0 }, insn_gen8 },
305 { "subd", { 0x93, 0xa3, 0xb3, 0x83 }, insn_gen16 }, 305 { "subd", { 0x93, 0xa3, 0xb3, 0x83 }, insn_gen16 },
306 { "sube", { 0x1190, 0x11a0, 0x11b0, 0x1180 }, insn_gen8 }, 306 { "sube", { 0x1190, 0x11a0, 0x11b0, 0x1180 }, insn_gen8, 0, 0, 0, 1 },
307 { "subf", { 0x11d0, 0x11e0, 0x11f0, 0x11c0 }, insn_gen8 }, 307 { "subf", { 0x11d0, 0x11e0, 0x11f0, 0x11c0 }, insn_gen8, 0, 0, 0, 1 },
308 { "subr", { 0x1032, -0x1, -0x1, -0x1 }, insn_rtor }, 308 { "subr", { 0x1032, -0x1, -0x1, -0x1 }, insn_rtor, 0, 0, 0, 1 },
309 { "subw", { 0x1090, 0x10a0, 0x1090, 0x1080 }, insn_gen8 }, 309 { "subw", { 0x1090, 0x10a0, 0x1090, 0x1080 }, insn_gen8, 0, 0, 0, 1 },
310 { "swi", { 0x3f, -0x1, -0x1, -0x1 }, insn_inh }, 310 { "swi", { 0x3f, -0x1, -0x1, -0x1 }, insn_inh },
311 { "swi2", { 0x103f, -0x1, -0x1, -0x1 }, insn_inh }, 311 { "swi2", { 0x103f, -0x1, -0x1, -0x1 }, insn_inh },
312 { "swi3", { 0x113f, -0x1, -0x1, -0x1 }, insn_inh }, 312 { "swi3", { 0x113f, -0x1, -0x1, -0x1 }, insn_inh },
313 { "sync", { 0x13, -0x1, -0x1, -0x1 }, insn_inh }, 313 { "sync", { 0x13, -0x1, -0x1, -0x1 }, insn_inh },
314 314
315 // note: r+,r+ r-,r- r+,r r,r+ 315 // note: r+,r+ r-,r- r+,r r,r+
316 { "tfm", { 0x1138, 0x1139, 0x113a, 0x113b }, insn_tfm }, 316 { "tfm", { 0x1138, 0x1139, 0x113a, 0x113b }, insn_tfm, 0, 0, 0, 1 },
317 317
318 // compatibility opcodes for tfm in other assemblers 318 // compatibility opcodes for tfm in other assemblers
319 { "copy", { 0x1138, -1, -1, -1}, insn_tfmrtor }, 319 { "copy", { 0x1138, -1, -1, -1}, insn_tfmrtor, 0, 0, 0, 1 },
320 { "tfrp", { 0x1138, -1, -1, -1}, insn_tfmrtor }, 320 { "tfrp", { 0x1138, -1, -1, -1}, insn_tfmrtor, 0, 0, 0, 1 },
321 321
322 { "copy-", { 0x1139, -1, -1, -1}, insn_tfmrtor }, 322 { "copy-", { 0x1139, -1, -1, -1}, insn_tfmrtor, 0, 0, 0, 1 },
323 { "tfrm", { 0x1139, -1, -1, -1}, insn_tfmrtor }, 323 { "tfrm", { 0x1139, -1, -1, -1}, insn_tfmrtor, 0, 0, 0, 1 },
324 324
325 { "imp", { 0x113a, -1, -1, -1}, insn_tfmrtor }, 325 { "imp", { 0x113a, -1, -1, -1}, insn_tfmrtor, 0, 0, 0, 1 },
326 { "tfrs", { 0x113a, -1, -1, -1}, insn_tfmrtor }, 326 { "tfrs", { 0x113a, -1, -1, -1}, insn_tfmrtor, 0, 0, 0, 1 },
327 327
328 { "exp", { 0x113b, -1, -1, -1}, insn_tfmrtor }, 328 { "exp", { 0x113b, -1, -1, -1}, insn_tfmrtor, 0, 0, 0, 1 },
329 { "tfrr", { 0x113b, -1, -1, -1}, insn_tfmrtor }, 329 { "tfrr", { 0x113b, -1, -1, -1}, insn_tfmrtor, 0, 0, 0, 1 },
330 330
331 { "tfr", { 0x1f, -0x1, -0x1, -0x1 }, insn_rtor }, 331 { "tfr", { 0x1f, -0x1, -0x1, -0x1 }, insn_rtor },
332 { "tim", { 0x0b, 0x6b, 0x7b, -0x1 }, insn_logicmem }, 332 { "tim", { 0x0b, 0x6b, 0x7b, -0x1 }, insn_logicmem, 0, 0, 0, 1 },
333 { "tst", { 0x0d, 0x6d, 0x7d, -0x1 }, insn_gen0 }, 333 { "tst", { 0x0d, 0x6d, 0x7d, -0x1 }, insn_gen0 },
334 { "tsta", { 0x4d, -0x1, -0x1, -0x1 }, insn_inh }, 334 { "tsta", { 0x4d, -0x1, -0x1, -0x1 }, insn_inh },
335 { "tstb", { 0x5d, -0x1, -0x1, -0x1 }, insn_inh }, 335 { "tstb", { 0x5d, -0x1, -0x1, -0x1 }, insn_inh },
336 { "tstd", { 0x104d, -0x1, -0x1, -0x1 }, insn_inh }, 336 { "tstd", { 0x104d, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
337 { "tste", { 0x114d, -0x1, -0x1, -0x1 }, insn_inh }, 337 { "tste", { 0x114d, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
338 { "tstf", { 0x115d, -0x1, -0x1, -0x1 }, insn_inh }, 338 { "tstf", { 0x115d, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
339 { "tstw", { 0x105d, -0x1, -0x1, -0x1 }, insn_inh }, 339 { "tstw", { 0x105d, -0x1, -0x1, -0x1 }, insn_inh, 0, 0, 0, 1 },
340 340
341 { "org", { -1, -1, -1, -1 }, pseudo_org }, 341 { "org", { -1, -1, -1, -1 }, pseudo_org },
342 342
343 { "equ", { -1, -1, -1, -1 }, pseudo_equ, 0, 0, 1 }, 343 { "equ", { -1, -1, -1, -1 }, pseudo_equ, 0, 0, 1 },
344 { "=", { -1, -1, -1, -1 }, pseudo_equ, 0, 0, 1 }, 344 { "=", { -1, -1, -1, -1 }, pseudo_equ, 0, 0, 1 },