z8k-opc.h revision 1.1.1.7 1 1.1 skrll /* DO NOT EDIT! -*- buffer-read-only: t -*-
2 1.1 skrll This file is automatically generated by z8kgen. */
3 1.1 skrll
4 1.1.1.7 christos /* Copyright (C) 2007-2020 Free Software Foundation, Inc.
5 1.1 skrll
6 1.1 skrll This file is part of the GNU opcodes library.
7 1.1 skrll
8 1.1 skrll This library is free software; you can redistribute it and/or modify
9 1.1 skrll it under the terms of the GNU General Public License as published by
10 1.1 skrll the Free Software Foundation; either version 3, or (at your option)
11 1.1 skrll any later version.
12 1.1 skrll
13 1.1 skrll It is distributed in the hope that it will be useful, but WITHOUT
14 1.1 skrll ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 1.1 skrll or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
16 1.1 skrll License for more details.
17 1.1 skrll
18 1.1 skrll You should have received a copy of the GNU General Public License
19 1.1 skrll along with this file; see the file COPYING. If not, write to the
20 1.1 skrll Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
21 1.1 skrll MA 02110-1301, USA. */
22 1.1 skrll
23 1.1 skrll #define ARG_MASK 0x0f
24 1.1 skrll #define ARG_SRC 0x01
25 1.1 skrll #define ARG_DST 0x02
26 1.1 skrll #define ARG_RS 0x01
27 1.1 skrll #define ARG_RD 0x02
28 1.1 skrll #define ARG_RA 0x03
29 1.1 skrll #define ARG_RB 0x04
30 1.1 skrll #define ARG_RR 0x05
31 1.1 skrll #define ARG_RX 0x06
32 1.1 skrll #define ARG_IMM4 0x01
33 1.1 skrll #define ARG_IMM8 0x02
34 1.1 skrll #define ARG_IMM16 0x03
35 1.1 skrll #define ARG_IMM32 0x04
36 1.1 skrll #define ARG_IMMN 0x05
37 1.1 skrll #define ARG_IMMNMINUS1 0x05
38 1.1 skrll #define ARG_IMM_1 0x06
39 1.1 skrll #define ARG_IMM_2 0x07
40 1.1 skrll #define ARG_DISP16 0x08
41 1.1 skrll #define ARG_NIM8 0x09
42 1.1 skrll #define ARG_IMM2 0x0a
43 1.1 skrll #define ARG_IMM1OR2 0x0b
44 1.1 skrll #define ARG_DISP12 0x0b
45 1.1 skrll #define ARG_NIM4 0x0c
46 1.1 skrll #define ARG_DISP8 0x0c
47 1.1 skrll #define ARG_IMM4M1 0x0d
48 1.1 skrll #define CLASS_X 0x10
49 1.1 skrll #define CLASS_BA 0x20
50 1.1 skrll #define CLASS_DA 0x30
51 1.1 skrll #define CLASS_BX 0x40
52 1.1 skrll #define CLASS_DISP 0x50
53 1.1 skrll #define CLASS_IMM 0x60
54 1.1 skrll #define CLASS_CC 0x70
55 1.1 skrll #define CLASS_CTRL 0x80
56 1.1 skrll #define CLASS_IGNORE 0x90
57 1.1 skrll #define CLASS_ADDRESS 0xd0
58 1.1 skrll #define CLASS_0CCC 0xe0
59 1.1 skrll #define CLASS_1CCC 0xf0
60 1.1 skrll #define CLASS_0DISP7 0x100
61 1.1 skrll #define CLASS_1DISP7 0x200
62 1.1 skrll #define CLASS_01II 0x300
63 1.1 skrll #define CLASS_00II 0x400
64 1.1 skrll #define CLASS_BIT 0x500
65 1.1 skrll #define CLASS_FLAGS 0x600
66 1.1 skrll #define CLASS_IR 0x700
67 1.1 skrll #define CLASS_IRO 0x800
68 1.1 skrll #define CLASS_DISP8 0x900
69 1.1 skrll #define CLASS_BIT_1OR2 0xa00
70 1.1 skrll #define CLASS_REG 0x7000
71 1.1 skrll #define CLASS_REG_BYTE 0x2000
72 1.1 skrll #define CLASS_REG_WORD 0x3000
73 1.1 skrll #define CLASS_REG_QUAD 0x4000
74 1.1 skrll #define CLASS_REG_LONG 0x5000
75 1.1 skrll #define CLASS_REGN0 0x8000
76 1.1 skrll #define CLASS_PR 0x10000
77 1.1 skrll #define CLASS_MASK 0x1fff0
78 1.1 skrll #define OPC_adc 0
79 1.1 skrll #define OPC_adcb 1
80 1.1 skrll #define OPC_add 2
81 1.1 skrll #define OPC_addb 3
82 1.1 skrll #define OPC_addl 4
83 1.1 skrll #define OPC_and 5
84 1.1 skrll #define OPC_andb 6
85 1.1 skrll #define OPC_bit 7
86 1.1 skrll #define OPC_bitb 8
87 1.1 skrll #define OPC_call 9
88 1.1 skrll #define OPC_calr 10
89 1.1 skrll #define OPC_clr 11
90 1.1 skrll #define OPC_clrb 12
91 1.1 skrll #define OPC_com 13
92 1.1 skrll #define OPC_comb 14
93 1.1 skrll #define OPC_comflg 15
94 1.1 skrll #define OPC_cp 16
95 1.1 skrll #define OPC_cpb 17
96 1.1 skrll #define OPC_cpd 18
97 1.1 skrll #define OPC_cpdb 19
98 1.1 skrll #define OPC_cpdr 20
99 1.1 skrll #define OPC_cpdrb 21
100 1.1 skrll #define OPC_cpi 22
101 1.1 skrll #define OPC_cpib 23
102 1.1 skrll #define OPC_cpir 24
103 1.1 skrll #define OPC_cpirb 25
104 1.1 skrll #define OPC_cpl 26
105 1.1 skrll #define OPC_cpsd 27
106 1.1 skrll #define OPC_cpsdb 28
107 1.1 skrll #define OPC_cpsdr 29
108 1.1 skrll #define OPC_cpsdrb 30
109 1.1 skrll #define OPC_cpsi 31
110 1.1 skrll #define OPC_cpsib 32
111 1.1 skrll #define OPC_cpsir 33
112 1.1 skrll #define OPC_cpsirb 34
113 1.1 skrll #define OPC_dab 35
114 1.1 skrll #define OPC_dbjnz 36
115 1.1 skrll #define OPC_dec 37
116 1.1 skrll #define OPC_decb 38
117 1.1 skrll #define OPC_di 39
118 1.1 skrll #define OPC_div 40
119 1.1 skrll #define OPC_divl 41
120 1.1 skrll #define OPC_djnz 42
121 1.1 skrll #define OPC_ei 43
122 1.1 skrll #define OPC_ex 44
123 1.1 skrll #define OPC_exb 45
124 1.1 skrll #define OPC_exts 46
125 1.1 skrll #define OPC_extsb 47
126 1.1 skrll #define OPC_extsl 48
127 1.1 skrll #define OPC_halt 49
128 1.1 skrll #define OPC_in 50
129 1.1 skrll #define OPC_inb 51
130 1.1 skrll #define OPC_inc 52
131 1.1 skrll #define OPC_incb 53
132 1.1 skrll #define OPC_ind 54
133 1.1 skrll #define OPC_indb 55
134 1.1 skrll #define OPC_indr 56
135 1.1 skrll #define OPC_indrb 57
136 1.1 skrll #define OPC_ini 58
137 1.1 skrll #define OPC_inib 59
138 1.1 skrll #define OPC_inir 60
139 1.1 skrll #define OPC_inirb 61
140 1.1 skrll #define OPC_iret 62
141 1.1 skrll #define OPC_jp 63
142 1.1 skrll #define OPC_jr 64
143 1.1 skrll #define OPC_ld 65
144 1.1 skrll #define OPC_lda 66
145 1.1 skrll #define OPC_ldar 67
146 1.1 skrll #define OPC_ldb 68
147 1.1 skrll #define OPC_ldctl 69
148 1.1 skrll #define OPC_ldir 70
149 1.1 skrll #define OPC_ldirb 71
150 1.1 skrll #define OPC_ldk 72
151 1.1 skrll #define OPC_ldl 73
152 1.1 skrll #define OPC_ldm 74
153 1.1 skrll #define OPC_ldps 75
154 1.1 skrll #define OPC_ldr 76
155 1.1 skrll #define OPC_ldrb 77
156 1.1 skrll #define OPC_ldrl 78
157 1.1 skrll #define OPC_mbit 79
158 1.1 skrll #define OPC_mreq 80
159 1.1 skrll #define OPC_mres 81
160 1.1 skrll #define OPC_mset 82
161 1.1 skrll #define OPC_mult 83
162 1.1 skrll #define OPC_multl 84
163 1.1 skrll #define OPC_neg 85
164 1.1 skrll #define OPC_negb 86
165 1.1 skrll #define OPC_nop 87
166 1.1 skrll #define OPC_or 88
167 1.1 skrll #define OPC_orb 89
168 1.1 skrll #define OPC_otdr 90
169 1.1 skrll #define OPC_otdrb 91
170 1.1 skrll #define OPC_otir 92
171 1.1 skrll #define OPC_otirb 93
172 1.1 skrll #define OPC_out 94
173 1.1 skrll #define OPC_outb 95
174 1.1 skrll #define OPC_outd 96
175 1.1 skrll #define OPC_outdb 97
176 1.1 skrll #define OPC_outi 98
177 1.1 skrll #define OPC_outib 99
178 1.1 skrll #define OPC_pop 100
179 1.1 skrll #define OPC_popl 101
180 1.1 skrll #define OPC_push 102
181 1.1 skrll #define OPC_pushl 103
182 1.1 skrll #define OPC_res 104
183 1.1 skrll #define OPC_resb 105
184 1.1 skrll #define OPC_resflg 106
185 1.1 skrll #define OPC_ret 107
186 1.1 skrll #define OPC_rl 108
187 1.1 skrll #define OPC_rlb 109
188 1.1 skrll #define OPC_rlc 110
189 1.1 skrll #define OPC_rlcb 111
190 1.1 skrll #define OPC_rldb 112
191 1.1 skrll #define OPC_rr 113
192 1.1 skrll #define OPC_rrb 114
193 1.1 skrll #define OPC_rrc 115
194 1.1 skrll #define OPC_rrcb 116
195 1.1 skrll #define OPC_rrdb 117
196 1.1 skrll #define OPC_sbc 118
197 1.1 skrll #define OPC_sbcb 119
198 1.1 skrll #define OPC_sda 120
199 1.1 skrll #define OPC_sdab 121
200 1.1 skrll #define OPC_sdal 122
201 1.1 skrll #define OPC_sdl 123
202 1.1 skrll #define OPC_sdlb 124
203 1.1 skrll #define OPC_sdll 125
204 1.1 skrll #define OPC_set 126
205 1.1 skrll #define OPC_setb 127
206 1.1 skrll #define OPC_setflg 128
207 1.1 skrll #define OPC_sin 129
208 1.1 skrll #define OPC_sinb 130
209 1.1 skrll #define OPC_sind 131
210 1.1 skrll #define OPC_sindb 132
211 1.1 skrll #define OPC_sindr 133
212 1.1 skrll #define OPC_sindrb 134
213 1.1 skrll #define OPC_sini 135
214 1.1 skrll #define OPC_sinib 136
215 1.1 skrll #define OPC_sinir 137
216 1.1 skrll #define OPC_sinirb 138
217 1.1 skrll #define OPC_sla 139
218 1.1 skrll #define OPC_slab 140
219 1.1 skrll #define OPC_slal 141
220 1.1 skrll #define OPC_sll 142
221 1.1 skrll #define OPC_sllb 143
222 1.1 skrll #define OPC_slll 144
223 1.1 skrll #define OPC_sotdr 145
224 1.1 skrll #define OPC_sotdrb 146
225 1.1 skrll #define OPC_sotir 147
226 1.1 skrll #define OPC_sotirb 148
227 1.1 skrll #define OPC_sout 149
228 1.1 skrll #define OPC_soutb 150
229 1.1 skrll #define OPC_soutd 151
230 1.1 skrll #define OPC_soutdb 152
231 1.1 skrll #define OPC_souti 153
232 1.1 skrll #define OPC_soutib 154
233 1.1 skrll #define OPC_sra 155
234 1.1 skrll #define OPC_srab 156
235 1.1 skrll #define OPC_sral 157
236 1.1 skrll #define OPC_srl 158
237 1.1 skrll #define OPC_srlb 159
238 1.1 skrll #define OPC_srll 160
239 1.1 skrll #define OPC_sub 161
240 1.1 skrll #define OPC_subb 162
241 1.1 skrll #define OPC_subl 163
242 1.1 skrll #define OPC_tcc 164
243 1.1 skrll #define OPC_tccb 165
244 1.1 skrll #define OPC_test 166
245 1.1 skrll #define OPC_testb 167
246 1.1 skrll #define OPC_testl 168
247 1.1 skrll #define OPC_trdb 169
248 1.1 skrll #define OPC_trdrb 170
249 1.1 skrll #define OPC_trib 171
250 1.1 skrll #define OPC_trirb 172
251 1.1 skrll #define OPC_trtdrb 173
252 1.1 skrll #define OPC_trtib 174
253 1.1 skrll #define OPC_trtirb 175
254 1.1 skrll #define OPC_trtrb 176
255 1.1 skrll #define OPC_tset 177
256 1.1 skrll #define OPC_tsetb 178
257 1.1 skrll #define OPC_xor 179
258 1.1 skrll #define OPC_xorb 180
259 1.1 skrll #define OPC_ldd 181
260 1.1 skrll #define OPC_lddb 182
261 1.1 skrll #define OPC_lddr 183
262 1.1 skrll #define OPC_lddrb 184
263 1.1 skrll #define OPC_ldi 185
264 1.1 skrll #define OPC_ldib 186
265 1.1 skrll #define OPC_sc 187
266 1.1 skrll #define OPC_bpt 188
267 1.1 skrll #define OPC_ext0e 188
268 1.1 skrll #define OPC_ext0f 188
269 1.1 skrll #define OPC_ext8e 188
270 1.1 skrll #define OPC_ext8f 188
271 1.1 skrll #define OPC_rsvd36 188
272 1.1 skrll #define OPC_rsvd38 188
273 1.1 skrll #define OPC_rsvd78 188
274 1.1 skrll #define OPC_rsvd7e 188
275 1.1 skrll #define OPC_rsvd9d 188
276 1.1 skrll #define OPC_rsvd9f 188
277 1.1 skrll #define OPC_rsvdb9 188
278 1.1 skrll #define OPC_rsvdbf 188
279 1.1 skrll #define OPC_ldctlb 189
280 1.1 skrll #define OPC_trtdb 190
281 1.1 skrll #define OPC_brk 191
282 1.1 skrll
283 1.1 skrll typedef struct {
284 1.1 skrll #ifdef NICENAMES
285 1.1 skrll const char *nicename;
286 1.1 skrll int type;
287 1.1 skrll int cycles;
288 1.1 skrll int flags;
289 1.1 skrll #endif
290 1.1 skrll const char *name;
291 1.1 skrll unsigned char opcode;
292 1.1.1.2 christos void (*func) (void);
293 1.1 skrll unsigned int arg_info[4];
294 1.1 skrll unsigned int byte_info[10];
295 1.1.1.7 christos unsigned int noperands;
296 1.1.1.7 christos unsigned int length;
297 1.1.1.7 christos unsigned int idx;
298 1.1 skrll } opcode_entry_type;
299 1.1 skrll
300 1.1 skrll #ifdef DEFINE_TABLE
301 1.1 skrll const opcode_entry_type z8k_table[] = {
302 1.1 skrll
303 1.1 skrll /* 1011 0101 ssss dddd *** adc rd,rs */
304 1.1 skrll {
305 1.1 skrll #ifdef NICENAMES
306 1.1 skrll "adc rd,rs",16,5,0x3c,
307 1.1 skrll #endif
308 1.1 skrll "adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
309 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},
310 1.1 skrll
311 1.1 skrll /* 1011 0100 ssss dddd *** adcb rbd,rbs */
312 1.1 skrll {
313 1.1 skrll #ifdef NICENAMES
314 1.1 skrll "adcb rbd,rbs",8,5,0x3f,
315 1.1 skrll #endif
316 1.1 skrll "adcb",OPC_adcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
317 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1},
318 1.1 skrll
319 1.1 skrll /* 0000 0001 ssN0 dddd *** add rd,@rs */
320 1.1 skrll {
321 1.1 skrll #ifdef NICENAMES
322 1.1 skrll "add rd,@rs",16,7,0x3c,
323 1.1 skrll #endif
324 1.1 skrll "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
325 1.1 skrll {CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
326 1.1 skrll
327 1.1 skrll /* 0100 0001 0000 dddd address_src *** add rd,address_src */
328 1.1 skrll {
329 1.1 skrll #ifdef NICENAMES
330 1.1 skrll "add rd,address_src",16,9,0x3c,
331 1.1 skrll #endif
332 1.1 skrll "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
333 1.1 skrll {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,2},
334 1.1 skrll
335 1.1 skrll /* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */
336 1.1 skrll {
337 1.1 skrll #ifdef NICENAMES
338 1.1 skrll "add rd,address_src(rs)",16,10,0x3c,
339 1.1 skrll #endif
340 1.1 skrll "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
341 1.1 skrll {CLASS_BIT+4,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,2},
342 1.1 skrll
343 1.1 skrll /* 0000 0001 0000 dddd imm16 *** add rd,imm16 */
344 1.1 skrll {
345 1.1 skrll #ifdef NICENAMES
346 1.1 skrll "add rd,imm16",16,7,0x3c,
347 1.1 skrll #endif
348 1.1 skrll "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
349 1.1 skrll {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,2},
350 1.1 skrll
351 1.1 skrll /* 1000 0001 ssss dddd *** add rd,rs */
352 1.1 skrll {
353 1.1 skrll #ifdef NICENAMES
354 1.1 skrll "add rd,rs",16,4,0x3c,
355 1.1 skrll #endif
356 1.1 skrll "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
357 1.1 skrll {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
358 1.1 skrll
359 1.1 skrll /* 0000 0000 ssN0 dddd *** addb rbd,@rs */
360 1.1 skrll {
361 1.1 skrll #ifdef NICENAMES
362 1.1 skrll "addb rbd,@rs",8,7,0x3f,
363 1.1 skrll #endif
364 1.1 skrll "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
365 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,3},
366 1.1 skrll
367 1.1 skrll /* 0100 0000 0000 dddd address_src *** addb rbd,address_src */
368 1.1 skrll {
369 1.1 skrll #ifdef NICENAMES
370 1.1 skrll "addb rbd,address_src",8,9,0x3f,
371 1.1 skrll #endif
372 1.1 skrll "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
373 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
374 1.1 skrll
375 1.1 skrll /* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */
376 1.1 skrll {
377 1.1 skrll #ifdef NICENAMES
378 1.1 skrll "addb rbd,address_src(rs)",8,10,0x3f,
379 1.1 skrll #endif
380 1.1 skrll "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
381 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
382 1.1 skrll
383 1.1 skrll /* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */
384 1.1 skrll {
385 1.1 skrll #ifdef NICENAMES
386 1.1 skrll "addb rbd,imm8",8,7,0x3f,
387 1.1 skrll #endif
388 1.1 skrll "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
389 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,3},
390 1.1 skrll
391 1.1 skrll /* 1000 0000 ssss dddd *** addb rbd,rbs */
392 1.1 skrll {
393 1.1 skrll #ifdef NICENAMES
394 1.1 skrll "addb rbd,rbs",8,4,0x3f,
395 1.1 skrll #endif
396 1.1 skrll "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
397 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,3},
398 1.1 skrll
399 1.1 skrll /* 0001 0110 ssN0 dddd *** addl rrd,@rs */
400 1.1 skrll {
401 1.1 skrll #ifdef NICENAMES
402 1.1 skrll "addl rrd,@rs",32,14,0x3c,
403 1.1 skrll #endif
404 1.1 skrll "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
405 1.1 skrll {CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,4},
406 1.1 skrll
407 1.1 skrll /* 0101 0110 0000 dddd address_src *** addl rrd,address_src */
408 1.1 skrll {
409 1.1 skrll #ifdef NICENAMES
410 1.1 skrll "addl rrd,address_src",32,15,0x3c,
411 1.1 skrll #endif
412 1.1 skrll "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
413 1.1 skrll {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
414 1.1 skrll
415 1.1 skrll /* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */
416 1.1 skrll {
417 1.1 skrll #ifdef NICENAMES
418 1.1 skrll "addl rrd,address_src(rs)",32,16,0x3c,
419 1.1 skrll #endif
420 1.1 skrll "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
421 1.1 skrll {CLASS_BIT+5,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
422 1.1 skrll
423 1.1 skrll /* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */
424 1.1 skrll {
425 1.1 skrll #ifdef NICENAMES
426 1.1 skrll "addl rrd,imm32",32,14,0x3c,
427 1.1 skrll #endif
428 1.1 skrll "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
429 1.1 skrll {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,4},
430 1.1 skrll
431 1.1 skrll /* 1001 0110 ssss dddd *** addl rrd,rrs */
432 1.1 skrll {
433 1.1 skrll #ifdef NICENAMES
434 1.1 skrll "addl rrd,rrs",32,8,0x3c,
435 1.1 skrll #endif
436 1.1 skrll "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
437 1.1 skrll {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,4},
438 1.1 skrll
439 1.1 skrll /* 0000 0111 ssN0 dddd *** and rd,@rs */
440 1.1 skrll {
441 1.1 skrll #ifdef NICENAMES
442 1.1 skrll "and rd,@rs",16,7,0x18,
443 1.1 skrll #endif
444 1.1 skrll "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
445 1.1 skrll {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,5},
446 1.1 skrll
447 1.1 skrll /* 0100 0111 0000 dddd address_src *** and rd,address_src */
448 1.1 skrll {
449 1.1 skrll #ifdef NICENAMES
450 1.1 skrll "and rd,address_src",16,9,0x18,
451 1.1 skrll #endif
452 1.1 skrll "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
453 1.1 skrll {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,5},
454 1.1 skrll
455 1.1 skrll /* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */
456 1.1 skrll {
457 1.1 skrll #ifdef NICENAMES
458 1.1 skrll "and rd,address_src(rs)",16,10,0x18,
459 1.1 skrll #endif
460 1.1 skrll "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
461 1.1 skrll {CLASS_BIT+4,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,5},
462 1.1 skrll
463 1.1 skrll /* 0000 0111 0000 dddd imm16 *** and rd,imm16 */
464 1.1 skrll {
465 1.1 skrll #ifdef NICENAMES
466 1.1 skrll "and rd,imm16",16,7,0x18,
467 1.1 skrll #endif
468 1.1 skrll "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
469 1.1 skrll {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
470 1.1 skrll
471 1.1 skrll /* 1000 0111 ssss dddd *** and rd,rs */
472 1.1 skrll {
473 1.1 skrll #ifdef NICENAMES
474 1.1 skrll "and rd,rs",16,4,0x18,
475 1.1 skrll #endif
476 1.1 skrll "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
477 1.1 skrll {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,5},
478 1.1 skrll
479 1.1 skrll /* 0000 0110 ssN0 dddd *** andb rbd,@rs */
480 1.1 skrll {
481 1.1 skrll #ifdef NICENAMES
482 1.1 skrll "andb rbd,@rs",8,7,0x1c,
483 1.1 skrll #endif
484 1.1 skrll "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
485 1.1 skrll {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
486 1.1 skrll
487 1.1 skrll /* 0100 0110 0000 dddd address_src *** andb rbd,address_src */
488 1.1 skrll {
489 1.1 skrll #ifdef NICENAMES
490 1.1 skrll "andb rbd,address_src",8,9,0x1c,
491 1.1 skrll #endif
492 1.1 skrll "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
493 1.1 skrll {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,6},
494 1.1 skrll
495 1.1 skrll /* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */
496 1.1 skrll {
497 1.1 skrll #ifdef NICENAMES
498 1.1 skrll "andb rbd,address_src(rs)",8,10,0x1c,
499 1.1 skrll #endif
500 1.1 skrll "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
501 1.1 skrll {CLASS_BIT+4,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,6},
502 1.1 skrll
503 1.1 skrll /* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */
504 1.1 skrll {
505 1.1 skrll #ifdef NICENAMES
506 1.1 skrll "andb rbd,imm8",8,7,0x1c,
507 1.1 skrll #endif
508 1.1 skrll "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
509 1.1 skrll {CLASS_BIT+0,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,6},
510 1.1 skrll
511 1.1 skrll /* 1000 0110 ssss dddd *** andb rbd,rbs */
512 1.1 skrll {
513 1.1 skrll #ifdef NICENAMES
514 1.1 skrll "andb rbd,rbs",8,4,0x1c,
515 1.1 skrll #endif
516 1.1 skrll "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
517 1.1 skrll {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
518 1.1 skrll
519 1.1 skrll /* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */
520 1.1 skrll {
521 1.1 skrll #ifdef NICENAMES
522 1.1 skrll "bit @rd,imm4",16,8,0x10,
523 1.1 skrll #endif
524 1.1 skrll "bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
525 1.1 skrll {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,7},
526 1.1 skrll
527 1.1 skrll /* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */
528 1.1 skrll {
529 1.1 skrll #ifdef NICENAMES
530 1.1 skrll "bit address_dst(rd),imm4",16,11,0x10,
531 1.1 skrll #endif
532 1.1 skrll "bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
533 1.1 skrll {CLASS_BIT+6,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,7},
534 1.1 skrll
535 1.1 skrll /* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */
536 1.1 skrll {
537 1.1 skrll #ifdef NICENAMES
538 1.1 skrll "bit address_dst,imm4",16,10,0x10,
539 1.1 skrll #endif
540 1.1 skrll "bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
541 1.1 skrll {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,7},
542 1.1 skrll
543 1.1 skrll /* 1010 0111 dddd imm4 *** bit rd,imm4 */
544 1.1 skrll {
545 1.1 skrll #ifdef NICENAMES
546 1.1 skrll "bit rd,imm4",16,4,0x10,
547 1.1 skrll #endif
548 1.1 skrll "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
549 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,7},
550 1.1 skrll
551 1.1 skrll /* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */
552 1.1 skrll {
553 1.1 skrll #ifdef NICENAMES
554 1.1 skrll "bit rd,rs",16,10,0x10,
555 1.1 skrll #endif
556 1.1 skrll "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
557 1.1 skrll {CLASS_BIT+2,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,7},
558 1.1 skrll
559 1.1 skrll /* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */
560 1.1 skrll {
561 1.1 skrll #ifdef NICENAMES
562 1.1 skrll "bitb @rd,imm4",8,8,0x10,
563 1.1 skrll #endif
564 1.1 skrll "bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
565 1.1 skrll {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,8},
566 1.1 skrll
567 1.1 skrll /* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */
568 1.1 skrll {
569 1.1 skrll #ifdef NICENAMES
570 1.1 skrll "bitb address_dst(rd),imm4",8,11,0x10,
571 1.1 skrll #endif
572 1.1 skrll "bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
573 1.1 skrll {CLASS_BIT+6,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,8},
574 1.1 skrll
575 1.1 skrll /* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */
576 1.1 skrll {
577 1.1 skrll #ifdef NICENAMES
578 1.1 skrll "bitb address_dst,imm4",8,10,0x10,
579 1.1 skrll #endif
580 1.1 skrll "bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
581 1.1 skrll {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,8},
582 1.1 skrll
583 1.1 skrll /* 1010 0110 dddd imm4 *** bitb rbd,imm4 */
584 1.1 skrll {
585 1.1 skrll #ifdef NICENAMES
586 1.1 skrll "bitb rbd,imm4",8,4,0x10,
587 1.1 skrll #endif
588 1.1 skrll "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
589 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,8},
590 1.1 skrll
591 1.1 skrll /* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */
592 1.1 skrll {
593 1.1 skrll #ifdef NICENAMES
594 1.1 skrll "bitb rbd,rs",8,10,0x10,
595 1.1 skrll #endif
596 1.1 skrll "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
597 1.1 skrll {CLASS_BIT+2,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,8},
598 1.1 skrll
599 1.1 skrll /* 0011 0110 0000 0000 *** bpt */
600 1.1 skrll {
601 1.1 skrll #ifdef NICENAMES
602 1.1 skrll "bpt",8,2,0x00,
603 1.1 skrll #endif
604 1.1 skrll "bpt",OPC_bpt,0,{0},
605 1.1 skrll {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,9},
606 1.1 skrll
607 1.1 skrll /* 0000 1111 0000 1100 *** brk */
608 1.1 skrll {
609 1.1 skrll #ifdef NICENAMES
610 1.1 skrll "brk",8,10,0x00,
611 1.1 skrll #endif
612 1.1 skrll "brk",OPC_brk,0,{0},
613 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0xc,0,0,0,0,0,},0,2,10},
614 1.1 skrll
615 1.1 skrll /* 0001 1111 ddN0 0000 *** call @rd */
616 1.1 skrll {
617 1.1 skrll #ifdef NICENAMES
618 1.1 skrll "call @rd",32,10,0x00,
619 1.1 skrll #endif
620 1.1 skrll "call",OPC_call,0,{CLASS_IR+(ARG_RD),},
621 1.1 skrll {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,11},
622 1.1 skrll
623 1.1 skrll /* 0101 1111 0000 0000 address_dst *** call address_dst */
624 1.1 skrll {
625 1.1 skrll #ifdef NICENAMES
626 1.1 skrll "call address_dst",32,12,0x00,
627 1.1 skrll #endif
628 1.1 skrll "call",OPC_call,0,{CLASS_DA+(ARG_DST),},
629 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,11},
630 1.1 skrll
631 1.1 skrll /* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */
632 1.1 skrll {
633 1.1 skrll #ifdef NICENAMES
634 1.1 skrll "call address_dst(rd)",32,13,0x00,
635 1.1 skrll #endif
636 1.1 skrll "call",OPC_call,0,{CLASS_X+(ARG_RD),},
637 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,11},
638 1.1 skrll
639 1.1 skrll /* 1101 disp12 *** calr disp12 */
640 1.1 skrll {
641 1.1 skrll #ifdef NICENAMES
642 1.1 skrll "calr disp12",16,10,0x00,
643 1.1 skrll #endif
644 1.1 skrll "calr",OPC_calr,0,{CLASS_DISP,},
645 1.1 skrll {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,12},
646 1.1 skrll
647 1.1 skrll /* 0000 1101 ddN0 1000 *** clr @rd */
648 1.1 skrll {
649 1.1 skrll #ifdef NICENAMES
650 1.1 skrll "clr @rd",16,8,0x00,
651 1.1 skrll #endif
652 1.1 skrll "clr",OPC_clr,0,{CLASS_IR+(ARG_RD),},
653 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,13},
654 1.1 skrll
655 1.1 skrll /* 0100 1101 0000 1000 address_dst *** clr address_dst */
656 1.1 skrll {
657 1.1 skrll #ifdef NICENAMES
658 1.1 skrll "clr address_dst",16,11,0x00,
659 1.1 skrll #endif
660 1.1 skrll "clr",OPC_clr,0,{CLASS_DA+(ARG_DST),},
661 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,13},
662 1.1 skrll
663 1.1 skrll /* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */
664 1.1 skrll {
665 1.1 skrll #ifdef NICENAMES
666 1.1 skrll "clr address_dst(rd)",16,12,0x00,
667 1.1 skrll #endif
668 1.1 skrll "clr",OPC_clr,0,{CLASS_X+(ARG_RD),},
669 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,13},
670 1.1 skrll
671 1.1 skrll /* 1000 1101 dddd 1000 *** clr rd */
672 1.1 skrll {
673 1.1 skrll #ifdef NICENAMES
674 1.1 skrll "clr rd",16,7,0x00,
675 1.1 skrll #endif
676 1.1 skrll "clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),},
677 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,13},
678 1.1 skrll
679 1.1 skrll /* 0000 1100 ddN0 1000 *** clrb @rd */
680 1.1 skrll {
681 1.1 skrll #ifdef NICENAMES
682 1.1 skrll "clrb @rd",8,8,0x00,
683 1.1 skrll #endif
684 1.1 skrll "clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),},
685 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,14},
686 1.1 skrll
687 1.1 skrll /* 0100 1100 0000 1000 address_dst *** clrb address_dst */
688 1.1 skrll {
689 1.1 skrll #ifdef NICENAMES
690 1.1 skrll "clrb address_dst",8,11,0x00,
691 1.1 skrll #endif
692 1.1 skrll "clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),},
693 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,14},
694 1.1 skrll
695 1.1 skrll /* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */
696 1.1 skrll {
697 1.1 skrll #ifdef NICENAMES
698 1.1 skrll "clrb address_dst(rd)",8,12,0x00,
699 1.1 skrll #endif
700 1.1 skrll "clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),},
701 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,14},
702 1.1 skrll
703 1.1 skrll /* 1000 1100 dddd 1000 *** clrb rbd */
704 1.1 skrll {
705 1.1 skrll #ifdef NICENAMES
706 1.1 skrll "clrb rbd",8,7,0x00,
707 1.1 skrll #endif
708 1.1 skrll "clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),},
709 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,14},
710 1.1 skrll
711 1.1 skrll /* 0000 1101 ddN0 0000 *** com @rd */
712 1.1 skrll {
713 1.1 skrll #ifdef NICENAMES
714 1.1 skrll "com @rd",16,12,0x18,
715 1.1 skrll #endif
716 1.1 skrll "com",OPC_com,0,{CLASS_IR+(ARG_RD),},
717 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,15},
718 1.1 skrll
719 1.1 skrll /* 0100 1101 0000 0000 address_dst *** com address_dst */
720 1.1 skrll {
721 1.1 skrll #ifdef NICENAMES
722 1.1 skrll "com address_dst",16,15,0x18,
723 1.1 skrll #endif
724 1.1 skrll "com",OPC_com,0,{CLASS_DA+(ARG_DST),},
725 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,15},
726 1.1 skrll
727 1.1 skrll /* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */
728 1.1 skrll {
729 1.1 skrll #ifdef NICENAMES
730 1.1 skrll "com address_dst(rd)",16,16,0x18,
731 1.1 skrll #endif
732 1.1 skrll "com",OPC_com,0,{CLASS_X+(ARG_RD),},
733 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,15},
734 1.1 skrll
735 1.1 skrll /* 1000 1101 dddd 0000 *** com rd */
736 1.1 skrll {
737 1.1 skrll #ifdef NICENAMES
738 1.1 skrll "com rd",16,7,0x18,
739 1.1 skrll #endif
740 1.1 skrll "com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),},
741 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,15},
742 1.1 skrll
743 1.1 skrll /* 0000 1100 ddN0 0000 *** comb @rd */
744 1.1 skrll {
745 1.1 skrll #ifdef NICENAMES
746 1.1 skrll "comb @rd",8,12,0x1c,
747 1.1 skrll #endif
748 1.1 skrll "comb",OPC_comb,0,{CLASS_IR+(ARG_RD),},
749 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,16},
750 1.1 skrll
751 1.1 skrll /* 0100 1100 0000 0000 address_dst *** comb address_dst */
752 1.1 skrll {
753 1.1 skrll #ifdef NICENAMES
754 1.1 skrll "comb address_dst",8,15,0x1c,
755 1.1 skrll #endif
756 1.1 skrll "comb",OPC_comb,0,{CLASS_DA+(ARG_DST),},
757 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,16},
758 1.1 skrll
759 1.1 skrll /* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */
760 1.1 skrll {
761 1.1 skrll #ifdef NICENAMES
762 1.1 skrll "comb address_dst(rd)",8,16,0x1c,
763 1.1 skrll #endif
764 1.1 skrll "comb",OPC_comb,0,{CLASS_X+(ARG_RD),},
765 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,16},
766 1.1 skrll
767 1.1 skrll /* 1000 1100 dddd 0000 *** comb rbd */
768 1.1 skrll {
769 1.1 skrll #ifdef NICENAMES
770 1.1 skrll "comb rbd",8,7,0x1c,
771 1.1 skrll #endif
772 1.1 skrll "comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),},
773 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,16},
774 1.1 skrll
775 1.1 skrll /* 1000 1101 flags 0101 *** comflg flags */
776 1.1 skrll {
777 1.1 skrll #ifdef NICENAMES
778 1.1 skrll "comflg flags",16,7,0x3c,
779 1.1 skrll #endif
780 1.1 skrll "comflg",OPC_comflg,0,{CLASS_FLAGS,},
781 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+5,0,0,0,0,0,},1,2,17},
782 1.1 skrll
783 1.1 skrll /* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */
784 1.1 skrll {
785 1.1 skrll #ifdef NICENAMES
786 1.1 skrll "cp @rd,imm16",16,11,0x3c,
787 1.1 skrll #endif
788 1.1 skrll "cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
789 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,18},
790 1.1 skrll
791 1.1 skrll /* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */
792 1.1 skrll {
793 1.1 skrll #ifdef NICENAMES
794 1.1 skrll "cp address_dst(rd),imm16",16,15,0x3c,
795 1.1 skrll #endif
796 1.1 skrll "cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
797 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,18},
798 1.1 skrll
799 1.1 skrll /* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */
800 1.1 skrll {
801 1.1 skrll #ifdef NICENAMES
802 1.1 skrll "cp address_dst,imm16",16,14,0x3c,
803 1.1 skrll #endif
804 1.1 skrll "cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
805 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,18},
806 1.1 skrll
807 1.1 skrll /* 0000 1011 ssN0 dddd *** cp rd,@rs */
808 1.1 skrll {
809 1.1 skrll #ifdef NICENAMES
810 1.1 skrll "cp rd,@rs",16,7,0x3c,
811 1.1 skrll #endif
812 1.1 skrll "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
813 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,18},
814 1.1 skrll
815 1.1 skrll /* 0100 1011 0000 dddd address_src *** cp rd,address_src */
816 1.1 skrll {
817 1.1 skrll #ifdef NICENAMES
818 1.1 skrll "cp rd,address_src",16,9,0x3c,
819 1.1 skrll #endif
820 1.1 skrll "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
821 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
822 1.1 skrll
823 1.1 skrll /* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */
824 1.1 skrll {
825 1.1 skrll #ifdef NICENAMES
826 1.1 skrll "cp rd,address_src(rs)",16,10,0x3c,
827 1.1 skrll #endif
828 1.1 skrll "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
829 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
830 1.1 skrll
831 1.1 skrll /* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */
832 1.1 skrll {
833 1.1 skrll #ifdef NICENAMES
834 1.1 skrll "cp rd,imm16",16,7,0x3c,
835 1.1 skrll #endif
836 1.1 skrll "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
837 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,18},
838 1.1 skrll
839 1.1 skrll /* 1000 1011 ssss dddd *** cp rd,rs */
840 1.1 skrll {
841 1.1 skrll #ifdef NICENAMES
842 1.1 skrll "cp rd,rs",16,4,0x3c,
843 1.1 skrll #endif
844 1.1 skrll "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
845 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,18},
846 1.1 skrll
847 1.1 skrll /* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */
848 1.1 skrll {
849 1.1 skrll #ifdef NICENAMES
850 1.1 skrll "cpb @rd,imm8",8,11,0x3c,
851 1.1 skrll #endif
852 1.1 skrll "cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
853 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,19},
854 1.1 skrll
855 1.1 skrll /* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */
856 1.1 skrll {
857 1.1 skrll #ifdef NICENAMES
858 1.1 skrll "cpb address_dst(rd),imm8",8,15,0x3c,
859 1.1 skrll #endif
860 1.1 skrll "cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
861 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,19},
862 1.1 skrll
863 1.1 skrll /* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */
864 1.1 skrll {
865 1.1 skrll #ifdef NICENAMES
866 1.1 skrll "cpb address_dst,imm8",8,14,0x3c,
867 1.1 skrll #endif
868 1.1 skrll "cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
869 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,19},
870 1.1 skrll
871 1.1 skrll /* 0000 1010 ssN0 dddd *** cpb rbd,@rs */
872 1.1 skrll {
873 1.1 skrll #ifdef NICENAMES
874 1.1 skrll "cpb rbd,@rs",8,7,0x3c,
875 1.1 skrll #endif
876 1.1 skrll "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
877 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,19},
878 1.1 skrll
879 1.1 skrll /* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */
880 1.1 skrll {
881 1.1 skrll #ifdef NICENAMES
882 1.1 skrll "cpb rbd,address_src",8,9,0x3c,
883 1.1 skrll #endif
884 1.1 skrll "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
885 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
886 1.1 skrll
887 1.1 skrll /* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */
888 1.1 skrll {
889 1.1 skrll #ifdef NICENAMES
890 1.1 skrll "cpb rbd,address_src(rs)",8,10,0x3c,
891 1.1 skrll #endif
892 1.1 skrll "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
893 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
894 1.1 skrll
895 1.1 skrll /* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */
896 1.1 skrll {
897 1.1 skrll #ifdef NICENAMES
898 1.1 skrll "cpb rbd,imm8",8,7,0x3c,
899 1.1 skrll #endif
900 1.1 skrll "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
901 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,19},
902 1.1 skrll
903 1.1 skrll /* 1000 1010 ssss dddd *** cpb rbd,rbs */
904 1.1 skrll {
905 1.1 skrll #ifdef NICENAMES
906 1.1 skrll "cpb rbd,rbs",8,4,0x3c,
907 1.1 skrll #endif
908 1.1 skrll "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
909 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,19},
910 1.1 skrll
911 1.1 skrll /* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */
912 1.1 skrll {
913 1.1 skrll #ifdef NICENAMES
914 1.1 skrll "cpd rd,@rs,rr,cc",16,11,0x3c,
915 1.1 skrll #endif
916 1.1 skrll "cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
917 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,20},
918 1.1 skrll
919 1.1 skrll /* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */
920 1.1 skrll {
921 1.1 skrll #ifdef NICENAMES
922 1.1 skrll "cpdb rbd,@rs,rr,cc",8,11,0x3c,
923 1.1 skrll #endif
924 1.1 skrll "cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
925 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,21},
926 1.1 skrll
927 1.1 skrll /* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */
928 1.1 skrll {
929 1.1 skrll #ifdef NICENAMES
930 1.1 skrll "cpdr rd,@rs,rr,cc",16,11,0x3c,
931 1.1 skrll #endif
932 1.1 skrll "cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
933 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,22},
934 1.1 skrll
935 1.1 skrll /* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */
936 1.1 skrll {
937 1.1 skrll #ifdef NICENAMES
938 1.1 skrll "cpdrb rbd,@rs,rr,cc",8,11,0x3c,
939 1.1 skrll #endif
940 1.1 skrll "cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
941 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,23},
942 1.1 skrll
943 1.1 skrll /* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */
944 1.1 skrll {
945 1.1 skrll #ifdef NICENAMES
946 1.1 skrll "cpi rd,@rs,rr,cc",16,11,0x3c,
947 1.1 skrll #endif
948 1.1 skrll "cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
949 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,24},
950 1.1 skrll
951 1.1 skrll /* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */
952 1.1 skrll {
953 1.1 skrll #ifdef NICENAMES
954 1.1 skrll "cpib rbd,@rs,rr,cc",8,11,0x3c,
955 1.1 skrll #endif
956 1.1 skrll "cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
957 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,25},
958 1.1 skrll
959 1.1 skrll /* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */
960 1.1 skrll {
961 1.1 skrll #ifdef NICENAMES
962 1.1 skrll "cpir rd,@rs,rr,cc",16,11,0x3c,
963 1.1 skrll #endif
964 1.1 skrll "cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
965 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,26},
966 1.1 skrll
967 1.1 skrll /* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */
968 1.1 skrll {
969 1.1 skrll #ifdef NICENAMES
970 1.1 skrll "cpirb rbd,@rs,rr,cc",8,11,0x3c,
971 1.1 skrll #endif
972 1.1 skrll "cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
973 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,27},
974 1.1 skrll
975 1.1 skrll /* 0001 0000 ssN0 dddd *** cpl rrd,@rs */
976 1.1 skrll {
977 1.1 skrll #ifdef NICENAMES
978 1.1 skrll "cpl rrd,@rs",32,14,0x3c,
979 1.1 skrll #endif
980 1.1 skrll "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
981 1.1 skrll {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,28},
982 1.1 skrll
983 1.1 skrll /* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */
984 1.1 skrll {
985 1.1 skrll #ifdef NICENAMES
986 1.1 skrll "cpl rrd,address_src",32,15,0x3c,
987 1.1 skrll #endif
988 1.1 skrll "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
989 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,28},
990 1.1 skrll
991 1.1 skrll /* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */
992 1.1 skrll {
993 1.1 skrll #ifdef NICENAMES
994 1.1 skrll "cpl rrd,address_src(rs)",32,16,0x3c,
995 1.1 skrll #endif
996 1.1 skrll "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
997 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,28},
998 1.1 skrll
999 1.1 skrll /* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */
1000 1.1 skrll {
1001 1.1 skrll #ifdef NICENAMES
1002 1.1 skrll "cpl rrd,imm32",32,14,0x3c,
1003 1.1 skrll #endif
1004 1.1 skrll "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1005 1.1 skrll {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,28},
1006 1.1 skrll
1007 1.1 skrll /* 1001 0000 ssss dddd *** cpl rrd,rrs */
1008 1.1 skrll {
1009 1.1 skrll #ifdef NICENAMES
1010 1.1 skrll "cpl rrd,rrs",32,8,0x3c,
1011 1.1 skrll #endif
1012 1.1 skrll "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1013 1.1 skrll {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,28},
1014 1.1 skrll
1015 1.1 skrll /* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */
1016 1.1 skrll {
1017 1.1 skrll #ifdef NICENAMES
1018 1.1 skrll "cpsd @rd,@rs,rr,cc",16,11,0x3c,
1019 1.1 skrll #endif
1020 1.1 skrll "cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1021 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,29},
1022 1.1 skrll
1023 1.1 skrll /* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */
1024 1.1 skrll {
1025 1.1 skrll #ifdef NICENAMES
1026 1.1 skrll "cpsdb @rd,@rs,rr,cc",8,11,0x3c,
1027 1.1 skrll #endif
1028 1.1 skrll "cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1029 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,30},
1030 1.1 skrll
1031 1.1 skrll /* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */
1032 1.1 skrll {
1033 1.1 skrll #ifdef NICENAMES
1034 1.1 skrll "cpsdr @rd,@rs,rr,cc",16,11,0x3c,
1035 1.1 skrll #endif
1036 1.1 skrll "cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1037 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,31},
1038 1.1 skrll
1039 1.1 skrll /* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */
1040 1.1 skrll {
1041 1.1 skrll #ifdef NICENAMES
1042 1.1 skrll "cpsdrb @rd,@rs,rr,cc",8,11,0x3c,
1043 1.1 skrll #endif
1044 1.1 skrll "cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1045 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,32},
1046 1.1 skrll
1047 1.1 skrll /* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */
1048 1.1 skrll {
1049 1.1 skrll #ifdef NICENAMES
1050 1.1 skrll "cpsi @rd,@rs,rr,cc",16,11,0x3c,
1051 1.1 skrll #endif
1052 1.1 skrll "cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1053 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,33},
1054 1.1 skrll
1055 1.1 skrll /* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */
1056 1.1 skrll {
1057 1.1 skrll #ifdef NICENAMES
1058 1.1 skrll "cpsib @rd,@rs,rr,cc",8,11,0x3c,
1059 1.1 skrll #endif
1060 1.1 skrll "cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1061 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,34},
1062 1.1 skrll
1063 1.1 skrll /* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */
1064 1.1 skrll {
1065 1.1 skrll #ifdef NICENAMES
1066 1.1 skrll "cpsir @rd,@rs,rr,cc",16,11,0x3c,
1067 1.1 skrll #endif
1068 1.1 skrll "cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1069 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,35},
1070 1.1 skrll
1071 1.1 skrll /* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */
1072 1.1 skrll {
1073 1.1 skrll #ifdef NICENAMES
1074 1.1 skrll "cpsirb @rd,@rs,rr,cc",8,11,0x3c,
1075 1.1 skrll #endif
1076 1.1 skrll "cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1077 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,36},
1078 1.1 skrll
1079 1.1 skrll /* 1011 0000 dddd 0000 *** dab rbd */
1080 1.1 skrll {
1081 1.1 skrll #ifdef NICENAMES
1082 1.1 skrll "dab rbd",8,5,0x38,
1083 1.1 skrll #endif
1084 1.1 skrll "dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),},
1085 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,37},
1086 1.1 skrll
1087 1.1 skrll /* 1111 dddd 0disp7 *** dbjnz rbd,disp7 */
1088 1.1 skrll {
1089 1.1 skrll #ifdef NICENAMES
1090 1.1 skrll "dbjnz rbd,disp7",16,11,0x00,
1091 1.1 skrll #endif
1092 1.1 skrll "dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
1093 1.1 skrll {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,38},
1094 1.1 skrll
1095 1.1 skrll /* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */
1096 1.1 skrll {
1097 1.1 skrll #ifdef NICENAMES
1098 1.1 skrll "dec @rd,imm4m1",16,11,0x1c,
1099 1.1 skrll #endif
1100 1.1 skrll "dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1101 1.1 skrll {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,39},
1102 1.1 skrll
1103 1.1 skrll /* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */
1104 1.1 skrll {
1105 1.1 skrll #ifdef NICENAMES
1106 1.1 skrll "dec address_dst(rd),imm4m1",16,14,0x1c,
1107 1.1 skrll #endif
1108 1.1 skrll "dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1109 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,39},
1110 1.1 skrll
1111 1.1 skrll /* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */
1112 1.1 skrll {
1113 1.1 skrll #ifdef NICENAMES
1114 1.1 skrll "dec address_dst,imm4m1",16,13,0x1c,
1115 1.1 skrll #endif
1116 1.1 skrll "dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1117 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,39},
1118 1.1 skrll
1119 1.1 skrll /* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */
1120 1.1 skrll {
1121 1.1 skrll #ifdef NICENAMES
1122 1.1 skrll "dec rd,imm4m1",16,4,0x1c,
1123 1.1 skrll #endif
1124 1.1 skrll "dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1125 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,39},
1126 1.1 skrll
1127 1.1 skrll /* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */
1128 1.1 skrll {
1129 1.1 skrll #ifdef NICENAMES
1130 1.1 skrll "decb @rd,imm4m1",8,11,0x1c,
1131 1.1 skrll #endif
1132 1.1 skrll "decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1133 1.1 skrll {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,40},
1134 1.1 skrll
1135 1.1 skrll /* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */
1136 1.1 skrll {
1137 1.1 skrll #ifdef NICENAMES
1138 1.1 skrll "decb address_dst(rd),imm4m1",8,14,0x1c,
1139 1.1 skrll #endif
1140 1.1 skrll "decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1141 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,40},
1142 1.1 skrll
1143 1.1 skrll /* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */
1144 1.1 skrll {
1145 1.1 skrll #ifdef NICENAMES
1146 1.1 skrll "decb address_dst,imm4m1",8,13,0x1c,
1147 1.1 skrll #endif
1148 1.1 skrll "decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1149 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,40},
1150 1.1 skrll
1151 1.1 skrll /* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */
1152 1.1 skrll {
1153 1.1 skrll #ifdef NICENAMES
1154 1.1 skrll "decb rbd,imm4m1",8,4,0x1c,
1155 1.1 skrll #endif
1156 1.1 skrll "decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1157 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,40},
1158 1.1 skrll
1159 1.1 skrll /* 0111 1100 0000 00ii *** di i2 */
1160 1.1 skrll {
1161 1.1 skrll #ifdef NICENAMES
1162 1.1 skrll "di i2",16,7,0x00,
1163 1.1 skrll #endif
1164 1.1 skrll "di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),},
1165 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,41},
1166 1.1 skrll
1167 1.1 skrll /* 0001 1011 ssN0 dddd *** div rrd,@rs */
1168 1.1 skrll {
1169 1.1 skrll #ifdef NICENAMES
1170 1.1 skrll "div rrd,@rs",16,107,0x3c,
1171 1.1 skrll #endif
1172 1.1 skrll "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
1173 1.1 skrll {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,42},
1174 1.1 skrll
1175 1.1 skrll /* 0101 1011 0000 dddd address_src *** div rrd,address_src */
1176 1.1 skrll {
1177 1.1 skrll #ifdef NICENAMES
1178 1.1 skrll "div rrd,address_src",16,107,0x3c,
1179 1.1 skrll #endif
1180 1.1 skrll "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
1181 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,42},
1182 1.1 skrll
1183 1.1 skrll /* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */
1184 1.1 skrll {
1185 1.1 skrll #ifdef NICENAMES
1186 1.1 skrll "div rrd,address_src(rs)",16,107,0x3c,
1187 1.1 skrll #endif
1188 1.1 skrll "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
1189 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,42},
1190 1.1 skrll
1191 1.1 skrll /* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */
1192 1.1 skrll {
1193 1.1 skrll #ifdef NICENAMES
1194 1.1 skrll "div rrd,imm16",16,107,0x3c,
1195 1.1 skrll #endif
1196 1.1 skrll "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1197 1.1 skrll {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,42},
1198 1.1 skrll
1199 1.1 skrll /* 1001 1011 ssss dddd *** div rrd,rs */
1200 1.1 skrll {
1201 1.1 skrll #ifdef NICENAMES
1202 1.1 skrll "div rrd,rs",16,107,0x3c,
1203 1.1 skrll #endif
1204 1.1 skrll "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1205 1.1 skrll {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,42},
1206 1.1 skrll
1207 1.1 skrll /* 0001 1010 ssN0 dddd *** divl rqd,@rs */
1208 1.1 skrll {
1209 1.1 skrll #ifdef NICENAMES
1210 1.1 skrll "divl rqd,@rs",32,744,0x3c,
1211 1.1 skrll #endif
1212 1.1 skrll "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
1213 1.1 skrll {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,43},
1214 1.1 skrll
1215 1.1 skrll /* 0101 1010 0000 dddd address_src *** divl rqd,address_src */
1216 1.1 skrll {
1217 1.1 skrll #ifdef NICENAMES
1218 1.1 skrll "divl rqd,address_src",32,745,0x3c,
1219 1.1 skrll #endif
1220 1.1 skrll "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1221 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,43},
1222 1.1 skrll
1223 1.1 skrll /* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */
1224 1.1 skrll {
1225 1.1 skrll #ifdef NICENAMES
1226 1.1 skrll "divl rqd,address_src(rs)",32,746,0x3c,
1227 1.1 skrll #endif
1228 1.1 skrll "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
1229 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,43},
1230 1.1 skrll
1231 1.1 skrll /* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */
1232 1.1 skrll {
1233 1.1 skrll #ifdef NICENAMES
1234 1.1 skrll "divl rqd,imm32",32,744,0x3c,
1235 1.1 skrll #endif
1236 1.1 skrll "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1237 1.1 skrll {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,43},
1238 1.1 skrll
1239 1.1 skrll /* 1001 1010 ssss dddd *** divl rqd,rrs */
1240 1.1 skrll {
1241 1.1 skrll #ifdef NICENAMES
1242 1.1 skrll "divl rqd,rrs",32,744,0x3c,
1243 1.1 skrll #endif
1244 1.1 skrll "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1245 1.1 skrll {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,43},
1246 1.1 skrll
1247 1.1 skrll /* 1111 dddd 1disp7 *** djnz rd,disp7 */
1248 1.1 skrll {
1249 1.1 skrll #ifdef NICENAMES
1250 1.1 skrll "djnz rd,disp7",16,11,0x00,
1251 1.1 skrll #endif
1252 1.1 skrll "djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
1253 1.1 skrll {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,44},
1254 1.1 skrll
1255 1.1 skrll /* 0111 1100 0000 01ii *** ei i2 */
1256 1.1 skrll {
1257 1.1 skrll #ifdef NICENAMES
1258 1.1 skrll "ei i2",16,7,0x00,
1259 1.1 skrll #endif
1260 1.1 skrll "ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),},
1261 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,45},
1262 1.1 skrll
1263 1.1 skrll /* 0010 1101 ssN0 dddd *** ex rd,@rs */
1264 1.1 skrll {
1265 1.1 skrll #ifdef NICENAMES
1266 1.1 skrll "ex rd,@rs",16,12,0x00,
1267 1.1 skrll #endif
1268 1.1 skrll "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1269 1.1 skrll {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,46},
1270 1.1 skrll
1271 1.1 skrll /* 0110 1101 0000 dddd address_src *** ex rd,address_src */
1272 1.1 skrll {
1273 1.1 skrll #ifdef NICENAMES
1274 1.1 skrll "ex rd,address_src",16,15,0x00,
1275 1.1 skrll #endif
1276 1.1 skrll "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1277 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,46},
1278 1.1 skrll
1279 1.1 skrll /* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */
1280 1.1 skrll {
1281 1.1 skrll #ifdef NICENAMES
1282 1.1 skrll "ex rd,address_src(rs)",16,16,0x00,
1283 1.1 skrll #endif
1284 1.1 skrll "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1285 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,46},
1286 1.1 skrll
1287 1.1 skrll /* 1010 1101 ssss dddd *** ex rd,rs */
1288 1.1 skrll {
1289 1.1 skrll #ifdef NICENAMES
1290 1.1 skrll "ex rd,rs",16,6,0x00,
1291 1.1 skrll #endif
1292 1.1 skrll "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1293 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,46},
1294 1.1 skrll
1295 1.1 skrll /* 0010 1100 ssN0 dddd *** exb rbd,@rs */
1296 1.1 skrll {
1297 1.1 skrll #ifdef NICENAMES
1298 1.1 skrll "exb rbd,@rs",8,12,0x00,
1299 1.1 skrll #endif
1300 1.1 skrll "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1301 1.1 skrll {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,47},
1302 1.1 skrll
1303 1.1 skrll /* 0110 1100 0000 dddd address_src *** exb rbd,address_src */
1304 1.1 skrll {
1305 1.1 skrll #ifdef NICENAMES
1306 1.1 skrll "exb rbd,address_src",8,15,0x00,
1307 1.1 skrll #endif
1308 1.1 skrll "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
1309 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,47},
1310 1.1 skrll
1311 1.1 skrll /* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */
1312 1.1 skrll {
1313 1.1 skrll #ifdef NICENAMES
1314 1.1 skrll "exb rbd,address_src(rs)",8,16,0x00,
1315 1.1 skrll #endif
1316 1.1 skrll "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
1317 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,47},
1318 1.1 skrll
1319 1.1 skrll /* 1010 1100 ssss dddd *** exb rbd,rbs */
1320 1.1 skrll {
1321 1.1 skrll #ifdef NICENAMES
1322 1.1 skrll "exb rbd,rbs",8,6,0x00,
1323 1.1 skrll #endif
1324 1.1 skrll "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1325 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,47},
1326 1.1 skrll
1327 1.1 skrll /* 0000 1110 imm8 *** ext0e imm8 */
1328 1.1 skrll {
1329 1.1 skrll #ifdef NICENAMES
1330 1.1 skrll "ext0e imm8",8,10,0x00,
1331 1.1 skrll #endif
1332 1.1 skrll "ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),},
1333 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,48},
1334 1.1 skrll
1335 1.1 skrll /* 0000 1111 imm8 *** ext0f imm8 */
1336 1.1 skrll {
1337 1.1 skrll #ifdef NICENAMES
1338 1.1 skrll "ext0f imm8",8,10,0x00,
1339 1.1 skrll #endif
1340 1.1 skrll "ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),},
1341 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,49},
1342 1.1 skrll
1343 1.1 skrll /* 1000 1110 imm8 *** ext8e imm8 */
1344 1.1 skrll {
1345 1.1 skrll #ifdef NICENAMES
1346 1.1 skrll "ext8e imm8",8,10,0x00,
1347 1.1 skrll #endif
1348 1.1 skrll "ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),},
1349 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,50},
1350 1.1 skrll
1351 1.1 skrll /* 1000 1111 imm8 *** ext8f imm8 */
1352 1.1 skrll {
1353 1.1 skrll #ifdef NICENAMES
1354 1.1 skrll "ext8f imm8",8,10,0x00,
1355 1.1 skrll #endif
1356 1.1 skrll "ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),},
1357 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,51},
1358 1.1 skrll
1359 1.1 skrll /* 1011 0001 dddd 1010 *** exts rrd */
1360 1.1 skrll {
1361 1.1 skrll #ifdef NICENAMES
1362 1.1 skrll "exts rrd",16,11,0x00,
1363 1.1 skrll #endif
1364 1.1 skrll "exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),},
1365 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,52},
1366 1.1 skrll
1367 1.1 skrll /* 1011 0001 dddd 0000 *** extsb rd */
1368 1.1 skrll {
1369 1.1 skrll #ifdef NICENAMES
1370 1.1 skrll "extsb rd",8,11,0x00,
1371 1.1 skrll #endif
1372 1.1 skrll "extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),},
1373 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},
1374 1.1 skrll
1375 1.1 skrll /* 1011 0001 dddd 0111 *** extsl rqd */
1376 1.1 skrll {
1377 1.1 skrll #ifdef NICENAMES
1378 1.1 skrll "extsl rqd",32,11,0x00,
1379 1.1 skrll #endif
1380 1.1 skrll "extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),},
1381 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,54},
1382 1.1 skrll
1383 1.1 skrll /* 0111 1010 0000 0000 *** halt */
1384 1.1 skrll {
1385 1.1 skrll #ifdef NICENAMES
1386 1.1 skrll "halt",16,8,0x00,
1387 1.1 skrll #endif
1388 1.1 skrll "halt",OPC_halt,0,{0},
1389 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,55},
1390 1.1 skrll
1391 1.1 skrll /* 0011 1101 ssss dddd *** in rd,@ri */
1392 1.1 skrll {
1393 1.1 skrll #ifdef NICENAMES
1394 1.1 skrll "in rd,@ri",16,10,0x00,
1395 1.1 skrll #endif
1396 1.1 skrll "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IRO+(ARG_RS),},
1397 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,56},
1398 1.1 skrll
1399 1.1 skrll /* 0011 1011 dddd 0100 imm16 *** in rd,imm16 */
1400 1.1 skrll {
1401 1.1 skrll #ifdef NICENAMES
1402 1.1 skrll "in rd,imm16",16,12,0x00,
1403 1.1 skrll #endif
1404 1.1 skrll "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1405 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,56},
1406 1.1 skrll
1407 1.1 skrll /* 0011 1100 ssss dddd *** inb rbd,@ri */
1408 1.1 skrll {
1409 1.1 skrll #ifdef NICENAMES
1410 1.1 skrll "inb rbd,@ri",8,12,0x00,
1411 1.1 skrll #endif
1412 1.1 skrll "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IRO+(ARG_RS),},
1413 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,57},
1414 1.1 skrll
1415 1.1 skrll /* 0011 1010 dddd 0100 imm16 *** inb rbd,imm16 */
1416 1.1 skrll {
1417 1.1 skrll #ifdef NICENAMES
1418 1.1 skrll "inb rbd,imm16",8,10,0x00,
1419 1.1 skrll #endif
1420 1.1 skrll "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1421 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,57},
1422 1.1 skrll
1423 1.1 skrll /* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */
1424 1.1 skrll {
1425 1.1 skrll #ifdef NICENAMES
1426 1.1 skrll "inc @rd,imm4m1",16,11,0x1c,
1427 1.1 skrll #endif
1428 1.1 skrll "inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1429 1.1 skrll {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,58},
1430 1.1 skrll
1431 1.1 skrll /* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */
1432 1.1 skrll {
1433 1.1 skrll #ifdef NICENAMES
1434 1.1 skrll "inc address_dst(rd),imm4m1",16,14,0x1c,
1435 1.1 skrll #endif
1436 1.1 skrll "inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1437 1.1 skrll {CLASS_BIT+6,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,58},
1438 1.1 skrll
1439 1.1 skrll /* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */
1440 1.1 skrll {
1441 1.1 skrll #ifdef NICENAMES
1442 1.1 skrll "inc address_dst,imm4m1",16,13,0x1c,
1443 1.1 skrll #endif
1444 1.1 skrll "inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1445 1.1 skrll {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,58},
1446 1.1 skrll
1447 1.1 skrll /* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */
1448 1.1 skrll {
1449 1.1 skrll #ifdef NICENAMES
1450 1.1 skrll "inc rd,imm4m1",16,4,0x1c,
1451 1.1 skrll #endif
1452 1.1 skrll "inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1453 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,58},
1454 1.1 skrll
1455 1.1 skrll /* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */
1456 1.1 skrll {
1457 1.1 skrll #ifdef NICENAMES
1458 1.1 skrll "incb @rd,imm4m1",8,11,0x1c,
1459 1.1 skrll #endif
1460 1.1 skrll "incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1461 1.1 skrll {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,59},
1462 1.1 skrll
1463 1.1 skrll /* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */
1464 1.1 skrll {
1465 1.1 skrll #ifdef NICENAMES
1466 1.1 skrll "incb address_dst(rd),imm4m1",8,14,0x1c,
1467 1.1 skrll #endif
1468 1.1 skrll "incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1469 1.1 skrll {CLASS_BIT+6,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,59},
1470 1.1 skrll
1471 1.1 skrll /* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */
1472 1.1 skrll {
1473 1.1 skrll #ifdef NICENAMES
1474 1.1 skrll "incb address_dst,imm4m1",8,13,0x1c,
1475 1.1 skrll #endif
1476 1.1 skrll "incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1477 1.1 skrll {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,59},
1478 1.1 skrll
1479 1.1 skrll /* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */
1480 1.1 skrll {
1481 1.1 skrll #ifdef NICENAMES
1482 1.1 skrll "incb rbd,imm4m1",8,4,0x1c,
1483 1.1 skrll #endif
1484 1.1 skrll "incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1485 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,59},
1486 1.1 skrll
1487 1.1 skrll /* 0011 1011 ssss 1000 0000 aaaa ddN0 1000 *** ind @rd,@ri,ra */
1488 1.1 skrll {
1489 1.1 skrll #ifdef NICENAMES
1490 1.1 skrll "ind @rd,@ri,ra",16,21,0x04,
1491 1.1 skrll #endif
1492 1.1 skrll "ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1493 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,60},
1494 1.1 skrll
1495 1.1 skrll /* 0011 1010 ssss 1000 0000 aaaa ddN0 1000 *** indb @rd,@ri,ra */
1496 1.1 skrll {
1497 1.1 skrll #ifdef NICENAMES
1498 1.1 skrll "indb @rd,@ri,ra",8,21,0x04,
1499 1.1 skrll #endif
1500 1.1 skrll "indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1501 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,61},
1502 1.1 skrll
1503 1.1 skrll /* 0011 1011 ssss 1000 0000 aaaa ddN0 0000 *** indr @rd,@ri,ra */
1504 1.1 skrll {
1505 1.1 skrll #ifdef NICENAMES
1506 1.1 skrll "indr @rd,@ri,ra",16,11,0x04,
1507 1.1 skrll #endif
1508 1.1 skrll "indr",OPC_indr,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1509 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,62},
1510 1.1 skrll
1511 1.1 skrll /* 0011 1010 ssss 1000 0000 aaaa ddN0 0000 *** indrb @rd,@ri,ra */
1512 1.1 skrll {
1513 1.1 skrll #ifdef NICENAMES
1514 1.1 skrll "indrb @rd,@ri,ra",8,11,0x04,
1515 1.1 skrll #endif
1516 1.1 skrll "indrb",OPC_indrb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1517 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,63},
1518 1.1 skrll
1519 1.1 skrll /* 0011 1011 ssss 0000 0000 aaaa ddN0 1000 *** ini @rd,@ri,ra */
1520 1.1 skrll {
1521 1.1 skrll #ifdef NICENAMES
1522 1.1 skrll "ini @rd,@ri,ra",16,21,0x04,
1523 1.1 skrll #endif
1524 1.1 skrll "ini",OPC_ini,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1525 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,64},
1526 1.1 skrll
1527 1.1 skrll /* 0011 1010 ssss 0000 0000 aaaa ddN0 1000 *** inib @rd,@ri,ra */
1528 1.1 skrll {
1529 1.1 skrll #ifdef NICENAMES
1530 1.1 skrll "inib @rd,@ri,ra",8,21,0x04,
1531 1.1 skrll #endif
1532 1.1 skrll "inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1533 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,65},
1534 1.1 skrll
1535 1.1 skrll /* 0011 1011 ssss 0000 0000 aaaa ddN0 0000 *** inir @rd,@ri,ra */
1536 1.1 skrll {
1537 1.1 skrll #ifdef NICENAMES
1538 1.1 skrll "inir @rd,@ri,ra",16,11,0x04,
1539 1.1 skrll #endif
1540 1.1 skrll "inir",OPC_inir,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1541 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,66},
1542 1.1 skrll
1543 1.1 skrll /* 0011 1010 ssss 0000 0000 aaaa ddN0 0000 *** inirb @rd,@ri,ra */
1544 1.1 skrll {
1545 1.1 skrll #ifdef NICENAMES
1546 1.1 skrll "inirb @rd,@ri,ra",8,11,0x04,
1547 1.1 skrll #endif
1548 1.1 skrll "inirb",OPC_inirb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1549 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,67},
1550 1.1 skrll
1551 1.1 skrll /* 0111 1011 0000 0000 *** iret */
1552 1.1 skrll {
1553 1.1 skrll #ifdef NICENAMES
1554 1.1 skrll "iret",16,13,0x3f,
1555 1.1 skrll #endif
1556 1.1 skrll "iret",OPC_iret,0,{0},
1557 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,68},
1558 1.1 skrll
1559 1.1 skrll /* 0001 1110 ddN0 cccc *** jp cc,@rd */
1560 1.1 skrll {
1561 1.1 skrll #ifdef NICENAMES
1562 1.1 skrll "jp cc,@rd",16,10,0x00,
1563 1.1 skrll #endif
1564 1.1 skrll "jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),},
1565 1.1 skrll {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,69},
1566 1.1 skrll
1567 1.1 skrll /* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */
1568 1.1 skrll {
1569 1.1 skrll #ifdef NICENAMES
1570 1.1 skrll "jp cc,address_dst",16,7,0x00,
1571 1.1 skrll #endif
1572 1.1 skrll "jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),},
1573 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,69},
1574 1.1 skrll
1575 1.1 skrll /* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */
1576 1.1 skrll {
1577 1.1 skrll #ifdef NICENAMES
1578 1.1 skrll "jp cc,address_dst(rd)",16,8,0x00,
1579 1.1 skrll #endif
1580 1.1 skrll "jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),},
1581 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,69},
1582 1.1 skrll
1583 1.1 skrll /* 1110 cccc disp8 *** jr cc,disp8 */
1584 1.1 skrll {
1585 1.1 skrll #ifdef NICENAMES
1586 1.1 skrll "jr cc,disp8",16,6,0x00,
1587 1.1 skrll #endif
1588 1.1 skrll "jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,},
1589 1.1 skrll {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,70},
1590 1.1 skrll
1591 1.1 skrll /* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */
1592 1.1 skrll {
1593 1.1 skrll #ifdef NICENAMES
1594 1.1 skrll "ld @rd,imm16",16,7,0x00,
1595 1.1 skrll #endif
1596 1.1 skrll "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1597 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
1598 1.1 skrll
1599 1.1 skrll /* 0010 1111 ddN0 ssss *** ld @rd,rs */
1600 1.1 skrll {
1601 1.1 skrll #ifdef NICENAMES
1602 1.1 skrll "ld @rd,rs",16,8,0x00,
1603 1.1 skrll #endif
1604 1.1 skrll "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1605 1.1 skrll {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,71},
1606 1.1 skrll
1607 1.1 skrll /* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */
1608 1.1 skrll {
1609 1.1 skrll #ifdef NICENAMES
1610 1.1 skrll "ld address_dst(rd),imm16",16,15,0x00,
1611 1.1 skrll #endif
1612 1.1 skrll "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1613 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,71},
1614 1.1 skrll
1615 1.1 skrll /* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */
1616 1.1 skrll {
1617 1.1 skrll #ifdef NICENAMES
1618 1.1 skrll "ld address_dst(rd),rs",16,12,0x00,
1619 1.1 skrll #endif
1620 1.1 skrll "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1621 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,71},
1622 1.1 skrll
1623 1.1 skrll /* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */
1624 1.1 skrll {
1625 1.1 skrll #ifdef NICENAMES
1626 1.1 skrll "ld address_dst,imm16",16,14,0x00,
1627 1.1 skrll #endif
1628 1.1 skrll "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
1629 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,71},
1630 1.1 skrll
1631 1.1 skrll /* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */
1632 1.1 skrll {
1633 1.1 skrll #ifdef NICENAMES
1634 1.1 skrll "ld address_dst,rs",16,11,0x00,
1635 1.1 skrll #endif
1636 1.1 skrll "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),},
1637 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,71},
1638 1.1 skrll
1639 1.1 skrll /* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */
1640 1.1 skrll {
1641 1.1 skrll #ifdef NICENAMES
1642 1.1 skrll "ld rd(imm16),rs",16,14,0x00,
1643 1.1 skrll #endif
1644 1.1 skrll "ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1645 1.1 skrll {CLASS_BIT+3,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
1646 1.1 skrll
1647 1.1 skrll /* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */
1648 1.1 skrll {
1649 1.1 skrll #ifdef NICENAMES
1650 1.1 skrll "ld rd(rx),rs",16,14,0x00,
1651 1.1 skrll #endif
1652 1.1 skrll "ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1653 1.1 skrll {CLASS_BIT+7,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,71},
1654 1.1 skrll
1655 1.1 skrll /* 0010 0001 ssN0 dddd *** ld rd,@rs */
1656 1.1 skrll {
1657 1.1 skrll #ifdef NICENAMES
1658 1.1 skrll "ld rd,@rs",16,7,0x00,
1659 1.1 skrll #endif
1660 1.1 skrll "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1661 1.1 skrll {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,71},
1662 1.1 skrll
1663 1.1 skrll /* 0110 0001 0000 dddd address_src *** ld rd,address_src */
1664 1.1 skrll {
1665 1.1 skrll #ifdef NICENAMES
1666 1.1 skrll "ld rd,address_src",16,9,0x00,
1667 1.1 skrll #endif
1668 1.1 skrll "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1669 1.1 skrll {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
1670 1.1 skrll
1671 1.1 skrll /* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */
1672 1.1 skrll {
1673 1.1 skrll #ifdef NICENAMES
1674 1.1 skrll "ld rd,address_src(rs)",16,10,0x00,
1675 1.1 skrll #endif
1676 1.1 skrll "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1677 1.1 skrll {CLASS_BIT+6,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
1678 1.1 skrll
1679 1.1 skrll /* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */
1680 1.1 skrll {
1681 1.1 skrll #ifdef NICENAMES
1682 1.1 skrll "ld rd,imm16",16,7,0x00,
1683 1.1 skrll #endif
1684 1.1 skrll "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1685 1.1 skrll {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
1686 1.1 skrll
1687 1.1 skrll /* 1010 0001 ssss dddd *** ld rd,rs */
1688 1.1 skrll {
1689 1.1 skrll #ifdef NICENAMES
1690 1.1 skrll "ld rd,rs",16,3,0x00,
1691 1.1 skrll #endif
1692 1.1 skrll "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1693 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,71},
1694 1.1 skrll
1695 1.1 skrll /* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */
1696 1.1 skrll {
1697 1.1 skrll #ifdef NICENAMES
1698 1.1 skrll "ld rd,rs(imm16)",16,14,0x00,
1699 1.1 skrll #endif
1700 1.1 skrll "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
1701 1.1 skrll {CLASS_BIT+3,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
1702 1.1 skrll
1703 1.1 skrll /* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */
1704 1.1 skrll {
1705 1.1 skrll #ifdef NICENAMES
1706 1.1 skrll "ld rd,rs(rx)",16,14,0x00,
1707 1.1 skrll #endif
1708 1.1 skrll "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
1709 1.1 skrll {CLASS_BIT+7,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,71},
1710 1.1 skrll
1711 1.1 skrll /* 0111 0110 0000 dddd address_src *** lda prd,address_src */
1712 1.1 skrll {
1713 1.1 skrll #ifdef NICENAMES
1714 1.1 skrll "lda prd,address_src",16,12,0x00,
1715 1.1 skrll #endif
1716 1.1 skrll "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_DA+(ARG_SRC),},
1717 1.1 skrll {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
1718 1.1 skrll
1719 1.1 skrll /* 0111 0110 ssN0 dddd address_src *** lda prd,address_src(rs) */
1720 1.1 skrll {
1721 1.1 skrll #ifdef NICENAMES
1722 1.1 skrll "lda prd,address_src(rs)",16,13,0x00,
1723 1.1 skrll #endif
1724 1.1 skrll "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_X+(ARG_RS),},
1725 1.1 skrll {CLASS_BIT+7,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
1726 1.1 skrll
1727 1.1 skrll /* 0011 0100 ssN0 dddd imm16 *** lda prd,rs(imm16) */
1728 1.1 skrll {
1729 1.1 skrll #ifdef NICENAMES
1730 1.1 skrll "lda prd,rs(imm16)",16,15,0x00,
1731 1.1 skrll #endif
1732 1.1 skrll "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BA+(ARG_RS),},
1733 1.1 skrll {CLASS_BIT+3,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,72},
1734 1.1 skrll
1735 1.1 skrll /* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda prd,rs(rx) */
1736 1.1 skrll {
1737 1.1 skrll #ifdef NICENAMES
1738 1.1 skrll "lda prd,rs(rx)",16,15,0x00,
1739 1.1 skrll #endif
1740 1.1 skrll "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BX+(ARG_RS),},
1741 1.1 skrll {CLASS_BIT+7,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,72},
1742 1.1 skrll
1743 1.1 skrll /* 0011 0100 0000 dddd disp16 *** ldar prd,disp16 */
1744 1.1 skrll {
1745 1.1 skrll #ifdef NICENAMES
1746 1.1 skrll "ldar prd,disp16",16,15,0x00,
1747 1.1 skrll #endif
1748 1.1 skrll "ldar",OPC_ldar,0,{CLASS_PR+(ARG_RD),CLASS_DISP,},
1749 1.1 skrll {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,73},
1750 1.1 skrll
1751 1.1 skrll /* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */
1752 1.1 skrll {
1753 1.1 skrll #ifdef NICENAMES
1754 1.1 skrll "ldb @rd,imm8",8,7,0x00,
1755 1.1 skrll #endif
1756 1.1 skrll "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
1757 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,74},
1758 1.1 skrll
1759 1.1 skrll /* 0010 1110 ddN0 ssss *** ldb @rd,rbs */
1760 1.1 skrll {
1761 1.1 skrll #ifdef NICENAMES
1762 1.1 skrll "ldb @rd,rbs",8,8,0x00,
1763 1.1 skrll #endif
1764 1.1 skrll "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1765 1.1 skrll {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,74},
1766 1.1 skrll
1767 1.1 skrll /* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */
1768 1.1 skrll {
1769 1.1 skrll #ifdef NICENAMES
1770 1.1 skrll "ldb address_dst(rd),imm8",8,15,0x00,
1771 1.1 skrll #endif
1772 1.1 skrll "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
1773 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,74},
1774 1.1 skrll
1775 1.1 skrll /* 0110 1110 ddN0 ssss address_dst *** ldb address_dst(rd),rbs */
1776 1.1 skrll {
1777 1.1 skrll #ifdef NICENAMES
1778 1.1 skrll "ldb address_dst(rd),rbs",8,12,0x00,
1779 1.1 skrll #endif
1780 1.1 skrll "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1781 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,74},
1782 1.1 skrll
1783 1.1 skrll /* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */
1784 1.1 skrll {
1785 1.1 skrll #ifdef NICENAMES
1786 1.1 skrll "ldb address_dst,imm8",8,14,0x00,
1787 1.1 skrll #endif
1788 1.1 skrll "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
1789 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,74},
1790 1.1 skrll
1791 1.1 skrll /* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */
1792 1.1 skrll {
1793 1.1 skrll #ifdef NICENAMES
1794 1.1 skrll "ldb address_dst,rbs",8,11,0x00,
1795 1.1 skrll #endif
1796 1.1 skrll "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),},
1797 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,74},
1798 1.1 skrll
1799 1.1 skrll /* 0010 0000 ssN0 dddd *** ldb rbd,@rs */
1800 1.1 skrll {
1801 1.1 skrll #ifdef NICENAMES
1802 1.1 skrll "ldb rbd,@rs",8,7,0x00,
1803 1.1 skrll #endif
1804 1.1 skrll "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1805 1.1 skrll {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
1806 1.1 skrll
1807 1.1 skrll /* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */
1808 1.1 skrll {
1809 1.1 skrll #ifdef NICENAMES
1810 1.1 skrll "ldb rbd,address_src",8,9,0x00,
1811 1.1 skrll #endif
1812 1.1 skrll "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
1813 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,74},
1814 1.1 skrll
1815 1.1 skrll /* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */
1816 1.1 skrll {
1817 1.1 skrll #ifdef NICENAMES
1818 1.1 skrll "ldb rbd,address_src(rs)",8,10,0x00,
1819 1.1 skrll #endif
1820 1.1 skrll "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
1821 1.1 skrll {CLASS_BIT+6,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,74},
1822 1.1 skrll
1823 1.1 skrll /* 1100 dddd imm8 *** ldb rbd,imm8 */
1824 1.1 skrll {
1825 1.1 skrll #ifdef NICENAMES
1826 1.1 skrll "ldb rbd,imm8",8,5,0x00,
1827 1.1 skrll #endif
1828 1.1 skrll "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
1829 1.1 skrll {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,74},
1830 1.1 skrll
1831 1.1 skrll /* 0010 0000 0000 dddd imm8 imm8 *** ldb rbd,imm8 */
1832 1.1 skrll {
1833 1.1 skrll #ifdef NICENAMES
1834 1.1 skrll "ldb rbd,imm8",8,7,0x00,
1835 1.1 skrll #endif
1836 1.1 skrll "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
1837 1.1 skrll {CLASS_BIT+2,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,74},
1838 1.1 skrll
1839 1.1 skrll /* 1010 0000 ssss dddd *** ldb rbd,rbs */
1840 1.1 skrll {
1841 1.1 skrll #ifdef NICENAMES
1842 1.1 skrll "ldb rbd,rbs",8,3,0x00,
1843 1.1 skrll #endif
1844 1.1 skrll "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1845 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
1846 1.1 skrll
1847 1.1 skrll /* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */
1848 1.1 skrll {
1849 1.1 skrll #ifdef NICENAMES
1850 1.1 skrll "ldb rbd,rs(imm16)",8,14,0x00,
1851 1.1 skrll #endif
1852 1.1 skrll "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),},
1853 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,74},
1854 1.1 skrll
1855 1.1 skrll /* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */
1856 1.1 skrll {
1857 1.1 skrll #ifdef NICENAMES
1858 1.1 skrll "ldb rbd,rs(rx)",8,14,0x00,
1859 1.1 skrll #endif
1860 1.1 skrll "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),},
1861 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,74},
1862 1.1 skrll
1863 1.1 skrll /* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */
1864 1.1 skrll {
1865 1.1 skrll #ifdef NICENAMES
1866 1.1 skrll "ldb rd(imm16),rbs",8,14,0x00,
1867 1.1 skrll #endif
1868 1.1 skrll "ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1869 1.1 skrll {CLASS_BIT+3,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,74},
1870 1.1 skrll
1871 1.1 skrll /* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */
1872 1.1 skrll {
1873 1.1 skrll #ifdef NICENAMES
1874 1.1 skrll "ldb rd(rx),rbs",8,14,0x00,
1875 1.1 skrll #endif
1876 1.1 skrll "ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1877 1.1 skrll {CLASS_BIT+7,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,74},
1878 1.1 skrll
1879 1.1 skrll /* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */
1880 1.1 skrll {
1881 1.1 skrll #ifdef NICENAMES
1882 1.1 skrll "ldctl ctrl,rs",32,7,0x00,
1883 1.1 skrll #endif
1884 1.1 skrll "ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),},
1885 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,75},
1886 1.1 skrll
1887 1.1 skrll /* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */
1888 1.1 skrll {
1889 1.1 skrll #ifdef NICENAMES
1890 1.1 skrll "ldctl rd,ctrl",32,7,0x00,
1891 1.1 skrll #endif
1892 1.1 skrll "ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,},
1893 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,75},
1894 1.1 skrll
1895 1.1 skrll /* 1000 1100 ssss 1001 *** ldctlb ctrl,rbs */
1896 1.1 skrll {
1897 1.1 skrll #ifdef NICENAMES
1898 1.1 skrll "ldctlb ctrl,rbs",32,7,0x3f,
1899 1.1 skrll #endif
1900 1.1 skrll "ldctlb",OPC_ldctlb,0,{CLASS_CTRL,CLASS_REG_BYTE+(ARG_RS),},
1901 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_BIT+9,0,0,0,0,0,},2,2,76},
1902 1.1 skrll
1903 1.1 skrll /* 1000 1100 dddd 0001 *** ldctlb rbd,ctrl */
1904 1.1 skrll {
1905 1.1 skrll #ifdef NICENAMES
1906 1.1 skrll "ldctlb rbd,ctrl",32,7,0x00,
1907 1.1 skrll #endif
1908 1.1 skrll "ldctlb",OPC_ldctlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_CTRL,},
1909 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+1,0,0,0,0,0,},2,2,76},
1910 1.1 skrll
1911 1.1 skrll /* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rd,@rs,rr */
1912 1.1 skrll {
1913 1.1 skrll #ifdef NICENAMES
1914 1.1 skrll "ldd @rd,@rs,rr",16,11,0x04,
1915 1.1 skrll #endif
1916 1.1 skrll "ldd",OPC_ldd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1917 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,77},
1918 1.1 skrll
1919 1.1 skrll /* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rd,@rs,rr */
1920 1.1 skrll {
1921 1.1 skrll #ifdef NICENAMES
1922 1.1 skrll "lddb @rd,@rs,rr",8,11,0x04,
1923 1.1 skrll #endif
1924 1.1 skrll "lddb",OPC_lddb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1925 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,78},
1926 1.1 skrll
1927 1.1 skrll /* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rd,@rs,rr */
1928 1.1 skrll {
1929 1.1 skrll #ifdef NICENAMES
1930 1.1 skrll "lddr @rd,@rs,rr",16,11,0x04,
1931 1.1 skrll #endif
1932 1.1 skrll "lddr",OPC_lddr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1933 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,79},
1934 1.1 skrll
1935 1.1 skrll /* 1011 1010 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rd,@rs,rr */
1936 1.1 skrll {
1937 1.1 skrll #ifdef NICENAMES
1938 1.1 skrll "lddrb @rd,@rs,rr",8,11,0x04,
1939 1.1 skrll #endif
1940 1.1 skrll "lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1941 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,80},
1942 1.1 skrll
1943 1.1 skrll /* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */
1944 1.1 skrll {
1945 1.1 skrll #ifdef NICENAMES
1946 1.1 skrll "ldi @rd,@rs,rr",16,11,0x04,
1947 1.1 skrll #endif
1948 1.1 skrll "ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1949 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,81},
1950 1.1 skrll
1951 1.1 skrll /* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */
1952 1.1 skrll {
1953 1.1 skrll #ifdef NICENAMES
1954 1.1 skrll "ldib @rd,@rs,rr",8,11,0x04,
1955 1.1 skrll #endif
1956 1.1 skrll "ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1957 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,82},
1958 1.1 skrll
1959 1.1 skrll /* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */
1960 1.1 skrll {
1961 1.1 skrll #ifdef NICENAMES
1962 1.1 skrll "ldir @rd,@rs,rr",16,11,0x04,
1963 1.1 skrll #endif
1964 1.1 skrll "ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1965 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,83},
1966 1.1 skrll
1967 1.1 skrll /* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */
1968 1.1 skrll {
1969 1.1 skrll #ifdef NICENAMES
1970 1.1 skrll "ldirb @rd,@rs,rr",8,11,0x04,
1971 1.1 skrll #endif
1972 1.1 skrll "ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1973 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,84},
1974 1.1 skrll
1975 1.1 skrll /* 1011 1101 dddd imm4 *** ldk rd,imm4 */
1976 1.1 skrll {
1977 1.1 skrll #ifdef NICENAMES
1978 1.1 skrll "ldk rd,imm4",16,5,0x00,
1979 1.1 skrll #endif
1980 1.1 skrll "ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
1981 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,85},
1982 1.1 skrll
1983 1.1 skrll /* 0001 1101 ddN0 ssss *** ldl @rd,rrs */
1984 1.1 skrll {
1985 1.1 skrll #ifdef NICENAMES
1986 1.1 skrll "ldl @rd,rrs",32,11,0x00,
1987 1.1 skrll #endif
1988 1.1 skrll "ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1989 1.1 skrll {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,86},
1990 1.1 skrll
1991 1.1 skrll /* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */
1992 1.1 skrll {
1993 1.1 skrll #ifdef NICENAMES
1994 1.1 skrll "ldl address_dst(rd),rrs",32,14,0x00,
1995 1.1 skrll #endif
1996 1.1 skrll "ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1997 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,86},
1998 1.1 skrll
1999 1.1 skrll /* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */
2000 1.1 skrll {
2001 1.1 skrll #ifdef NICENAMES
2002 1.1 skrll "ldl address_dst,rrs",32,15,0x00,
2003 1.1 skrll #endif
2004 1.1 skrll "ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),},
2005 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,86},
2006 1.1 skrll
2007 1.1 skrll /* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */
2008 1.1 skrll {
2009 1.1 skrll #ifdef NICENAMES
2010 1.1 skrll "ldl rd(imm16),rrs",32,17,0x00,
2011 1.1 skrll #endif
2012 1.1 skrll "ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2013 1.1 skrll {CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,86},
2014 1.1 skrll
2015 1.1 skrll /* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */
2016 1.1 skrll {
2017 1.1 skrll #ifdef NICENAMES
2018 1.1 skrll "ldl rd(rx),rrs",32,17,0x00,
2019 1.1 skrll #endif
2020 1.1 skrll "ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2021 1.1 skrll {CLASS_BIT+7,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,86},
2022 1.1 skrll
2023 1.1 skrll /* 0001 0100 ssN0 dddd *** ldl rrd,@rs */
2024 1.1 skrll {
2025 1.1 skrll #ifdef NICENAMES
2026 1.1 skrll "ldl rrd,@rs",32,11,0x00,
2027 1.1 skrll #endif
2028 1.1 skrll "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
2029 1.1 skrll {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,86},
2030 1.1 skrll
2031 1.1 skrll /* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */
2032 1.1 skrll {
2033 1.1 skrll #ifdef NICENAMES
2034 1.1 skrll "ldl rrd,address_src",32,12,0x00,
2035 1.1 skrll #endif
2036 1.1 skrll "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
2037 1.1 skrll {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,86},
2038 1.1 skrll
2039 1.1 skrll /* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */
2040 1.1 skrll {
2041 1.1 skrll #ifdef NICENAMES
2042 1.1 skrll "ldl rrd,address_src(rs)",32,13,0x00,
2043 1.1 skrll #endif
2044 1.1 skrll "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
2045 1.1 skrll {CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,86},
2046 1.1 skrll
2047 1.1 skrll /* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */
2048 1.1 skrll {
2049 1.1 skrll #ifdef NICENAMES
2050 1.1 skrll "ldl rrd,imm32",32,11,0x00,
2051 1.1 skrll #endif
2052 1.1 skrll "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
2053 1.1 skrll {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86},
2054 1.1 skrll
2055 1.1 skrll /* 1001 0100 ssss dddd *** ldl rrd,rrs */
2056 1.1 skrll {
2057 1.1 skrll #ifdef NICENAMES
2058 1.1 skrll "ldl rrd,rrs",32,5,0x00,
2059 1.1 skrll #endif
2060 1.1 skrll "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2061 1.1 skrll {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,86},
2062 1.1 skrll
2063 1.1 skrll /* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */
2064 1.1 skrll {
2065 1.1 skrll #ifdef NICENAMES
2066 1.1 skrll "ldl rrd,rs(imm16)",32,17,0x00,
2067 1.1 skrll #endif
2068 1.1 skrll "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),},
2069 1.1 skrll {CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,86},
2070 1.1 skrll
2071 1.1 skrll /* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */
2072 1.1 skrll {
2073 1.1 skrll #ifdef NICENAMES
2074 1.1 skrll "ldl rrd,rs(rx)",32,17,0x00,
2075 1.1 skrll #endif
2076 1.1 skrll "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),},
2077 1.1 skrll {CLASS_BIT+7,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,86},
2078 1.1 skrll
2079 1.1 skrll /* 0001 1100 ddN0 1001 0000 ssss 0000 imm4m1 *** ldm @rd,rs,n */
2080 1.1 skrll {
2081 1.1 skrll #ifdef NICENAMES
2082 1.1 skrll "ldm @rd,rs,n",16,11,0x00,
2083 1.1 skrll #endif
2084 1.1 skrll "ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2085 1.1 skrll {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),0,},3,4,87},
2086 1.1 skrll
2087 1.1 skrll /* 0101 1100 ddN0 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst(rd),rs,n */
2088 1.1 skrll {
2089 1.1 skrll #ifdef NICENAMES
2090 1.1 skrll "ldm address_dst(rd),rs,n",16,15,0x00,
2091 1.1 skrll #endif
2092 1.1 skrll "ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2093 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),},3,6,87},
2094 1.1 skrll
2095 1.1 skrll /* 0101 1100 0000 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst,rs,n */
2096 1.1 skrll {
2097 1.1 skrll #ifdef NICENAMES
2098 1.1 skrll "ldm address_dst,rs,n",16,14,0x00,
2099 1.1 skrll #endif
2100 1.1 skrll "ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2101 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),},3,6,87},
2102 1.1 skrll
2103 1.1 skrll /* 0001 1100 ssN0 0001 0000 dddd 0000 imm4m1 *** ldm rd,@rs,n */
2104 1.1 skrll {
2105 1.1 skrll #ifdef NICENAMES
2106 1.1 skrll "ldm rd,@rs,n",16,11,0x00,
2107 1.1 skrll #endif
2108 1.1 skrll "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2109 1.1 skrll {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),0,},3,4,87},
2110 1.1 skrll
2111 1.1 skrll /* 0101 1100 ssN0 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src(rs),n */
2112 1.1 skrll {
2113 1.1 skrll #ifdef NICENAMES
2114 1.1 skrll "ldm rd,address_src(rs),n",16,15,0x00,
2115 1.1 skrll #endif
2116 1.1 skrll "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2117 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_SRC),},3,6,87},
2118 1.1 skrll
2119 1.1 skrll /* 0101 1100 0000 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src,n */
2120 1.1 skrll {
2121 1.1 skrll #ifdef NICENAMES
2122 1.1 skrll "ldm rd,address_src,n",16,14,0x00,
2123 1.1 skrll #endif
2124 1.1 skrll "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMM4M1),},
2125 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_SRC),},3,6,87},
2126 1.1 skrll
2127 1.1 skrll /* 0011 1001 ssN0 0000 *** ldps @rs */
2128 1.1 skrll {
2129 1.1 skrll #ifdef NICENAMES
2130 1.1 skrll "ldps @rs",16,12,0x3f,
2131 1.1 skrll #endif
2132 1.1 skrll "ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),},
2133 1.1 skrll {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,88},
2134 1.1 skrll
2135 1.1 skrll /* 0111 1001 0000 0000 address_src *** ldps address_src */
2136 1.1 skrll {
2137 1.1 skrll #ifdef NICENAMES
2138 1.1 skrll "ldps address_src",16,16,0x3f,
2139 1.1 skrll #endif
2140 1.1 skrll "ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),},
2141 1.1 skrll {CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,88},
2142 1.1 skrll
2143 1.1 skrll /* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */
2144 1.1 skrll {
2145 1.1 skrll #ifdef NICENAMES
2146 1.1 skrll "ldps address_src(rs)",16,17,0x3f,
2147 1.1 skrll #endif
2148 1.1 skrll "ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),},
2149 1.1 skrll {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,88},
2150 1.1 skrll
2151 1.1 skrll /* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */
2152 1.1 skrll {
2153 1.1 skrll #ifdef NICENAMES
2154 1.1 skrll "ldr disp16,rs",16,14,0x00,
2155 1.1 skrll #endif
2156 1.1 skrll "ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),},
2157 1.1 skrll {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,89},
2158 1.1 skrll
2159 1.1 skrll /* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */
2160 1.1 skrll {
2161 1.1 skrll #ifdef NICENAMES
2162 1.1 skrll "ldr rd,disp16",16,14,0x00,
2163 1.1 skrll #endif
2164 1.1 skrll "ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
2165 1.1 skrll {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,89},
2166 1.1 skrll
2167 1.1 skrll /* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */
2168 1.1 skrll {
2169 1.1 skrll #ifdef NICENAMES
2170 1.1 skrll "ldrb disp16,rbs",8,14,0x00,
2171 1.1 skrll #endif
2172 1.1 skrll "ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),},
2173 1.1 skrll {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,90},
2174 1.1 skrll
2175 1.1 skrll /* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */
2176 1.1 skrll {
2177 1.1 skrll #ifdef NICENAMES
2178 1.1 skrll "ldrb rbd,disp16",8,14,0x00,
2179 1.1 skrll #endif
2180 1.1 skrll "ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
2181 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,90},
2182 1.1 skrll
2183 1.1 skrll /* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */
2184 1.1 skrll {
2185 1.1 skrll #ifdef NICENAMES
2186 1.1 skrll "ldrl disp16,rrs",32,17,0x00,
2187 1.1 skrll #endif
2188 1.1 skrll "ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),},
2189 1.1 skrll {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,91},
2190 1.1 skrll
2191 1.1 skrll /* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */
2192 1.1 skrll {
2193 1.1 skrll #ifdef NICENAMES
2194 1.1 skrll "ldrl rrd,disp16",32,17,0x00,
2195 1.1 skrll #endif
2196 1.1 skrll "ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,},
2197 1.1 skrll {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,91},
2198 1.1 skrll
2199 1.1 skrll /* 0111 1011 0000 1010 *** mbit */
2200 1.1 skrll {
2201 1.1 skrll #ifdef NICENAMES
2202 1.1 skrll "mbit",16,7,0x38,
2203 1.1 skrll #endif
2204 1.1 skrll "mbit",OPC_mbit,0,{0},
2205 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,92},
2206 1.1 skrll
2207 1.1 skrll /* 0111 1011 dddd 1101 *** mreq rd */
2208 1.1 skrll {
2209 1.1 skrll #ifdef NICENAMES
2210 1.1 skrll "mreq rd",16,12,0x18,
2211 1.1 skrll #endif
2212 1.1 skrll "mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),},
2213 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,93},
2214 1.1 skrll
2215 1.1 skrll /* 0111 1011 0000 1001 *** mres */
2216 1.1 skrll {
2217 1.1 skrll #ifdef NICENAMES
2218 1.1 skrll "mres",16,5,0x00,
2219 1.1 skrll #endif
2220 1.1 skrll "mres",OPC_mres,0,{0},
2221 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,94},
2222 1.1 skrll
2223 1.1 skrll /* 0111 1011 0000 1000 *** mset */
2224 1.1 skrll {
2225 1.1 skrll #ifdef NICENAMES
2226 1.1 skrll "mset",16,5,0x00,
2227 1.1 skrll #endif
2228 1.1 skrll "mset",OPC_mset,0,{0},
2229 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,95},
2230 1.1 skrll
2231 1.1 skrll /* 0001 1001 ssN0 dddd *** mult rrd,@rs */
2232 1.1 skrll {
2233 1.1 skrll #ifdef NICENAMES
2234 1.1 skrll "mult rrd,@rs",16,70,0x3c,
2235 1.1 skrll #endif
2236 1.1 skrll "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
2237 1.1 skrll {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,96},
2238 1.1 skrll
2239 1.1 skrll /* 0101 1001 0000 dddd address_src *** mult rrd,address_src */
2240 1.1 skrll {
2241 1.1 skrll #ifdef NICENAMES
2242 1.1 skrll "mult rrd,address_src",16,70,0x3c,
2243 1.1 skrll #endif
2244 1.1 skrll "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
2245 1.1 skrll {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,96},
2246 1.1 skrll
2247 1.1 skrll /* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */
2248 1.1 skrll {
2249 1.1 skrll #ifdef NICENAMES
2250 1.1 skrll "mult rrd,address_src(rs)",16,70,0x3c,
2251 1.1 skrll #endif
2252 1.1 skrll "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
2253 1.1 skrll {CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,96},
2254 1.1 skrll
2255 1.1 skrll /* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */
2256 1.1 skrll {
2257 1.1 skrll #ifdef NICENAMES
2258 1.1 skrll "mult rrd,imm16",16,70,0x3c,
2259 1.1 skrll #endif
2260 1.1 skrll "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
2261 1.1 skrll {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,96},
2262 1.1 skrll
2263 1.1 skrll /* 1001 1001 ssss dddd *** mult rrd,rs */
2264 1.1 skrll {
2265 1.1 skrll #ifdef NICENAMES
2266 1.1 skrll "mult rrd,rs",16,70,0x3c,
2267 1.1 skrll #endif
2268 1.1 skrll "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2269 1.1 skrll {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,96},
2270 1.1 skrll
2271 1.1 skrll /* 0001 1000 ssN0 dddd *** multl rqd,@rs */
2272 1.1 skrll {
2273 1.1 skrll #ifdef NICENAMES
2274 1.1 skrll "multl rqd,@rs",32,282,0x3c,
2275 1.1 skrll #endif
2276 1.1 skrll "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
2277 1.1 skrll {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,97},
2278 1.1 skrll
2279 1.1 skrll /* 0101 1000 0000 dddd address_src *** multl rqd,address_src */
2280 1.1 skrll {
2281 1.1 skrll #ifdef NICENAMES
2282 1.1 skrll "multl rqd,address_src",32,282,0x3c,
2283 1.1 skrll #endif
2284 1.1 skrll "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
2285 1.1 skrll {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,97},
2286 1.1 skrll
2287 1.1 skrll /* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */
2288 1.1 skrll {
2289 1.1 skrll #ifdef NICENAMES
2290 1.1 skrll "multl rqd,address_src(rs)",32,282,0x3c,
2291 1.1 skrll #endif
2292 1.1 skrll "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
2293 1.1 skrll {CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,97},
2294 1.1 skrll
2295 1.1 skrll /* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */
2296 1.1 skrll {
2297 1.1 skrll #ifdef NICENAMES
2298 1.1 skrll "multl rqd,imm32",32,282,0x3c,
2299 1.1 skrll #endif
2300 1.1 skrll "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
2301 1.1 skrll {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,97},
2302 1.1 skrll
2303 1.1 skrll /* 1001 1000 ssss dddd *** multl rqd,rrs */
2304 1.1 skrll {
2305 1.1 skrll #ifdef NICENAMES
2306 1.1 skrll "multl rqd,rrs",32,282,0x3c,
2307 1.1 skrll #endif
2308 1.1 skrll "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2309 1.1 skrll {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,97},
2310 1.1 skrll
2311 1.1 skrll /* 0000 1101 ddN0 0010 *** neg @rd */
2312 1.1 skrll {
2313 1.1 skrll #ifdef NICENAMES
2314 1.1 skrll "neg @rd",16,12,0x3c,
2315 1.1 skrll #endif
2316 1.1 skrll "neg",OPC_neg,0,{CLASS_IR+(ARG_RD),},
2317 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,98},
2318 1.1 skrll
2319 1.1 skrll /* 0100 1101 0000 0010 address_dst *** neg address_dst */
2320 1.1 skrll {
2321 1.1 skrll #ifdef NICENAMES
2322 1.1 skrll "neg address_dst",16,15,0x3c,
2323 1.1 skrll #endif
2324 1.1 skrll "neg",OPC_neg,0,{CLASS_DA+(ARG_DST),},
2325 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,98},
2326 1.1 skrll
2327 1.1 skrll /* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */
2328 1.1 skrll {
2329 1.1 skrll #ifdef NICENAMES
2330 1.1 skrll "neg address_dst(rd)",16,16,0x3c,
2331 1.1 skrll #endif
2332 1.1 skrll "neg",OPC_neg,0,{CLASS_X+(ARG_RD),},
2333 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,98},
2334 1.1 skrll
2335 1.1 skrll /* 1000 1101 dddd 0010 *** neg rd */
2336 1.1 skrll {
2337 1.1 skrll #ifdef NICENAMES
2338 1.1 skrll "neg rd",16,7,0x3c,
2339 1.1 skrll #endif
2340 1.1 skrll "neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),},
2341 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,98},
2342 1.1 skrll
2343 1.1 skrll /* 0000 1100 ddN0 0010 *** negb @rd */
2344 1.1 skrll {
2345 1.1 skrll #ifdef NICENAMES
2346 1.1 skrll "negb @rd",8,12,0x3c,
2347 1.1 skrll #endif
2348 1.1 skrll "negb",OPC_negb,0,{CLASS_IR+(ARG_RD),},
2349 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,99},
2350 1.1 skrll
2351 1.1 skrll /* 0100 1100 0000 0010 address_dst *** negb address_dst */
2352 1.1 skrll {
2353 1.1 skrll #ifdef NICENAMES
2354 1.1 skrll "negb address_dst",8,15,0x3c,
2355 1.1 skrll #endif
2356 1.1 skrll "negb",OPC_negb,0,{CLASS_DA+(ARG_DST),},
2357 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,99},
2358 1.1 skrll
2359 1.1 skrll /* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */
2360 1.1 skrll {
2361 1.1 skrll #ifdef NICENAMES
2362 1.1 skrll "negb address_dst(rd)",8,16,0x3c,
2363 1.1 skrll #endif
2364 1.1 skrll "negb",OPC_negb,0,{CLASS_X+(ARG_RD),},
2365 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,99},
2366 1.1 skrll
2367 1.1 skrll /* 1000 1100 dddd 0010 *** negb rbd */
2368 1.1 skrll {
2369 1.1 skrll #ifdef NICENAMES
2370 1.1 skrll "negb rbd",8,7,0x3c,
2371 1.1 skrll #endif
2372 1.1 skrll "negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),},
2373 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,99},
2374 1.1 skrll
2375 1.1 skrll /* 1000 1101 0000 0111 *** nop */
2376 1.1 skrll {
2377 1.1 skrll #ifdef NICENAMES
2378 1.1 skrll "nop",16,7,0x00,
2379 1.1 skrll #endif
2380 1.1 skrll "nop",OPC_nop,0,{0},
2381 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,100},
2382 1.1 skrll
2383 1.1 skrll /* 0000 0101 ssN0 dddd *** or rd,@rs */
2384 1.1 skrll {
2385 1.1 skrll #ifdef NICENAMES
2386 1.1 skrll "or rd,@rs",16,7,0x38,
2387 1.1 skrll #endif
2388 1.1 skrll "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
2389 1.1 skrll {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,101},
2390 1.1 skrll
2391 1.1 skrll /* 0100 0101 0000 dddd address_src *** or rd,address_src */
2392 1.1 skrll {
2393 1.1 skrll #ifdef NICENAMES
2394 1.1 skrll "or rd,address_src",16,9,0x38,
2395 1.1 skrll #endif
2396 1.1 skrll "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
2397 1.1 skrll {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,101},
2398 1.1 skrll
2399 1.1 skrll /* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */
2400 1.1 skrll {
2401 1.1 skrll #ifdef NICENAMES
2402 1.1 skrll "or rd,address_src(rs)",16,10,0x38,
2403 1.1 skrll #endif
2404 1.1 skrll "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
2405 1.1 skrll {CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,101},
2406 1.1 skrll
2407 1.1 skrll /* 0000 0101 0000 dddd imm16 *** or rd,imm16 */
2408 1.1 skrll {
2409 1.1 skrll #ifdef NICENAMES
2410 1.1 skrll "or rd,imm16",16,7,0x38,
2411 1.1 skrll #endif
2412 1.1 skrll "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
2413 1.1 skrll {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,101},
2414 1.1 skrll
2415 1.1 skrll /* 1000 0101 ssss dddd *** or rd,rs */
2416 1.1 skrll {
2417 1.1 skrll #ifdef NICENAMES
2418 1.1 skrll "or rd,rs",16,4,0x38,
2419 1.1 skrll #endif
2420 1.1 skrll "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2421 1.1 skrll {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,101},
2422 1.1 skrll
2423 1.1 skrll /* 0000 0100 ssN0 dddd *** orb rbd,@rs */
2424 1.1 skrll {
2425 1.1 skrll #ifdef NICENAMES
2426 1.1 skrll "orb rbd,@rs",8,7,0x3c,
2427 1.1 skrll #endif
2428 1.1 skrll "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
2429 1.1 skrll {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,102},
2430 1.1 skrll
2431 1.1 skrll /* 0100 0100 0000 dddd address_src *** orb rbd,address_src */
2432 1.1 skrll {
2433 1.1 skrll #ifdef NICENAMES
2434 1.1 skrll "orb rbd,address_src",8,9,0x3c,
2435 1.1 skrll #endif
2436 1.1 skrll "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
2437 1.1 skrll {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,102},
2438 1.1 skrll
2439 1.1 skrll /* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */
2440 1.1 skrll {
2441 1.1 skrll #ifdef NICENAMES
2442 1.1 skrll "orb rbd,address_src(rs)",8,10,0x3c,
2443 1.1 skrll #endif
2444 1.1 skrll "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
2445 1.1 skrll {CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,102},
2446 1.1 skrll
2447 1.1 skrll /* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */
2448 1.1 skrll {
2449 1.1 skrll #ifdef NICENAMES
2450 1.1 skrll "orb rbd,imm8",8,7,0x3c,
2451 1.1 skrll #endif
2452 1.1 skrll "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2453 1.1 skrll {CLASS_BIT+0,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,102},
2454 1.1 skrll
2455 1.1 skrll /* 1000 0100 ssss dddd *** orb rbd,rbs */
2456 1.1 skrll {
2457 1.1 skrll #ifdef NICENAMES
2458 1.1 skrll "orb rbd,rbs",8,4,0x3c,
2459 1.1 skrll #endif
2460 1.1 skrll "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2461 1.1 skrll {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,102},
2462 1.1 skrll
2463 1.1 skrll /* 0011 1011 ssN0 1010 0000 aaaa dddd 0000 *** otdr @ro,@rs,ra */
2464 1.1 skrll {
2465 1.1 skrll #ifdef NICENAMES
2466 1.1 skrll "otdr @ro,@rs,ra",16,11,0x04,
2467 1.1 skrll #endif
2468 1.1 skrll "otdr",OPC_otdr,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2469 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,103},
2470 1.1 skrll
2471 1.1 skrll /* 0011 1010 ssN0 1010 0000 aaaa dddd 0000 *** otdrb @ro,@rs,ra */
2472 1.1 skrll {
2473 1.1 skrll #ifdef NICENAMES
2474 1.1 skrll "otdrb @ro,@rs,ra",8,11,0x04,
2475 1.1 skrll #endif
2476 1.1 skrll "otdrb",OPC_otdrb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2477 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,104},
2478 1.1 skrll
2479 1.1 skrll /* 0011 1011 ssN0 0010 0000 aaaa dddd 0000 *** otir @ro,@rs,ra */
2480 1.1 skrll {
2481 1.1 skrll #ifdef NICENAMES
2482 1.1 skrll "otir @ro,@rs,ra",16,11,0x04,
2483 1.1 skrll #endif
2484 1.1 skrll "otir",OPC_otir,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2485 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,105},
2486 1.1 skrll
2487 1.1 skrll /* 0011 1010 ssN0 0010 0000 aaaa dddd 0000 *** otirb @ro,@rs,ra */
2488 1.1 skrll {
2489 1.1 skrll #ifdef NICENAMES
2490 1.1 skrll "otirb @ro,@rs,ra",8,11,0x04,
2491 1.1 skrll #endif
2492 1.1 skrll "otirb",OPC_otirb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2493 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,106},
2494 1.1 skrll
2495 1.1 skrll /* 0011 1111 dddd ssss *** out @ro,rs */
2496 1.1 skrll {
2497 1.1 skrll #ifdef NICENAMES
2498 1.1 skrll "out @ro,rs",16,10,0x00,
2499 1.1 skrll #endif
2500 1.1 skrll "out",OPC_out,0,{CLASS_IRO+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2501 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,107},
2502 1.1 skrll
2503 1.1 skrll /* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
2504 1.1 skrll {
2505 1.1 skrll #ifdef NICENAMES
2506 1.1 skrll "out imm16,rs",16,12,0x00,
2507 1.1 skrll #endif
2508 1.1 skrll "out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
2509 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,107},
2510 1.1 skrll
2511 1.1 skrll /* 0011 1110 dddd ssss *** outb @ro,rbs */
2512 1.1 skrll {
2513 1.1 skrll #ifdef NICENAMES
2514 1.1 skrll "outb @ro,rbs",8,10,0x00,
2515 1.1 skrll #endif
2516 1.1 skrll "outb",OPC_outb,0,{CLASS_IRO+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2517 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,108},
2518 1.1 skrll
2519 1.1 skrll /* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
2520 1.1 skrll {
2521 1.1 skrll #ifdef NICENAMES
2522 1.1 skrll "outb imm16,rbs",8,12,0x00,
2523 1.1 skrll #endif
2524 1.1 skrll "outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
2525 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,108},
2526 1.1 skrll
2527 1.1 skrll /* 0011 1011 ssN0 1010 0000 aaaa dddd 1000 *** outd @ro,@rs,ra */
2528 1.1 skrll {
2529 1.1 skrll #ifdef NICENAMES
2530 1.1 skrll "outd @ro,@rs,ra",16,21,0x04,
2531 1.1 skrll #endif
2532 1.1 skrll "outd",OPC_outd,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2533 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,109},
2534 1.1 skrll
2535 1.1 skrll /* 0011 1010 ssN0 1010 0000 aaaa dddd 1000 *** outdb @ro,@rs,ra */
2536 1.1 skrll {
2537 1.1 skrll #ifdef NICENAMES
2538 1.1 skrll "outdb @ro,@rs,ra",8,21,0x04,
2539 1.1 skrll #endif
2540 1.1 skrll "outdb",OPC_outdb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2541 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,110},
2542 1.1 skrll
2543 1.1 skrll /* 0011 1011 ssN0 0010 0000 aaaa dddd 1000 *** outi @ro,@rs,ra */
2544 1.1 skrll {
2545 1.1 skrll #ifdef NICENAMES
2546 1.1 skrll "outi @ro,@rs,ra",16,21,0x04,
2547 1.1 skrll #endif
2548 1.1 skrll "outi",OPC_outi,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2549 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,111},
2550 1.1 skrll
2551 1.1 skrll /* 0011 1010 ssN0 0010 0000 aaaa dddd 1000 *** outib @ro,@rs,ra */
2552 1.1 skrll {
2553 1.1 skrll #ifdef NICENAMES
2554 1.1 skrll "outib @ro,@rs,ra",8,21,0x04,
2555 1.1 skrll #endif
2556 1.1 skrll "outib",OPC_outib,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2557 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,112},
2558 1.1 skrll
2559 1.1 skrll /* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */
2560 1.1 skrll {
2561 1.1 skrll #ifdef NICENAMES
2562 1.1 skrll "pop @rd,@rs",16,12,0x00,
2563 1.1 skrll #endif
2564 1.1 skrll "pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
2565 1.1 skrll {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,113},
2566 1.1 skrll
2567 1.1 skrll /* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */
2568 1.1 skrll {
2569 1.1 skrll #ifdef NICENAMES
2570 1.1 skrll "pop address_dst(rd),@rs",16,16,0x00,
2571 1.1 skrll #endif
2572 1.1 skrll "pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
2573 1.1 skrll {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,113},
2574 1.1 skrll
2575 1.1 skrll /* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */
2576 1.1 skrll {
2577 1.1 skrll #ifdef NICENAMES
2578 1.1 skrll "pop address_dst,@rs",16,16,0x00,
2579 1.1 skrll #endif
2580 1.1 skrll "pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
2581 1.1 skrll {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,113},
2582 1.1 skrll
2583 1.1 skrll /* 1001 0111 ssN0 dddd *** pop rd,@rs */
2584 1.1 skrll {
2585 1.1 skrll #ifdef NICENAMES
2586 1.1 skrll "pop rd,@rs",16,8,0x00,
2587 1.1 skrll #endif
2588 1.1 skrll "pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
2589 1.1 skrll {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,113},
2590 1.1 skrll
2591 1.1 skrll /* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */
2592 1.1 skrll {
2593 1.1 skrll #ifdef NICENAMES
2594 1.1 skrll "popl @rd,@rs",32,19,0x00,
2595 1.1 skrll #endif
2596 1.1 skrll "popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
2597 1.1 skrll {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,114},
2598 1.1 skrll
2599 1.1 skrll /* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */
2600 1.1 skrll {
2601 1.1 skrll #ifdef NICENAMES
2602 1.1 skrll "popl address_dst(rd),@rs",32,23,0x00,
2603 1.1 skrll #endif
2604 1.1 skrll "popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
2605 1.1 skrll {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,114},
2606 1.1 skrll
2607 1.1 skrll /* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */
2608 1.1 skrll {
2609 1.1 skrll #ifdef NICENAMES
2610 1.1 skrll "popl address_dst,@rs",32,23,0x00,
2611 1.1 skrll #endif
2612 1.1 skrll "popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
2613 1.1 skrll {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,114},
2614 1.1 skrll
2615 1.1 skrll /* 1001 0101 ssN0 dddd *** popl rrd,@rs */
2616 1.1 skrll {
2617 1.1 skrll #ifdef NICENAMES
2618 1.1 skrll "popl rrd,@rs",32,12,0x00,
2619 1.1 skrll #endif
2620 1.1 skrll "popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
2621 1.1 skrll {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,114},
2622 1.1 skrll
2623 1.1 skrll /* 0001 0011 ddN0 ssN0 *** push @rd,@rs */
2624 1.1 skrll {
2625 1.1 skrll #ifdef NICENAMES
2626 1.1 skrll "push @rd,@rs",16,13,0x00,
2627 1.1 skrll #endif
2628 1.1 skrll "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
2629 1.1 skrll {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,115},
2630 1.1 skrll
2631 1.1 skrll /* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */
2632 1.1 skrll {
2633 1.1 skrll #ifdef NICENAMES
2634 1.1 skrll "push @rd,address_src",16,14,0x00,
2635 1.1 skrll #endif
2636 1.1 skrll "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
2637 1.1 skrll {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,115},
2638 1.1 skrll
2639 1.1 skrll /* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */
2640 1.1 skrll {
2641 1.1 skrll #ifdef NICENAMES
2642 1.1 skrll "push @rd,address_src(rs)",16,14,0x00,
2643 1.1 skrll #endif
2644 1.1 skrll "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
2645 1.1 skrll {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,115},
2646 1.1 skrll
2647 1.1 skrll /* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */
2648 1.1 skrll {
2649 1.1 skrll #ifdef NICENAMES
2650 1.1 skrll "push @rd,imm16",16,12,0x00,
2651 1.1 skrll #endif
2652 1.1 skrll "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
2653 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,115},
2654 1.1 skrll
2655 1.1 skrll /* 1001 0011 ddN0 ssss *** push @rd,rs */
2656 1.1 skrll {
2657 1.1 skrll #ifdef NICENAMES
2658 1.1 skrll "push @rd,rs",16,9,0x00,
2659 1.1 skrll #endif
2660 1.1 skrll "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2661 1.1 skrll {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,115},
2662 1.1 skrll
2663 1.1 skrll /* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */
2664 1.1 skrll {
2665 1.1 skrll #ifdef NICENAMES
2666 1.1 skrll "pushl @rd,@rs",32,20,0x00,
2667 1.1 skrll #endif
2668 1.1 skrll "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
2669 1.1 skrll {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,116},
2670 1.1 skrll
2671 1.1 skrll /* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */
2672 1.1 skrll {
2673 1.1 skrll #ifdef NICENAMES
2674 1.1 skrll "pushl @rd,address_src",32,21,0x00,
2675 1.1 skrll #endif
2676 1.1 skrll "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
2677 1.1 skrll {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,116},
2678 1.1 skrll
2679 1.1 skrll /* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */
2680 1.1 skrll {
2681 1.1 skrll #ifdef NICENAMES
2682 1.1 skrll "pushl @rd,address_src(rs)",32,21,0x00,
2683 1.1 skrll #endif
2684 1.1 skrll "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
2685 1.1 skrll {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,116},
2686 1.1 skrll
2687 1.1 skrll /* 1001 0001 ddN0 ssss *** pushl @rd,rrs */
2688 1.1 skrll {
2689 1.1 skrll #ifdef NICENAMES
2690 1.1 skrll "pushl @rd,rrs",32,12,0x00,
2691 1.1 skrll #endif
2692 1.1 skrll "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2693 1.1 skrll {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,116},
2694 1.1 skrll
2695 1.1 skrll /* 0010 0011 ddN0 imm4 *** res @rd,imm4 */
2696 1.1 skrll {
2697 1.1 skrll #ifdef NICENAMES
2698 1.1 skrll "res @rd,imm4",16,11,0x00,
2699 1.1 skrll #endif
2700 1.1 skrll "res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2701 1.1 skrll {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,117},
2702 1.1 skrll
2703 1.1 skrll /* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */
2704 1.1 skrll {
2705 1.1 skrll #ifdef NICENAMES
2706 1.1 skrll "res address_dst(rd),imm4",16,14,0x00,
2707 1.1 skrll #endif
2708 1.1 skrll "res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2709 1.1 skrll {CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,117},
2710 1.1 skrll
2711 1.1 skrll /* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */
2712 1.1 skrll {
2713 1.1 skrll #ifdef NICENAMES
2714 1.1 skrll "res address_dst,imm4",16,13,0x00,
2715 1.1 skrll #endif
2716 1.1 skrll "res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
2717 1.1 skrll {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,117},
2718 1.1 skrll
2719 1.1 skrll /* 1010 0011 dddd imm4 *** res rd,imm4 */
2720 1.1 skrll {
2721 1.1 skrll #ifdef NICENAMES
2722 1.1 skrll "res rd,imm4",16,4,0x00,
2723 1.1 skrll #endif
2724 1.1 skrll "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2725 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,117},
2726 1.1 skrll
2727 1.1 skrll /* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */
2728 1.1 skrll {
2729 1.1 skrll #ifdef NICENAMES
2730 1.1 skrll "res rd,rs",16,10,0x00,
2731 1.1 skrll #endif
2732 1.1 skrll "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2733 1.1 skrll {CLASS_BIT+2,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,117},
2734 1.1 skrll
2735 1.1 skrll /* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */
2736 1.1 skrll {
2737 1.1 skrll #ifdef NICENAMES
2738 1.1 skrll "resb @rd,imm4",8,11,0x00,
2739 1.1 skrll #endif
2740 1.1 skrll "resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2741 1.1 skrll {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,118},
2742 1.1 skrll
2743 1.1 skrll /* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */
2744 1.1 skrll {
2745 1.1 skrll #ifdef NICENAMES
2746 1.1 skrll "resb address_dst(rd),imm4",8,14,0x00,
2747 1.1 skrll #endif
2748 1.1 skrll "resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2749 1.1 skrll {CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,118},
2750 1.1 skrll
2751 1.1 skrll /* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */
2752 1.1 skrll {
2753 1.1 skrll #ifdef NICENAMES
2754 1.1 skrll "resb address_dst,imm4",8,13,0x00,
2755 1.1 skrll #endif
2756 1.1 skrll "resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
2757 1.1 skrll {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,118},
2758 1.1 skrll
2759 1.1 skrll /* 1010 0010 dddd imm4 *** resb rbd,imm4 */
2760 1.1 skrll {
2761 1.1 skrll #ifdef NICENAMES
2762 1.1 skrll "resb rbd,imm4",8,4,0x00,
2763 1.1 skrll #endif
2764 1.1 skrll "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2765 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,118},
2766 1.1 skrll
2767 1.1 skrll /* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */
2768 1.1 skrll {
2769 1.1 skrll #ifdef NICENAMES
2770 1.1 skrll "resb rbd,rs",8,10,0x00,
2771 1.1 skrll #endif
2772 1.1 skrll "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2773 1.1 skrll {CLASS_BIT+2,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,118},
2774 1.1 skrll
2775 1.1 skrll /* 1000 1101 flags 0011 *** resflg flags */
2776 1.1 skrll {
2777 1.1 skrll #ifdef NICENAMES
2778 1.1 skrll "resflg flags",16,7,0x3c,
2779 1.1 skrll #endif
2780 1.1 skrll "resflg",OPC_resflg,0,{CLASS_FLAGS,},
2781 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+3,0,0,0,0,0,},1,2,119},
2782 1.1 skrll
2783 1.1 skrll /* 1001 1110 0000 cccc *** ret cc */
2784 1.1 skrll {
2785 1.1 skrll #ifdef NICENAMES
2786 1.1 skrll "ret cc",16,10,0x00,
2787 1.1 skrll #endif
2788 1.1 skrll "ret",OPC_ret,0,{CLASS_CC,},
2789 1.1 skrll {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,120},
2790 1.1 skrll
2791 1.1 skrll /* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */
2792 1.1 skrll {
2793 1.1 skrll #ifdef NICENAMES
2794 1.1 skrll "rl rd,imm1or2",16,6,0x3c,
2795 1.1 skrll #endif
2796 1.1 skrll "rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2797 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,121},
2798 1.1 skrll
2799 1.1 skrll /* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */
2800 1.1 skrll {
2801 1.1 skrll #ifdef NICENAMES
2802 1.1 skrll "rlb rbd,imm1or2",8,6,0x3c,
2803 1.1 skrll #endif
2804 1.1 skrll "rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2805 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,122},
2806 1.1 skrll
2807 1.1 skrll /* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */
2808 1.1 skrll {
2809 1.1 skrll #ifdef NICENAMES
2810 1.1 skrll "rlc rd,imm1or2",16,6,0x3c,
2811 1.1 skrll #endif
2812 1.1 skrll "rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2813 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,123},
2814 1.1 skrll
2815 1.1 skrll /* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */
2816 1.1 skrll {
2817 1.1 skrll #ifdef NICENAMES
2818 1.1 skrll "rlcb rbd,imm1or2",8,9,0x10,
2819 1.1 skrll #endif
2820 1.1 skrll "rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2821 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,124},
2822 1.1 skrll
2823 1.1 skrll /* 1011 1110 aaaa bbbb *** rldb rbb,rba */
2824 1.1 skrll {
2825 1.1 skrll #ifdef NICENAMES
2826 1.1 skrll "rldb rbb,rba",8,9,0x10,
2827 1.1 skrll #endif
2828 1.1 skrll "rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
2829 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,125},
2830 1.1 skrll
2831 1.1 skrll /* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */
2832 1.1 skrll {
2833 1.1 skrll #ifdef NICENAMES
2834 1.1 skrll "rr rd,imm1or2",16,6,0x3c,
2835 1.1 skrll #endif
2836 1.1 skrll "rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2837 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,126},
2838 1.1 skrll
2839 1.1 skrll /* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */
2840 1.1 skrll {
2841 1.1 skrll #ifdef NICENAMES
2842 1.1 skrll "rrb rbd,imm1or2",8,6,0x3c,
2843 1.1 skrll #endif
2844 1.1 skrll "rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2845 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,127},
2846 1.1 skrll
2847 1.1 skrll /* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */
2848 1.1 skrll {
2849 1.1 skrll #ifdef NICENAMES
2850 1.1 skrll "rrc rd,imm1or2",16,6,0x3c,
2851 1.1 skrll #endif
2852 1.1 skrll "rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2853 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,128},
2854 1.1 skrll
2855 1.1 skrll /* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */
2856 1.1 skrll {
2857 1.1 skrll #ifdef NICENAMES
2858 1.1 skrll "rrcb rbd,imm1or2",8,9,0x10,
2859 1.1 skrll #endif
2860 1.1 skrll "rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2861 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,129},
2862 1.1 skrll
2863 1.1 skrll /* 1011 1100 aaaa bbbb *** rrdb rbb,rba */
2864 1.1 skrll {
2865 1.1 skrll #ifdef NICENAMES
2866 1.1 skrll "rrdb rbb,rba",8,9,0x10,
2867 1.1 skrll #endif
2868 1.1 skrll "rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
2869 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,130},
2870 1.1 skrll
2871 1.1 skrll /* 0011 0110 imm8 *** rsvd36 */
2872 1.1 skrll {
2873 1.1 skrll #ifdef NICENAMES
2874 1.1 skrll "rsvd36",8,10,0x00,
2875 1.1 skrll #endif
2876 1.1 skrll "rsvd36",OPC_rsvd36,0,{0},
2877 1.1 skrll {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,131},
2878 1.1 skrll
2879 1.1 skrll /* 0011 1000 imm8 *** rsvd38 */
2880 1.1 skrll {
2881 1.1 skrll #ifdef NICENAMES
2882 1.1 skrll "rsvd38",8,10,0x00,
2883 1.1 skrll #endif
2884 1.1 skrll "rsvd38",OPC_rsvd38,0,{0},
2885 1.1 skrll {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,132},
2886 1.1 skrll
2887 1.1 skrll /* 0111 1000 imm8 *** rsvd78 */
2888 1.1 skrll {
2889 1.1 skrll #ifdef NICENAMES
2890 1.1 skrll "rsvd78",8,10,0x00,
2891 1.1 skrll #endif
2892 1.1 skrll "rsvd78",OPC_rsvd78,0,{0},
2893 1.1 skrll {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,133},
2894 1.1 skrll
2895 1.1 skrll /* 0111 1110 imm8 *** rsvd7e */
2896 1.1 skrll {
2897 1.1 skrll #ifdef NICENAMES
2898 1.1 skrll "rsvd7e",8,10,0x00,
2899 1.1 skrll #endif
2900 1.1 skrll "rsvd7e",OPC_rsvd7e,0,{0},
2901 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,134},
2902 1.1 skrll
2903 1.1 skrll /* 1001 1101 imm8 *** rsvd9d */
2904 1.1 skrll {
2905 1.1 skrll #ifdef NICENAMES
2906 1.1 skrll "rsvd9d",8,10,0x00,
2907 1.1 skrll #endif
2908 1.1 skrll "rsvd9d",OPC_rsvd9d,0,{0},
2909 1.1 skrll {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,135},
2910 1.1 skrll
2911 1.1 skrll /* 1001 1111 imm8 *** rsvd9f */
2912 1.1 skrll {
2913 1.1 skrll #ifdef NICENAMES
2914 1.1 skrll "rsvd9f",8,10,0x00,
2915 1.1 skrll #endif
2916 1.1 skrll "rsvd9f",OPC_rsvd9f,0,{0},
2917 1.1 skrll {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,136},
2918 1.1 skrll
2919 1.1 skrll /* 1011 1001 imm8 *** rsvdb9 */
2920 1.1 skrll {
2921 1.1 skrll #ifdef NICENAMES
2922 1.1 skrll "rsvdb9",8,10,0x00,
2923 1.1 skrll #endif
2924 1.1 skrll "rsvdb9",OPC_rsvdb9,0,{0},
2925 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,137},
2926 1.1 skrll
2927 1.1 skrll /* 1011 1111 imm8 *** rsvdbf */
2928 1.1 skrll {
2929 1.1 skrll #ifdef NICENAMES
2930 1.1 skrll "rsvdbf",8,10,0x00,
2931 1.1 skrll #endif
2932 1.1 skrll "rsvdbf",OPC_rsvdbf,0,{0},
2933 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,138},
2934 1.1 skrll
2935 1.1 skrll /* 1011 0111 ssss dddd *** sbc rd,rs */
2936 1.1 skrll {
2937 1.1 skrll #ifdef NICENAMES
2938 1.1 skrll "sbc rd,rs",16,5,0x3c,
2939 1.1 skrll #endif
2940 1.1 skrll "sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2941 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,139},
2942 1.1 skrll
2943 1.1 skrll /* 1011 0110 ssss dddd *** sbcb rbd,rbs */
2944 1.1 skrll {
2945 1.1 skrll #ifdef NICENAMES
2946 1.1 skrll "sbcb rbd,rbs",8,5,0x3f,
2947 1.1 skrll #endif
2948 1.1 skrll "sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2949 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,140},
2950 1.1 skrll
2951 1.1 skrll /* 0111 1111 imm8 *** sc imm8 */
2952 1.1 skrll {
2953 1.1 skrll #ifdef NICENAMES
2954 1.1 skrll "sc imm8",8,33,0x3f,
2955 1.1 skrll #endif
2956 1.1 skrll "sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),},
2957 1.1 skrll {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,141},
2958 1.1 skrll
2959 1.1 skrll /* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */
2960 1.1 skrll {
2961 1.1 skrll #ifdef NICENAMES
2962 1.1 skrll "sda rd,rs",16,15,0x3c,
2963 1.1 skrll #endif
2964 1.1 skrll "sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2965 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,142},
2966 1.1 skrll
2967 1.1 skrll /* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */
2968 1.1 skrll {
2969 1.1 skrll #ifdef NICENAMES
2970 1.1 skrll "sdab rbd,rs",8,15,0x3c,
2971 1.1 skrll #endif
2972 1.1 skrll "sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2973 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,143},
2974 1.1 skrll
2975 1.1 skrll /* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */
2976 1.1 skrll {
2977 1.1 skrll #ifdef NICENAMES
2978 1.1 skrll "sdal rrd,rs",32,15,0x3c,
2979 1.1 skrll #endif
2980 1.1 skrll "sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2981 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,144},
2982 1.1 skrll
2983 1.1 skrll /* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */
2984 1.1 skrll {
2985 1.1 skrll #ifdef NICENAMES
2986 1.1 skrll "sdl rd,rs",16,15,0x38,
2987 1.1 skrll #endif
2988 1.1 skrll "sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2989 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,145},
2990 1.1 skrll
2991 1.1 skrll /* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */
2992 1.1 skrll {
2993 1.1 skrll #ifdef NICENAMES
2994 1.1 skrll "sdlb rbd,rs",8,15,0x38,
2995 1.1 skrll #endif
2996 1.1 skrll "sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2997 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,146},
2998 1.1 skrll
2999 1.1 skrll /* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */
3000 1.1 skrll {
3001 1.1 skrll #ifdef NICENAMES
3002 1.1 skrll "sdll rrd,rs",32,15,0x38,
3003 1.1 skrll #endif
3004 1.1 skrll "sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3005 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,147},
3006 1.1 skrll
3007 1.1 skrll /* 0010 0101 ddN0 imm4 *** set @rd,imm4 */
3008 1.1 skrll {
3009 1.1 skrll #ifdef NICENAMES
3010 1.1 skrll "set @rd,imm4",16,11,0x00,
3011 1.1 skrll #endif
3012 1.1 skrll "set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3013 1.1 skrll {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,148},
3014 1.1 skrll
3015 1.1 skrll /* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */
3016 1.1 skrll {
3017 1.1 skrll #ifdef NICENAMES
3018 1.1 skrll "set address_dst(rd),imm4",16,14,0x00,
3019 1.1 skrll #endif
3020 1.1 skrll "set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3021 1.1 skrll {CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,148},
3022 1.1 skrll
3023 1.1 skrll /* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */
3024 1.1 skrll {
3025 1.1 skrll #ifdef NICENAMES
3026 1.1 skrll "set address_dst,imm4",16,13,0x00,
3027 1.1 skrll #endif
3028 1.1 skrll "set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3029 1.1 skrll {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,148},
3030 1.1 skrll
3031 1.1 skrll /* 1010 0101 dddd imm4 *** set rd,imm4 */
3032 1.1 skrll {
3033 1.1 skrll #ifdef NICENAMES
3034 1.1 skrll "set rd,imm4",16,4,0x00,
3035 1.1 skrll #endif
3036 1.1 skrll "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3037 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,148},
3038 1.1 skrll
3039 1.1 skrll /* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */
3040 1.1 skrll {
3041 1.1 skrll #ifdef NICENAMES
3042 1.1 skrll "set rd,rs",16,10,0x00,
3043 1.1 skrll #endif
3044 1.1 skrll "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3045 1.1 skrll {CLASS_BIT+2,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,148},
3046 1.1 skrll
3047 1.1 skrll /* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */
3048 1.1 skrll {
3049 1.1 skrll #ifdef NICENAMES
3050 1.1 skrll "setb @rd,imm4",8,11,0x00,
3051 1.1 skrll #endif
3052 1.1 skrll "setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3053 1.1 skrll {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,149},
3054 1.1 skrll
3055 1.1 skrll /* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */
3056 1.1 skrll {
3057 1.1 skrll #ifdef NICENAMES
3058 1.1 skrll "setb address_dst(rd),imm4",8,14,0x00,
3059 1.1 skrll #endif
3060 1.1 skrll "setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3061 1.1 skrll {CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,149},
3062 1.1 skrll
3063 1.1 skrll /* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */
3064 1.1 skrll {
3065 1.1 skrll #ifdef NICENAMES
3066 1.1 skrll "setb address_dst,imm4",8,13,0x00,
3067 1.1 skrll #endif
3068 1.1 skrll "setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3069 1.1 skrll {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,149},
3070 1.1 skrll
3071 1.1 skrll /* 1010 0100 dddd imm4 *** setb rbd,imm4 */
3072 1.1 skrll {
3073 1.1 skrll #ifdef NICENAMES
3074 1.1 skrll "setb rbd,imm4",8,4,0x00,
3075 1.1 skrll #endif
3076 1.1 skrll "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3077 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,149},
3078 1.1 skrll
3079 1.1 skrll /* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */
3080 1.1 skrll {
3081 1.1 skrll #ifdef NICENAMES
3082 1.1 skrll "setb rbd,rs",8,10,0x00,
3083 1.1 skrll #endif
3084 1.1 skrll "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3085 1.1 skrll {CLASS_BIT+2,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,149},
3086 1.1 skrll
3087 1.1 skrll /* 1000 1101 flags 0001 *** setflg flags */
3088 1.1 skrll {
3089 1.1 skrll #ifdef NICENAMES
3090 1.1 skrll "setflg flags",16,7,0x3c,
3091 1.1 skrll #endif
3092 1.1 skrll "setflg",OPC_setflg,0,{CLASS_FLAGS,},
3093 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+1,0,0,0,0,0,},1,2,150},
3094 1.1 skrll
3095 1.1 skrll /* 0011 1011 dddd 0101 imm16 *** sin rd,imm16 */
3096 1.1 skrll {
3097 1.1 skrll #ifdef NICENAMES
3098 1.1 skrll "sin rd,imm16",16,12,0x00,
3099 1.1 skrll #endif
3100 1.1 skrll "sin",OPC_sin,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3101 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,151},
3102 1.1 skrll
3103 1.1 skrll /* 0011 1010 dddd 0101 imm16 *** sinb rbd,imm16 */
3104 1.1 skrll {
3105 1.1 skrll #ifdef NICENAMES
3106 1.1 skrll "sinb rbd,imm16",8,10,0x00,
3107 1.1 skrll #endif
3108 1.1 skrll "sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3109 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,152},
3110 1.1 skrll
3111 1.1 skrll /* 0011 1011 ssss 1001 0000 aaaa ddN0 1000 *** sind @rd,@ri,ra */
3112 1.1 skrll {
3113 1.1 skrll #ifdef NICENAMES
3114 1.1 skrll "sind @rd,@ri,ra",16,21,0x04,
3115 1.1 skrll #endif
3116 1.1 skrll "sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3117 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,153},
3118 1.1 skrll
3119 1.1 skrll /* 0011 1010 ssss 1001 0000 aaaa ddN0 1000 *** sindb @rd,@ri,ra */
3120 1.1 skrll {
3121 1.1 skrll #ifdef NICENAMES
3122 1.1 skrll "sindb @rd,@ri,ra",8,21,0x04,
3123 1.1 skrll #endif
3124 1.1 skrll "sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3125 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,154},
3126 1.1 skrll
3127 1.1 skrll /* 0011 1011 ssss 1001 0000 aaaa ddN0 0000 *** sindr @rd,@ri,ra */
3128 1.1 skrll {
3129 1.1 skrll #ifdef NICENAMES
3130 1.1 skrll "sindr @rd,@ri,ra",16,11,0x04,
3131 1.1 skrll #endif
3132 1.1 skrll "sindr",OPC_sindr,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3133 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,155},
3134 1.1 skrll
3135 1.1 skrll /* 0011 1010 ssss 1001 0000 aaaa ddN0 0000 *** sindrb @rd,@ri,ra */
3136 1.1 skrll {
3137 1.1 skrll #ifdef NICENAMES
3138 1.1 skrll "sindrb @rd,@ri,ra",8,11,0x04,
3139 1.1 skrll #endif
3140 1.1 skrll "sindrb",OPC_sindrb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3141 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,156},
3142 1.1 skrll
3143 1.1 skrll /* 0011 1011 ssss 0001 0000 aaaa ddN0 1000 *** sini @rd,@ri,ra */
3144 1.1 skrll {
3145 1.1 skrll #ifdef NICENAMES
3146 1.1 skrll "sini @rd,@ri,ra",16,21,0x04,
3147 1.1 skrll #endif
3148 1.1 skrll "sini",OPC_sini,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3149 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,157},
3150 1.1 skrll
3151 1.1 skrll /* 0011 1010 ssss 0001 0000 aaaa ddN0 1000 *** sinib @rd,@ri,ra */
3152 1.1 skrll {
3153 1.1 skrll #ifdef NICENAMES
3154 1.1 skrll "sinib @rd,@ri,ra",8,21,0x04,
3155 1.1 skrll #endif
3156 1.1 skrll "sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3157 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,158},
3158 1.1 skrll
3159 1.1 skrll /* 0011 1011 ssss 0001 0000 aaaa ddN0 0000 *** sinir @rd,@ri,ra */
3160 1.1 skrll {
3161 1.1 skrll #ifdef NICENAMES
3162 1.1 skrll "sinir @rd,@ri,ra",16,11,0x04,
3163 1.1 skrll #endif
3164 1.1 skrll "sinir",OPC_sinir,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3165 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,159},
3166 1.1 skrll
3167 1.1 skrll /* 0011 1010 ssss 0001 0000 aaaa ddN0 0000 *** sinirb @rd,@ri,ra */
3168 1.1 skrll {
3169 1.1 skrll #ifdef NICENAMES
3170 1.1 skrll "sinirb @rd,@ri,ra",8,11,0x04,
3171 1.1 skrll #endif
3172 1.1 skrll "sinirb",OPC_sinirb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3173 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,160},
3174 1.1 skrll
3175 1.1 skrll /* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */
3176 1.1 skrll {
3177 1.1 skrll #ifdef NICENAMES
3178 1.1 skrll "sla rd,imm8",16,13,0x3c,
3179 1.1 skrll #endif
3180 1.1 skrll "sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3181 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,161},
3182 1.1 skrll
3183 1.1 skrll /* 1011 0010 dddd 1001 iiii iiii 0000 imm4 *** slab rbd,imm4 */
3184 1.1 skrll {
3185 1.1 skrll #ifdef NICENAMES
3186 1.1 skrll "slab rbd,imm4",8,13,0x3c,
3187 1.1 skrll #endif
3188 1.1 skrll "slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3189 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),0,},2,4,162},
3190 1.1 skrll
3191 1.1 skrll /* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */
3192 1.1 skrll {
3193 1.1 skrll #ifdef NICENAMES
3194 1.1 skrll "slal rrd,imm8",32,13,0x3c,
3195 1.1 skrll #endif
3196 1.1 skrll "slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3197 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,163},
3198 1.1 skrll
3199 1.1 skrll /* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */
3200 1.1 skrll {
3201 1.1 skrll #ifdef NICENAMES
3202 1.1 skrll "sll rd,imm8",16,13,0x38,
3203 1.1 skrll #endif
3204 1.1 skrll "sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3205 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,164},
3206 1.1 skrll
3207 1.1 skrll /* 1011 0010 dddd 0001 iiii iiii 0000 imm4 *** sllb rbd,imm4 */
3208 1.1 skrll {
3209 1.1 skrll #ifdef NICENAMES
3210 1.1 skrll "sllb rbd,imm4",8,13,0x38,
3211 1.1 skrll #endif
3212 1.1 skrll "sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3213 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),0,},2,4,165},
3214 1.1 skrll
3215 1.1 skrll /* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */
3216 1.1 skrll {
3217 1.1 skrll #ifdef NICENAMES
3218 1.1 skrll "slll rrd,imm8",32,13,0x38,
3219 1.1 skrll #endif
3220 1.1 skrll "slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3221 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,166},
3222 1.1 skrll
3223 1.1 skrll /* 0011 1011 ssN0 1011 0000 aaaa dddd 0000 *** sotdr @ro,@rs,ra */
3224 1.1 skrll {
3225 1.1 skrll #ifdef NICENAMES
3226 1.1 skrll "sotdr @ro,@rs,ra",16,11,0x04,
3227 1.1 skrll #endif
3228 1.1 skrll "sotdr",OPC_sotdr,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3229 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,167},
3230 1.1 skrll
3231 1.1 skrll /* 0011 1010 ssN0 1011 0000 aaaa dddd 0000 *** sotdrb @ro,@rs,ra */
3232 1.1 skrll {
3233 1.1 skrll #ifdef NICENAMES
3234 1.1 skrll "sotdrb @ro,@rs,ra",8,11,0x04,
3235 1.1 skrll #endif
3236 1.1 skrll "sotdrb",OPC_sotdrb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3237 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,168},
3238 1.1 skrll
3239 1.1 skrll /* 0011 1011 ssN0 0011 0000 aaaa dddd 0000 *** sotir @ro,@rs,ra */
3240 1.1 skrll {
3241 1.1 skrll #ifdef NICENAMES
3242 1.1 skrll "sotir @ro,@rs,ra",16,11,0x04,
3243 1.1 skrll #endif
3244 1.1 skrll "sotir",OPC_sotir,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3245 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,169},
3246 1.1 skrll
3247 1.1 skrll /* 0011 1010 ssN0 0011 0000 aaaa dddd 0000 *** sotirb @ro,@rs,ra */
3248 1.1 skrll {
3249 1.1 skrll #ifdef NICENAMES
3250 1.1 skrll "sotirb @ro,@rs,ra",8,11,0x04,
3251 1.1 skrll #endif
3252 1.1 skrll "sotirb",OPC_sotirb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3253 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,170},
3254 1.1 skrll
3255 1.1 skrll /* 0011 1011 ssss 0110 imm16 *** sout imm16,rs */
3256 1.1 skrll {
3257 1.1 skrll #ifdef NICENAMES
3258 1.1 skrll "sout imm16,rs",16,12,0x00,
3259 1.1 skrll #endif
3260 1.1 skrll "sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
3261 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,171},
3262 1.1 skrll
3263 1.1 skrll /* 0011 1010 ssss 0110 imm16 *** soutb imm16,rbs */
3264 1.1 skrll {
3265 1.1 skrll #ifdef NICENAMES
3266 1.1 skrll "soutb imm16,rbs",8,12,0x00,
3267 1.1 skrll #endif
3268 1.1 skrll "soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
3269 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,172},
3270 1.1 skrll
3271 1.1 skrll /* 0011 1011 ssN0 1011 0000 aaaa dddd 1000 *** soutd @ro,@rs,ra */
3272 1.1 skrll {
3273 1.1 skrll #ifdef NICENAMES
3274 1.1 skrll "soutd @ro,@rs,ra",16,21,0x04,
3275 1.1 skrll #endif
3276 1.1 skrll "soutd",OPC_soutd,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3277 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,173},
3278 1.1 skrll
3279 1.1 skrll /* 0011 1010 ssN0 1011 0000 aaaa dddd 1000 *** soutdb @ro,@rs,ra */
3280 1.1 skrll {
3281 1.1 skrll #ifdef NICENAMES
3282 1.1 skrll "soutdb @ro,@rs,ra",8,21,0x04,
3283 1.1 skrll #endif
3284 1.1 skrll "soutdb",OPC_soutdb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3285 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,174},
3286 1.1 skrll
3287 1.1 skrll /* 0011 1011 ssN0 0011 0000 aaaa dddd 1000 *** souti @ro,@rs,ra */
3288 1.1 skrll {
3289 1.1 skrll #ifdef NICENAMES
3290 1.1 skrll "souti @ro,@rs,ra",16,21,0x04,
3291 1.1 skrll #endif
3292 1.1 skrll "souti",OPC_souti,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3293 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,175},
3294 1.1 skrll
3295 1.1 skrll /* 0011 1010 ssN0 0011 0000 aaaa dddd 1000 *** soutib @ro,@rs,ra */
3296 1.1 skrll {
3297 1.1 skrll #ifdef NICENAMES
3298 1.1 skrll "soutib @ro,@rs,ra",8,21,0x04,
3299 1.1 skrll #endif
3300 1.1 skrll "soutib",OPC_soutib,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3301 1.1 skrll {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,176},
3302 1.1 skrll
3303 1.1 skrll /* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */
3304 1.1 skrll {
3305 1.1 skrll #ifdef NICENAMES
3306 1.1 skrll "sra rd,imm8",16,13,0x3c,
3307 1.1 skrll #endif
3308 1.1 skrll "sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3309 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,177},
3310 1.1 skrll
3311 1.1 skrll /* 1011 0010 dddd 1001 iiii iiii 1111 nim4 *** srab rbd,imm4 */
3312 1.1 skrll {
3313 1.1 skrll #ifdef NICENAMES
3314 1.1 skrll "srab rbd,imm4",8,13,0x3c,
3315 1.1 skrll #endif
3316 1.1 skrll "srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3317 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM4),0,},2,4,178},
3318 1.1 skrll
3319 1.1 skrll /* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */
3320 1.1 skrll {
3321 1.1 skrll #ifdef NICENAMES
3322 1.1 skrll "sral rrd,imm8",32,13,0x3c,
3323 1.1 skrll #endif
3324 1.1 skrll "sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3325 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,179},
3326 1.1 skrll
3327 1.1 skrll /* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */
3328 1.1 skrll {
3329 1.1 skrll #ifdef NICENAMES
3330 1.1 skrll "srl rd,imm8",16,13,0x3c,
3331 1.1 skrll #endif
3332 1.1 skrll "srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3333 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,180},
3334 1.1 skrll
3335 1.1 skrll /* 1011 0010 dddd 0001 iiii iiii 1111 nim4 *** srlb rbd,imm4 */
3336 1.1 skrll {
3337 1.1 skrll #ifdef NICENAMES
3338 1.1 skrll "srlb rbd,imm4",8,13,0x3c,
3339 1.1 skrll #endif
3340 1.1 skrll "srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3341 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM4),0,},2,4,181},
3342 1.1 skrll
3343 1.1 skrll /* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */
3344 1.1 skrll {
3345 1.1 skrll #ifdef NICENAMES
3346 1.1 skrll "srll rrd,imm8",32,13,0x3c,
3347 1.1 skrll #endif
3348 1.1 skrll "srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3349 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,182},
3350 1.1 skrll
3351 1.1 skrll /* 0000 0011 ssN0 dddd *** sub rd,@rs */
3352 1.1 skrll {
3353 1.1 skrll #ifdef NICENAMES
3354 1.1 skrll "sub rd,@rs",16,7,0x3c,
3355 1.1 skrll #endif
3356 1.1 skrll "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
3357 1.1 skrll {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,183},
3358 1.1 skrll
3359 1.1 skrll /* 0100 0011 0000 dddd address_src *** sub rd,address_src */
3360 1.1 skrll {
3361 1.1 skrll #ifdef NICENAMES
3362 1.1 skrll "sub rd,address_src",16,9,0x3c,
3363 1.1 skrll #endif
3364 1.1 skrll "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
3365 1.1 skrll {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
3366 1.1 skrll
3367 1.1 skrll /* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */
3368 1.1 skrll {
3369 1.1 skrll #ifdef NICENAMES
3370 1.1 skrll "sub rd,address_src(rs)",16,10,0x3c,
3371 1.1 skrll #endif
3372 1.1 skrll "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
3373 1.1 skrll {CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
3374 1.1 skrll
3375 1.1 skrll /* 0000 0011 0000 dddd imm16 *** sub rd,imm16 */
3376 1.1 skrll {
3377 1.1 skrll #ifdef NICENAMES
3378 1.1 skrll "sub rd,imm16",16,7,0x3c,
3379 1.1 skrll #endif
3380 1.1 skrll "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3381 1.1 skrll {CLASS_BIT+0,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,183},
3382 1.1 skrll
3383 1.1 skrll /* 1000 0011 ssss dddd *** sub rd,rs */
3384 1.1 skrll {
3385 1.1 skrll #ifdef NICENAMES
3386 1.1 skrll "sub rd,rs",16,4,0x3c,
3387 1.1 skrll #endif
3388 1.1 skrll "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3389 1.1 skrll {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,183},
3390 1.1 skrll
3391 1.1 skrll /* 0000 0010 ssN0 dddd *** subb rbd,@rs */
3392 1.1 skrll {
3393 1.1 skrll #ifdef NICENAMES
3394 1.1 skrll "subb rbd,@rs",8,7,0x3f,
3395 1.1 skrll #endif
3396 1.1 skrll "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
3397 1.1 skrll {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,184},
3398 1.1 skrll
3399 1.1 skrll /* 0100 0010 0000 dddd address_src *** subb rbd,address_src */
3400 1.1 skrll {
3401 1.1 skrll #ifdef NICENAMES
3402 1.1 skrll "subb rbd,address_src",8,9,0x3f,
3403 1.1 skrll #endif
3404 1.1 skrll "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
3405 1.1 skrll {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
3406 1.1 skrll
3407 1.1 skrll /* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */
3408 1.1 skrll {
3409 1.1 skrll #ifdef NICENAMES
3410 1.1 skrll "subb rbd,address_src(rs)",8,10,0x3f,
3411 1.1 skrll #endif
3412 1.1 skrll "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
3413 1.1 skrll {CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
3414 1.1 skrll
3415 1.1 skrll /* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */
3416 1.1 skrll {
3417 1.1 skrll #ifdef NICENAMES
3418 1.1 skrll "subb rbd,imm8",8,7,0x3f,
3419 1.1 skrll #endif
3420 1.1 skrll "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3421 1.1 skrll {CLASS_BIT+0,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,184},
3422 1.1 skrll
3423 1.1 skrll /* 1000 0010 ssss dddd *** subb rbd,rbs */
3424 1.1 skrll {
3425 1.1 skrll #ifdef NICENAMES
3426 1.1 skrll "subb rbd,rbs",8,4,0x3f,
3427 1.1 skrll #endif
3428 1.1 skrll "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
3429 1.1 skrll {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,184},
3430 1.1 skrll
3431 1.1 skrll /* 0001 0010 ssN0 dddd *** subl rrd,@rs */
3432 1.1 skrll {
3433 1.1 skrll #ifdef NICENAMES
3434 1.1 skrll "subl rrd,@rs",32,14,0x3c,
3435 1.1 skrll #endif
3436 1.1 skrll "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
3437 1.1 skrll {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,185},
3438 1.1 skrll
3439 1.1 skrll /* 0101 0010 0000 dddd address_src *** subl rrd,address_src */
3440 1.1 skrll {
3441 1.1 skrll #ifdef NICENAMES
3442 1.1 skrll "subl rrd,address_src",32,15,0x3c,
3443 1.1 skrll #endif
3444 1.1 skrll "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
3445 1.1 skrll {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,185},
3446 1.1 skrll
3447 1.1 skrll /* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */
3448 1.1 skrll {
3449 1.1 skrll #ifdef NICENAMES
3450 1.1 skrll "subl rrd,address_src(rs)",32,16,0x3c,
3451 1.1 skrll #endif
3452 1.1 skrll "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
3453 1.1 skrll {CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,185},
3454 1.1 skrll
3455 1.1 skrll /* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */
3456 1.1 skrll {
3457 1.1 skrll #ifdef NICENAMES
3458 1.1 skrll "subl rrd,imm32",32,14,0x3c,
3459 1.1 skrll #endif
3460 1.1 skrll "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
3461 1.1 skrll {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,185},
3462 1.1 skrll
3463 1.1 skrll /* 1001 0010 ssss dddd *** subl rrd,rrs */
3464 1.1 skrll {
3465 1.1 skrll #ifdef NICENAMES
3466 1.1 skrll "subl rrd,rrs",32,8,0x3c,
3467 1.1 skrll #endif
3468 1.1 skrll "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
3469 1.1 skrll {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,185},
3470 1.1 skrll
3471 1.1 skrll /* 1010 1111 dddd cccc *** tcc cc,rd */
3472 1.1 skrll {
3473 1.1 skrll #ifdef NICENAMES
3474 1.1 skrll "tcc cc,rd",16,5,0x00,
3475 1.1 skrll #endif
3476 1.1 skrll "tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),},
3477 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,186},
3478 1.1 skrll
3479 1.1 skrll /* 1010 1110 dddd cccc *** tccb cc,rbd */
3480 1.1 skrll {
3481 1.1 skrll #ifdef NICENAMES
3482 1.1 skrll "tccb cc,rbd",8,5,0x00,
3483 1.1 skrll #endif
3484 1.1 skrll "tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),},
3485 1.1 skrll {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,187},
3486 1.1 skrll
3487 1.1 skrll /* 0000 1101 ddN0 0100 *** test @rd */
3488 1.1 skrll {
3489 1.1 skrll #ifdef NICENAMES
3490 1.1 skrll "test @rd",16,8,0x18,
3491 1.1 skrll #endif
3492 1.1 skrll "test",OPC_test,0,{CLASS_IR+(ARG_RD),},
3493 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,188},
3494 1.1 skrll
3495 1.1 skrll /* 0100 1101 0000 0100 address_dst *** test address_dst */
3496 1.1 skrll {
3497 1.1 skrll #ifdef NICENAMES
3498 1.1 skrll "test address_dst",16,11,0x00,
3499 1.1 skrll #endif
3500 1.1 skrll "test",OPC_test,0,{CLASS_DA+(ARG_DST),},
3501 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,188},
3502 1.1 skrll
3503 1.1 skrll /* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */
3504 1.1 skrll {
3505 1.1 skrll #ifdef NICENAMES
3506 1.1 skrll "test address_dst(rd)",16,12,0x00,
3507 1.1 skrll #endif
3508 1.1 skrll "test",OPC_test,0,{CLASS_X+(ARG_RD),},
3509 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,188},
3510 1.1 skrll
3511 1.1 skrll /* 1000 1101 dddd 0100 *** test rd */
3512 1.1 skrll {
3513 1.1 skrll #ifdef NICENAMES
3514 1.1 skrll "test rd",16,7,0x00,
3515 1.1 skrll #endif
3516 1.1 skrll "test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),},
3517 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,188},
3518 1.1 skrll
3519 1.1 skrll /* 0000 1100 ddN0 0100 *** testb @rd */
3520 1.1 skrll {
3521 1.1 skrll #ifdef NICENAMES
3522 1.1 skrll "testb @rd",8,8,0x1c,
3523 1.1 skrll #endif
3524 1.1 skrll "testb",OPC_testb,0,{CLASS_IR+(ARG_RD),},
3525 1.1 skrll {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,189},
3526 1.1 skrll
3527 1.1 skrll /* 0100 1100 0000 0100 address_dst *** testb address_dst */
3528 1.1 skrll {
3529 1.1 skrll #ifdef NICENAMES
3530 1.1 skrll "testb address_dst",8,11,0x1c,
3531 1.1 skrll #endif
3532 1.1 skrll "testb",OPC_testb,0,{CLASS_DA+(ARG_DST),},
3533 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,189},
3534 1.1 skrll
3535 1.1 skrll /* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */
3536 1.1 skrll {
3537 1.1 skrll #ifdef NICENAMES
3538 1.1 skrll "testb address_dst(rd)",8,12,0x1c,
3539 1.1 skrll #endif
3540 1.1 skrll "testb",OPC_testb,0,{CLASS_X+(ARG_RD),},
3541 1.1 skrll {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,189},
3542 1.1 skrll
3543 1.1 skrll /* 1000 1100 dddd 0100 *** testb rbd */
3544 1.1 skrll {
3545 1.1 skrll #ifdef NICENAMES
3546 1.1 skrll "testb rbd",8,7,0x1c,
3547 1.1 skrll #endif
3548 1.1 skrll "testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),},
3549 1.1 skrll {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,189},
3550 1.1 skrll
3551 1.1 skrll /* 0001 1100 ddN0 1000 *** testl @rd */
3552 1.1 skrll {
3553 1.1 skrll #ifdef NICENAMES
3554 1.1 skrll "testl @rd",32,13,0x18,
3555 1.1 skrll #endif
3556 1.1 skrll "testl",OPC_testl,0,{CLASS_IR+(ARG_RD),},
3557 1.1 skrll {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,190},
3558 1.1 skrll
3559 1.1 skrll /* 0101 1100 0000 1000 address_dst *** testl address_dst */
3560 1.1 skrll {
3561 1.1 skrll #ifdef NICENAMES
3562 1.1 skrll "testl address_dst",32,16,0x18,
3563 1.1 skrll #endif
3564 1.1 skrll "testl",OPC_testl,0,{CLASS_DA+(ARG_DST),},
3565 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,190},
3566 1.1 skrll
3567 1.1 skrll /* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */
3568 1.1 skrll {
3569 1.1 skrll #ifdef NICENAMES
3570 1.1 skrll "testl address_dst(rd)",32,17,0x18,
3571 1.1 skrll #endif
3572 1.1 skrll "testl",OPC_testl,0,{CLASS_X+(ARG_RD),},
3573 1.1 skrll {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,190},
3574 1.1 skrll
3575 1.1 skrll /* 1001 1100 dddd 1000 *** testl rrd */
3576 1.1 skrll {
3577 1.1 skrll #ifdef NICENAMES
3578 1.1 skrll "testl rrd",32,13,0x18,
3579 1.1 skrll #endif
3580 1.1 skrll "testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),},
3581 1.1 skrll {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,190},
3582 1.1 skrll
3583 1.1.1.3 christos /* 1011 1000 ddN0 1000 0000 rrrr ssN0 0000 *** trdb @rd,@rs,rr */
3584 1.1 skrll {
3585 1.1 skrll #ifdef NICENAMES
3586 1.1.1.3 christos "trdb @rd,@rs,rr",8,25,0x04,
3587 1.1 skrll #endif
3588 1.1.1.3 christos "trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
3589 1.1.1.3 christos {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,191},
3590 1.1 skrll
3591 1.1.1.3 christos /* 1011 1000 ddN0 1100 0000 rrrr ssN0 0000 *** trdrb @rd,@rs,rr */
3592 1.1 skrll {
3593 1.1 skrll #ifdef NICENAMES
3594 1.1.1.3 christos "trdrb @rd,@rs,rr",8,25,0x04,
3595 1.1 skrll #endif
3596 1.1.1.3 christos "trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
3597 1.1.1.3 christos {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,192},
3598 1.1 skrll
3599 1.1.1.3 christos /* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rr */
3600 1.1 skrll {
3601 1.1 skrll #ifdef NICENAMES
3602 1.1.1.3 christos "trib @rd,@rs,rr",8,25,0x04,
3603 1.1 skrll #endif
3604 1.1.1.3 christos "trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
3605 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,193},
3606 1.1 skrll
3607 1.1.1.3 christos /* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rr */
3608 1.1 skrll {
3609 1.1 skrll #ifdef NICENAMES
3610 1.1.1.3 christos "trirb @rd,@rs,rr",8,25,0x04,
3611 1.1 skrll #endif
3612 1.1.1.3 christos "trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
3613 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,194},
3614 1.1 skrll
3615 1.1.1.3 christos /* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtdb @ra,@rb,rr */
3616 1.1 skrll {
3617 1.1 skrll #ifdef NICENAMES
3618 1.1.1.3 christos "trtdb @ra,@rb,rr",8,25,0x14,
3619 1.1 skrll #endif
3620 1.1.1.3 christos "trtdb",OPC_trtdb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),},
3621 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,195},
3622 1.1 skrll
3623 1.1.1.3 christos /* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rr */
3624 1.1 skrll {
3625 1.1 skrll #ifdef NICENAMES
3626 1.1.1.3 christos "trtdrb @ra,@rb,rr",8,25,0x14,
3627 1.1 skrll #endif
3628 1.1.1.3 christos "trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),},
3629 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,196},
3630 1.1 skrll
3631 1.1.1.3 christos /* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rr */
3632 1.1 skrll {
3633 1.1 skrll #ifdef NICENAMES
3634 1.1.1.3 christos "trtib @ra,@rb,rr",8,25,0x14,
3635 1.1 skrll #endif
3636 1.1.1.3 christos "trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),},
3637 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,197},
3638 1.1 skrll
3639 1.1.1.3 christos /* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rr */
3640 1.1 skrll {
3641 1.1 skrll #ifdef NICENAMES
3642 1.1.1.3 christos "trtirb @ra,@rb,rr",8,25,0x14,
3643 1.1 skrll #endif
3644 1.1.1.3 christos "trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),},
3645 1.1 skrll {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,198},
3646 1.1 skrll
3647 1.1 skrll /* 0000 1101 ddN0 0110 *** tset @rd */
3648 1.1 skrll {
3649 1.1 skrll #ifdef NICENAMES
3650 1.1 skrll "tset @rd",16,11,0x08,
3651 1.1 skrll #endif
3652 1.1 skrll "tset",OPC_tset,0,{CLASS_IR+(ARG_RD),},
3653 1.1.1.3 christos {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,199},
3654 1.1 skrll
3655 1.1 skrll /* 0100 1101 0000 0110 address_dst *** tset address_dst */
3656 1.1 skrll {
3657 1.1 skrll #ifdef NICENAMES
3658 1.1 skrll "tset address_dst",16,14,0x08,
3659 1.1 skrll #endif
3660 1.1 skrll "tset",OPC_tset,0,{CLASS_DA+(ARG_DST),},
3661 1.1.1.3 christos {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,199},
3662 1.1 skrll
3663 1.1 skrll /* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */
3664 1.1 skrll {
3665 1.1 skrll #ifdef NICENAMES
3666 1.1 skrll "tset address_dst(rd)",16,15,0x08,
3667 1.1 skrll #endif
3668 1.1 skrll "tset",OPC_tset,0,{CLASS_X+(ARG_RD),},
3669 1.1.1.3 christos {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,199},
3670 1.1 skrll
3671 1.1 skrll /* 1000 1101 dddd 0110 *** tset rd */
3672 1.1 skrll {
3673 1.1 skrll #ifdef NICENAMES
3674 1.1 skrll "tset rd",16,7,0x08,
3675 1.1 skrll #endif
3676 1.1 skrll "tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),},
3677 1.1.1.3 christos {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,199},
3678 1.1 skrll
3679 1.1 skrll /* 0000 1100 ddN0 0110 *** tsetb @rd */
3680 1.1 skrll {
3681 1.1 skrll #ifdef NICENAMES
3682 1.1 skrll "tsetb @rd",8,11,0x08,
3683 1.1 skrll #endif
3684 1.1 skrll "tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),},
3685 1.1.1.3 christos {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,200},
3686 1.1 skrll
3687 1.1 skrll /* 0100 1100 0000 0110 address_dst *** tsetb address_dst */
3688 1.1 skrll {
3689 1.1 skrll #ifdef NICENAMES
3690 1.1 skrll "tsetb address_dst",8,14,0x08,
3691 1.1 skrll #endif
3692 1.1 skrll "tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),},
3693 1.1.1.3 christos {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,200},
3694 1.1 skrll
3695 1.1 skrll /* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */
3696 1.1 skrll {
3697 1.1 skrll #ifdef NICENAMES
3698 1.1 skrll "tsetb address_dst(rd)",8,15,0x08,
3699 1.1 skrll #endif
3700 1.1 skrll "tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),},
3701 1.1.1.3 christos {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,200},
3702 1.1 skrll
3703 1.1 skrll /* 1000 1100 dddd 0110 *** tsetb rbd */
3704 1.1 skrll {
3705 1.1 skrll #ifdef NICENAMES
3706 1.1 skrll "tsetb rbd",8,7,0x08,
3707 1.1 skrll #endif
3708 1.1 skrll "tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),},
3709 1.1.1.3 christos {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,200},
3710 1.1 skrll
3711 1.1 skrll /* 0000 1001 ssN0 dddd *** xor rd,@rs */
3712 1.1 skrll {
3713 1.1 skrll #ifdef NICENAMES
3714 1.1 skrll "xor rd,@rs",16,7,0x18,
3715 1.1 skrll #endif
3716 1.1 skrll "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
3717 1.1.1.3 christos {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,201},
3718 1.1 skrll
3719 1.1 skrll /* 0100 1001 0000 dddd address_src *** xor rd,address_src */
3720 1.1 skrll {
3721 1.1 skrll #ifdef NICENAMES
3722 1.1 skrll "xor rd,address_src",16,9,0x18,
3723 1.1 skrll #endif
3724 1.1 skrll "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
3725 1.1.1.3 christos {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,201},
3726 1.1 skrll
3727 1.1 skrll /* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */
3728 1.1 skrll {
3729 1.1 skrll #ifdef NICENAMES
3730 1.1 skrll "xor rd,address_src(rs)",16,10,0x18,
3731 1.1 skrll #endif
3732 1.1 skrll "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
3733 1.1.1.3 christos {CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,201},
3734 1.1 skrll
3735 1.1 skrll /* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */
3736 1.1 skrll {
3737 1.1 skrll #ifdef NICENAMES
3738 1.1 skrll "xor rd,imm16",16,7,0x18,
3739 1.1 skrll #endif
3740 1.1 skrll "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3741 1.1.1.3 christos {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,201},
3742 1.1 skrll
3743 1.1 skrll /* 1000 1001 ssss dddd *** xor rd,rs */
3744 1.1 skrll {
3745 1.1 skrll #ifdef NICENAMES
3746 1.1 skrll "xor rd,rs",16,4,0x18,
3747 1.1 skrll #endif
3748 1.1 skrll "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3749 1.1.1.3 christos {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,201},
3750 1.1 skrll
3751 1.1 skrll /* 0000 1000 ssN0 dddd *** xorb rbd,@rs */
3752 1.1 skrll {
3753 1.1 skrll #ifdef NICENAMES
3754 1.1 skrll "xorb rbd,@rs",8,7,0x1c,
3755 1.1 skrll #endif
3756 1.1 skrll "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
3757 1.1.1.3 christos {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,202},
3758 1.1 skrll
3759 1.1 skrll /* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */
3760 1.1 skrll {
3761 1.1 skrll #ifdef NICENAMES
3762 1.1 skrll "xorb rbd,address_src",8,9,0x1c,
3763 1.1 skrll #endif
3764 1.1 skrll "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
3765 1.1.1.3 christos {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,202},
3766 1.1 skrll
3767 1.1 skrll /* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */
3768 1.1 skrll {
3769 1.1 skrll #ifdef NICENAMES
3770 1.1 skrll "xorb rbd,address_src(rs)",8,10,0x1c,
3771 1.1 skrll #endif
3772 1.1 skrll "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
3773 1.1.1.3 christos {CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,202},
3774 1.1 skrll
3775 1.1 skrll /* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */
3776 1.1 skrll {
3777 1.1 skrll #ifdef NICENAMES
3778 1.1 skrll "xorb rbd,imm8",8,7,0x1c,
3779 1.1 skrll #endif
3780 1.1 skrll "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3781 1.1.1.3 christos {CLASS_BIT+0,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,202},
3782 1.1 skrll
3783 1.1 skrll /* 1000 1000 ssss dddd *** xorb rbd,rbs */
3784 1.1 skrll {
3785 1.1 skrll #ifdef NICENAMES
3786 1.1 skrll "xorb rbd,rbs",8,4,0x1c,
3787 1.1 skrll #endif
3788 1.1 skrll "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
3789 1.1.1.3 christos {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,202},
3790 1.1 skrll
3791 1.1 skrll /* end marker */
3792 1.1 skrll {
3793 1.1 skrll #ifdef NICENAMES
3794 1.1 skrll NULL,0,0,
3795 1.1 skrll 0,
3796 1.1 skrll #endif
3797 1.1 skrll NULL,0,0,{0,0,0,0},{0,0,0,0,0,0,0,0,0,0},0,0,0}
3798 1.1 skrll };
3799 1.1 skrll #endif
3800