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