/* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically generated by z8kgen. */ /* Copyright (C) 2007-2020 Free Software Foundation, Inc. This file is part of the GNU opcodes library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this file; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #define ARG_MASK 0x0f #define ARG_SRC 0x01 #define ARG_DST 0x02 #define ARG_RS 0x01 #define ARG_RD 0x02 #define ARG_RA 0x03 #define ARG_RB 0x04 #define ARG_RR 0x05 #define ARG_RX 0x06 #define ARG_IMM4 0x01 #define ARG_IMM8 0x02 #define ARG_IMM16 0x03 #define ARG_IMM32 0x04 #define ARG_IMMN 0x05 #define ARG_IMMNMINUS1 0x05 #define ARG_IMM_1 0x06 #define ARG_IMM_2 0x07 #define ARG_DISP16 0x08 #define ARG_NIM8 0x09 #define ARG_IMM2 0x0a #define ARG_IMM1OR2 0x0b #define ARG_DISP12 0x0b #define ARG_NIM4 0x0c #define ARG_DISP8 0x0c #define ARG_IMM4M1 0x0d #define CLASS_X 0x10 #define CLASS_BA 0x20 #define CLASS_DA 0x30 #define CLASS_BX 0x40 #define CLASS_DISP 0x50 #define CLASS_IMM 0x60 #define CLASS_CC 0x70 #define CLASS_CTRL 0x80 #define CLASS_IGNORE 0x90 #define CLASS_ADDRESS 0xd0 #define CLASS_0CCC 0xe0 #define CLASS_1CCC 0xf0 #define CLASS_0DISP7 0x100 #define CLASS_1DISP7 0x200 #define CLASS_01II 0x300 #define CLASS_00II 0x400 #define CLASS_BIT 0x500 #define CLASS_FLAGS 0x600 #define CLASS_IR 0x700 #define CLASS_IRO 0x800 #define CLASS_DISP8 0x900 #define CLASS_BIT_1OR2 0xa00 #define CLASS_REG 0x7000 #define CLASS_REG_BYTE 0x2000 #define CLASS_REG_WORD 0x3000 #define CLASS_REG_QUAD 0x4000 #define CLASS_REG_LONG 0x5000 #define CLASS_REGN0 0x8000 #define CLASS_PR 0x10000 #define CLASS_MASK 0x1fff0 #define OPC_adc 0 #define OPC_adcb 1 #define OPC_add 2 #define OPC_addb 3 #define OPC_addl 4 #define OPC_and 5 #define OPC_andb 6 #define OPC_bit 7 #define OPC_bitb 8 #define OPC_call 9 #define OPC_calr 10 #define OPC_clr 11 #define OPC_clrb 12 #define OPC_com 13 #define OPC_comb 14 #define OPC_comflg 15 #define OPC_cp 16 #define OPC_cpb 17 #define OPC_cpd 18 #define OPC_cpdb 19 #define OPC_cpdr 20 #define OPC_cpdrb 21 #define OPC_cpi 22 #define OPC_cpib 23 #define OPC_cpir 24 #define OPC_cpirb 25 #define OPC_cpl 26 #define OPC_cpsd 27 #define OPC_cpsdb 28 #define OPC_cpsdr 29 #define OPC_cpsdrb 30 #define OPC_cpsi 31 #define OPC_cpsib 32 #define OPC_cpsir 33 #define OPC_cpsirb 34 #define OPC_dab 35 #define OPC_dbjnz 36 #define OPC_dec 37 #define OPC_decb 38 #define OPC_di 39 #define OPC_div 40 #define OPC_divl 41 #define OPC_djnz 42 #define OPC_ei 43 #define OPC_ex 44 #define OPC_exb 45 #define OPC_exts 46 #define OPC_extsb 47 #define OPC_extsl 48 #define OPC_halt 49 #define OPC_in 50 #define OPC_inb 51 #define OPC_inc 52 #define OPC_incb 53 #define OPC_ind 54 #define OPC_indb 55 #define OPC_indr 56 #define OPC_indrb 57 #define OPC_ini 58 #define OPC_inib 59 #define OPC_inir 60 #define OPC_inirb 61 #define OPC_iret 62 #define OPC_jp 63 #define OPC_jr 64 #define OPC_ld 65 #define OPC_lda 66 #define OPC_ldar 67 #define OPC_ldb 68 #define OPC_ldctl 69 #define OPC_ldir 70 #define OPC_ldirb 71 #define OPC_ldk 72 #define OPC_ldl 73 #define OPC_ldm 74 #define OPC_ldps 75 #define OPC_ldr 76 #define OPC_ldrb 77 #define OPC_ldrl 78 #define OPC_mbit 79 #define OPC_mreq 80 #define OPC_mres 81 #define OPC_mset 82 #define OPC_mult 83 #define OPC_multl 84 #define OPC_neg 85 #define OPC_negb 86 #define OPC_nop 87 #define OPC_or 88 #define OPC_orb 89 #define OPC_otdr 90 #define OPC_otdrb 91 #define OPC_otir 92 #define OPC_otirb 93 #define OPC_out 94 #define OPC_outb 95 #define OPC_outd 96 #define OPC_outdb 97 #define OPC_outi 98 #define OPC_outib 99 #define OPC_pop 100 #define OPC_popl 101 #define OPC_push 102 #define OPC_pushl 103 #define OPC_res 104 #define OPC_resb 105 #define OPC_resflg 106 #define OPC_ret 107 #define OPC_rl 108 #define OPC_rlb 109 #define OPC_rlc 110 #define OPC_rlcb 111 #define OPC_rldb 112 #define OPC_rr 113 #define OPC_rrb 114 #define OPC_rrc 115 #define OPC_rrcb 116 #define OPC_rrdb 117 #define OPC_sbc 118 #define OPC_sbcb 119 #define OPC_sda 120 #define OPC_sdab 121 #define OPC_sdal 122 #define OPC_sdl 123 #define OPC_sdlb 124 #define OPC_sdll 125 #define OPC_set 126 #define OPC_setb 127 #define OPC_setflg 128 #define OPC_sin 129 #define OPC_sinb 130 #define OPC_sind 131 #define OPC_sindb 132 #define OPC_sindr 133 #define OPC_sindrb 134 #define OPC_sini 135 #define OPC_sinib 136 #define OPC_sinir 137 #define OPC_sinirb 138 #define OPC_sla 139 #define OPC_slab 140 #define OPC_slal 141 #define OPC_sll 142 #define OPC_sllb 143 #define OPC_slll 144 #define OPC_sotdr 145 #define OPC_sotdrb 146 #define OPC_sotir 147 #define OPC_sotirb 148 #define OPC_sout 149 #define OPC_soutb 150 #define OPC_soutd 151 #define OPC_soutdb 152 #define OPC_souti 153 #define OPC_soutib 154 #define OPC_sra 155 #define OPC_srab 156 #define OPC_sral 157 #define OPC_srl 158 #define OPC_srlb 159 #define OPC_srll 160 #define OPC_sub 161 #define OPC_subb 162 #define OPC_subl 163 #define OPC_tcc 164 #define OPC_tccb 165 #define OPC_test 166 #define OPC_testb 167 #define OPC_testl 168 #define OPC_trdb 169 #define OPC_trdrb 170 #define OPC_trib 171 #define OPC_trirb 172 #define OPC_trtdrb 173 #define OPC_trtib 174 #define OPC_trtirb 175 #define OPC_trtrb 176 #define OPC_tset 177 #define OPC_tsetb 178 #define OPC_xor 179 #define OPC_xorb 180 #define OPC_ldd 181 #define OPC_lddb 182 #define OPC_lddr 183 #define OPC_lddrb 184 #define OPC_ldi 185 #define OPC_ldib 186 #define OPC_sc 187 #define OPC_bpt 188 #define OPC_ext0e 188 #define OPC_ext0f 188 #define OPC_ext8e 188 #define OPC_ext8f 188 #define OPC_rsvd36 188 #define OPC_rsvd38 188 #define OPC_rsvd78 188 #define OPC_rsvd7e 188 #define OPC_rsvd9d 188 #define OPC_rsvd9f 188 #define OPC_rsvdb9 188 #define OPC_rsvdbf 188 #define OPC_ldctlb 189 #define OPC_trtdb 190 #define OPC_brk 191 typedef struct { #ifdef NICENAMES const char *nicename; int type; int cycles; int flags; #endif const char *name; unsigned char opcode; void (*func) (void); unsigned int arg_info[4]; unsigned int byte_info[10]; int noperands; int length; int idx; } opcode_entry_type; #ifdef DEFINE_TABLE const opcode_entry_type z8k_table[] = { /* 1011 0101 ssss dddd *** adc rd,rs */ { #ifdef NICENAMES "adc rd,rs",16,5,0x3c, #endif "adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0}, /* 1011 0100 ssss dddd *** adcb rbd,rbs */ { #ifdef NICENAMES "adcb rbd,rbs",8,5,0x3f, #endif "adcb",OPC_adcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+0xb,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1}, /* 0000 0001 ssN0 dddd *** add rd,@rs */ { #ifdef NICENAMES "add rd,@rs",16,7,0x3c, #endif "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2}, /* 0100 0001 0000 dddd address_src *** add rd,address_src */ { #ifdef NICENAMES "add rd,address_src",16,9,0x3c, #endif "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,2}, /* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */ { #ifdef NICENAMES "add rd,address_src(rs)",16,10,0x3c, #endif "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 0001 0000 dddd imm16 *** add rd,imm16 */ { #ifdef NICENAMES "add rd,imm16",16,7,0x3c, #endif "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,2}, /* 1000 0001 ssss dddd *** add rd,rs */ { #ifdef NICENAMES "add rd,rs",16,4,0x3c, #endif "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2}, /* 0000 0000 ssN0 dddd *** addb rbd,@rs */ { #ifdef NICENAMES "addb rbd,@rs",8,7,0x3f, #endif "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,3}, /* 0100 0000 0000 dddd address_src *** addb rbd,address_src */ { #ifdef NICENAMES "addb rbd,address_src",8,9,0x3f, #endif "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3}, /* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */ { #ifdef NICENAMES "addb rbd,address_src(rs)",8,10,0x3f, #endif "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */ { #ifdef NICENAMES "addb rbd,imm8",8,7,0x3f, #endif "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1000 0000 ssss dddd *** addb rbd,rbs */ { #ifdef NICENAMES "addb rbd,rbs",8,4,0x3f, #endif "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,3}, /* 0001 0110 ssN0 dddd *** addl rrd,@rs */ { #ifdef NICENAMES "addl rrd,@rs",32,14,0x3c, #endif "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,4}, /* 0101 0110 0000 dddd address_src *** addl rrd,address_src */ { #ifdef NICENAMES "addl rrd,address_src",32,15,0x3c, #endif "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4}, /* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */ { #ifdef NICENAMES "addl rrd,address_src(rs)",32,16,0x3c, #endif "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */ { #ifdef NICENAMES "addl rrd,imm32",32,14,0x3c, #endif "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),}, {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,4}, /* 1001 0110 ssss dddd *** addl rrd,rrs */ { #ifdef NICENAMES "addl rrd,rrs",32,8,0x3c, #endif "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),}, {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,4}, /* 0000 0111 ssN0 dddd *** and rd,@rs */ { #ifdef NICENAMES "and rd,@rs",16,7,0x18, #endif "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,5}, /* 0100 0111 0000 dddd address_src *** and rd,address_src */ { #ifdef NICENAMES "and rd,address_src",16,9,0x18, #endif "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,5}, /* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */ { #ifdef NICENAMES "and rd,address_src(rs)",16,10,0x18, #endif "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 0111 0000 dddd imm16 *** and rd,imm16 */ { #ifdef NICENAMES "and rd,imm16",16,7,0x18, #endif "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5}, /* 1000 0111 ssss dddd *** and rd,rs */ { #ifdef NICENAMES "and rd,rs",16,4,0x18, #endif "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,5}, /* 0000 0110 ssN0 dddd *** andb rbd,@rs */ { #ifdef NICENAMES "andb rbd,@rs",8,7,0x1c, #endif "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6}, /* 0100 0110 0000 dddd address_src *** andb rbd,address_src */ { #ifdef NICENAMES "andb rbd,address_src",8,9,0x1c, #endif "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,6}, /* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */ { #ifdef NICENAMES "andb rbd,address_src(rs)",8,10,0x1c, #endif "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */ { #ifdef NICENAMES "andb rbd,imm8",8,7,0x1c, #endif "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1000 0110 ssss dddd *** andb rbd,rbs */ { #ifdef NICENAMES "andb rbd,rbs",8,4,0x1c, #endif "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6}, /* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */ { #ifdef NICENAMES "bit @rd,imm4",16,8,0x10, #endif "bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,7}, /* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */ { #ifdef NICENAMES "bit address_dst(rd),imm4",16,11,0x10, #endif "bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {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}, /* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */ { #ifdef NICENAMES "bit address_dst,imm4",16,10,0x10, #endif "bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,7}, /* 1010 0111 dddd imm4 *** bit rd,imm4 */ { #ifdef NICENAMES "bit rd,imm4",16,4,0x10, #endif "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,7}, /* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */ { #ifdef NICENAMES "bit rd,rs",16,10,0x10, #endif "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */ { #ifdef NICENAMES "bitb @rd,imm4",8,8,0x10, #endif "bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,8}, /* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */ { #ifdef NICENAMES "bitb address_dst(rd),imm4",8,11,0x10, #endif "bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {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}, /* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */ { #ifdef NICENAMES "bitb address_dst,imm4",8,10,0x10, #endif "bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,8}, /* 1010 0110 dddd imm4 *** bitb rbd,imm4 */ { #ifdef NICENAMES "bitb rbd,imm4",8,4,0x10, #endif "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,8}, /* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */ { #ifdef NICENAMES "bitb rbd,rs",8,10,0x10, #endif "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 0011 0110 0000 0000 *** bpt */ { #ifdef NICENAMES "bpt",8,2,0x00, #endif "bpt",OPC_bpt,0,{0}, {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,9}, /* 0000 1111 0000 1100 *** brk */ { #ifdef NICENAMES "brk",8,10,0x00, #endif "brk",OPC_brk,0,{0}, {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0xc,0,0,0,0,0,},0,2,10}, /* 0001 1111 ddN0 0000 *** call @rd */ { #ifdef NICENAMES "call @rd",32,10,0x00, #endif "call",OPC_call,0,{CLASS_IR+(ARG_RD),}, {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,11}, /* 0101 1111 0000 0000 address_dst *** call address_dst */ { #ifdef NICENAMES "call address_dst",32,12,0x00, #endif "call",OPC_call,0,{CLASS_DA+(ARG_DST),}, {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,11}, /* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */ { #ifdef NICENAMES "call address_dst(rd)",32,13,0x00, #endif "call",OPC_call,0,{CLASS_X+(ARG_RD),}, {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,11}, /* 1101 disp12 *** calr disp12 */ { #ifdef NICENAMES "calr disp12",16,10,0x00, #endif "calr",OPC_calr,0,{CLASS_DISP,}, {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,12}, /* 0000 1101 ddN0 1000 *** clr @rd */ { #ifdef NICENAMES "clr @rd",16,8,0x00, #endif "clr",OPC_clr,0,{CLASS_IR+(ARG_RD),}, {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,13}, /* 0100 1101 0000 1000 address_dst *** clr address_dst */ { #ifdef NICENAMES "clr address_dst",16,11,0x00, #endif "clr",OPC_clr,0,{CLASS_DA+(ARG_DST),}, {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,13}, /* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */ { #ifdef NICENAMES "clr address_dst(rd)",16,12,0x00, #endif "clr",OPC_clr,0,{CLASS_X+(ARG_RD),}, {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,13}, /* 1000 1101 dddd 1000 *** clr rd */ { #ifdef NICENAMES "clr rd",16,7,0x00, #endif "clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),}, {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,13}, /* 0000 1100 ddN0 1000 *** clrb @rd */ { #ifdef NICENAMES "clrb @rd",8,8,0x00, #endif "clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),}, {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,14}, /* 0100 1100 0000 1000 address_dst *** clrb address_dst */ { #ifdef NICENAMES "clrb address_dst",8,11,0x00, #endif "clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),}, {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,14}, /* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */ { #ifdef NICENAMES "clrb address_dst(rd)",8,12,0x00, #endif "clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),}, {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,14}, /* 1000 1100 dddd 1000 *** clrb rbd */ { #ifdef NICENAMES "clrb rbd",8,7,0x00, #endif "clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),}, {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,14}, /* 0000 1101 ddN0 0000 *** com @rd */ { #ifdef NICENAMES "com @rd",16,12,0x18, #endif "com",OPC_com,0,{CLASS_IR+(ARG_RD),}, {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,15}, /* 0100 1101 0000 0000 address_dst *** com address_dst */ { #ifdef NICENAMES "com address_dst",16,15,0x18, #endif "com",OPC_com,0,{CLASS_DA+(ARG_DST),}, {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,15}, /* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */ { #ifdef NICENAMES "com address_dst(rd)",16,16,0x18, #endif "com",OPC_com,0,{CLASS_X+(ARG_RD),}, {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,15}, /* 1000 1101 dddd 0000 *** com rd */ { #ifdef NICENAMES "com rd",16,7,0x18, #endif "com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),}, {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,15}, /* 0000 1100 ddN0 0000 *** comb @rd */ { #ifdef NICENAMES "comb @rd",8,12,0x1c, #endif "comb",OPC_comb,0,{CLASS_IR+(ARG_RD),}, {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,16}, /* 0100 1100 0000 0000 address_dst *** comb address_dst */ { #ifdef NICENAMES "comb address_dst",8,15,0x1c, #endif "comb",OPC_comb,0,{CLASS_DA+(ARG_DST),}, {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,16}, /* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */ { #ifdef NICENAMES "comb address_dst(rd)",8,16,0x1c, #endif "comb",OPC_comb,0,{CLASS_X+(ARG_RD),}, {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,16}, /* 1000 1100 dddd 0000 *** comb rbd */ { #ifdef NICENAMES "comb rbd",8,7,0x1c, #endif "comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),}, {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,16}, /* 1000 1101 flags 0101 *** comflg flags */ { #ifdef NICENAMES "comflg flags",16,7,0x3c, #endif "comflg",OPC_comflg,0,{CLASS_FLAGS,}, {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+5,0,0,0,0,0,},1,2,17}, /* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */ { #ifdef NICENAMES "cp @rd,imm16",16,11,0x3c, #endif "cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,18}, /* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */ { #ifdef NICENAMES "cp address_dst(rd),imm16",16,15,0x3c, #endif "cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {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}, /* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */ { #ifdef NICENAMES "cp address_dst,imm16",16,14,0x3c, #endif "cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),}, {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}, /* 0000 1011 ssN0 dddd *** cp rd,@rs */ { #ifdef NICENAMES "cp rd,@rs",16,7,0x3c, #endif "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,18}, /* 0100 1011 0000 dddd address_src *** cp rd,address_src */ { #ifdef NICENAMES "cp rd,address_src",16,9,0x3c, #endif "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18}, /* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */ { #ifdef NICENAMES "cp rd,address_src(rs)",16,10,0x3c, #endif "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */ { #ifdef NICENAMES "cp rd,imm16",16,7,0x3c, #endif "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,18}, /* 1000 1011 ssss dddd *** cp rd,rs */ { #ifdef NICENAMES "cp rd,rs",16,4,0x3c, #endif "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,18}, /* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */ { #ifdef NICENAMES "cpb @rd,imm8",8,11,0x3c, #endif "cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */ { #ifdef NICENAMES "cpb address_dst(rd),imm8",8,15,0x3c, #endif "cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */ { #ifdef NICENAMES "cpb address_dst,imm8",8,14,0x3c, #endif "cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),}, {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}, /* 0000 1010 ssN0 dddd *** cpb rbd,@rs */ { #ifdef NICENAMES "cpb rbd,@rs",8,7,0x3c, #endif "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,19}, /* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */ { #ifdef NICENAMES "cpb rbd,address_src",8,9,0x3c, #endif "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19}, /* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */ { #ifdef NICENAMES "cpb rbd,address_src(rs)",8,10,0x3c, #endif "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */ { #ifdef NICENAMES "cpb rbd,imm8",8,7,0x3c, #endif "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1000 1010 ssss dddd *** cpb rbd,rbs */ { #ifdef NICENAMES "cpb rbd,rbs",8,4,0x3c, #endif "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,19}, /* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */ { #ifdef NICENAMES "cpd rd,@rs,rr,cc",16,11,0x3c, #endif "cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */ { #ifdef NICENAMES "cpdb rbd,@rs,rr,cc",8,11,0x3c, #endif "cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */ { #ifdef NICENAMES "cpdr rd,@rs,rr,cc",16,11,0x3c, #endif "cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */ { #ifdef NICENAMES "cpdrb rbd,@rs,rr,cc",8,11,0x3c, #endif "cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */ { #ifdef NICENAMES "cpi rd,@rs,rr,cc",16,11,0x3c, #endif "cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */ { #ifdef NICENAMES "cpib rbd,@rs,rr,cc",8,11,0x3c, #endif "cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */ { #ifdef NICENAMES "cpir rd,@rs,rr,cc",16,11,0x3c, #endif "cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */ { #ifdef NICENAMES "cpirb rbd,@rs,rr,cc",8,11,0x3c, #endif "cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 0001 0000 ssN0 dddd *** cpl rrd,@rs */ { #ifdef NICENAMES "cpl rrd,@rs",32,14,0x3c, #endif "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,28}, /* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */ { #ifdef NICENAMES "cpl rrd,address_src",32,15,0x3c, #endif "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,28}, /* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */ { #ifdef NICENAMES "cpl rrd,address_src(rs)",32,16,0x3c, #endif "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */ { #ifdef NICENAMES "cpl rrd,imm32",32,14,0x3c, #endif "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),}, {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,28}, /* 1001 0000 ssss dddd *** cpl rrd,rrs */ { #ifdef NICENAMES "cpl rrd,rrs",32,8,0x3c, #endif "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),}, {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,28}, /* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */ { #ifdef NICENAMES "cpsd @rd,@rs,rr,cc",16,11,0x3c, #endif "cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */ { #ifdef NICENAMES "cpsdb @rd,@rs,rr,cc",8,11,0x3c, #endif "cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */ { #ifdef NICENAMES "cpsdr @rd,@rs,rr,cc",16,11,0x3c, #endif "cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */ { #ifdef NICENAMES "cpsdrb @rd,@rs,rr,cc",8,11,0x3c, #endif "cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */ { #ifdef NICENAMES "cpsi @rd,@rs,rr,cc",16,11,0x3c, #endif "cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */ { #ifdef NICENAMES "cpsib @rd,@rs,rr,cc",8,11,0x3c, #endif "cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */ { #ifdef NICENAMES "cpsir @rd,@rs,rr,cc",16,11,0x3c, #endif "cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */ { #ifdef NICENAMES "cpsirb @rd,@rs,rr,cc",8,11,0x3c, #endif "cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,}, {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}, /* 1011 0000 dddd 0000 *** dab rbd */ { #ifdef NICENAMES "dab rbd",8,5,0x38, #endif "dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),}, {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,37}, /* 1111 dddd 0disp7 *** dbjnz rbd,disp7 */ { #ifdef NICENAMES "dbjnz rbd,disp7",16,11,0x00, #endif "dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,}, {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,38}, /* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */ { #ifdef NICENAMES "dec @rd,imm4m1",16,11,0x1c, #endif "dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),}, {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,39}, /* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */ { #ifdef NICENAMES "dec address_dst(rd),imm4m1",16,14,0x1c, #endif "dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),}, {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}, /* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */ { #ifdef NICENAMES "dec address_dst,imm4m1",16,13,0x1c, #endif "dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),}, {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,39}, /* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */ { #ifdef NICENAMES "dec rd,imm4m1",16,4,0x1c, #endif "dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),}, {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,39}, /* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */ { #ifdef NICENAMES "decb @rd,imm4m1",8,11,0x1c, #endif "decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),}, {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,40}, /* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */ { #ifdef NICENAMES "decb address_dst(rd),imm4m1",8,14,0x1c, #endif "decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),}, {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}, /* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */ { #ifdef NICENAMES "decb address_dst,imm4m1",8,13,0x1c, #endif "decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),}, {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,40}, /* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */ { #ifdef NICENAMES "decb rbd,imm4m1",8,4,0x1c, #endif "decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),}, {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,40}, /* 0111 1100 0000 00ii *** di i2 */ { #ifdef NICENAMES "di i2",16,7,0x00, #endif "di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),}, {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,41}, /* 0001 1011 ssN0 dddd *** div rrd,@rs */ { #ifdef NICENAMES "div rrd,@rs",16,107,0x3c, #endif "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,42}, /* 0101 1011 0000 dddd address_src *** div rrd,address_src */ { #ifdef NICENAMES "div rrd,address_src",16,107,0x3c, #endif "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,42}, /* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */ { #ifdef NICENAMES "div rrd,address_src(rs)",16,107,0x3c, #endif "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */ { #ifdef NICENAMES "div rrd,imm16",16,107,0x3c, #endif "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,42}, /* 1001 1011 ssss dddd *** div rrd,rs */ { #ifdef NICENAMES "div rrd,rs",16,107,0x3c, #endif "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,42}, /* 0001 1010 ssN0 dddd *** divl rqd,@rs */ { #ifdef NICENAMES "divl rqd,@rs",32,744,0x3c, #endif "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,43}, /* 0101 1010 0000 dddd address_src *** divl rqd,address_src */ { #ifdef NICENAMES "divl rqd,address_src",32,745,0x3c, #endif "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,43}, /* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */ { #ifdef NICENAMES "divl rqd,address_src(rs)",32,746,0x3c, #endif "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */ { #ifdef NICENAMES "divl rqd,imm32",32,744,0x3c, #endif "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),}, {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,43}, /* 1001 1010 ssss dddd *** divl rqd,rrs */ { #ifdef NICENAMES "divl rqd,rrs",32,744,0x3c, #endif "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),}, {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,43}, /* 1111 dddd 1disp7 *** djnz rd,disp7 */ { #ifdef NICENAMES "djnz rd,disp7",16,11,0x00, #endif "djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,}, {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,44}, /* 0111 1100 0000 01ii *** ei i2 */ { #ifdef NICENAMES "ei i2",16,7,0x00, #endif "ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),}, {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,45}, /* 0010 1101 ssN0 dddd *** ex rd,@rs */ { #ifdef NICENAMES "ex rd,@rs",16,12,0x00, #endif "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,46}, /* 0110 1101 0000 dddd address_src *** ex rd,address_src */ { #ifdef NICENAMES "ex rd,address_src",16,15,0x00, #endif "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,46}, /* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */ { #ifdef NICENAMES "ex rd,address_src(rs)",16,16,0x00, #endif "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 1010 1101 ssss dddd *** ex rd,rs */ { #ifdef NICENAMES "ex rd,rs",16,6,0x00, #endif "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,46}, /* 0010 1100 ssN0 dddd *** exb rbd,@rs */ { #ifdef NICENAMES "exb rbd,@rs",8,12,0x00, #endif "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,47}, /* 0110 1100 0000 dddd address_src *** exb rbd,address_src */ { #ifdef NICENAMES "exb rbd,address_src",8,15,0x00, #endif "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,47}, /* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */ { #ifdef NICENAMES "exb rbd,address_src(rs)",8,16,0x00, #endif "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 1010 1100 ssss dddd *** exb rbd,rbs */ { #ifdef NICENAMES "exb rbd,rbs",8,6,0x00, #endif "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,47}, /* 0000 1110 imm8 *** ext0e imm8 */ { #ifdef NICENAMES "ext0e imm8",8,10,0x00, #endif "ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),}, {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,48}, /* 0000 1111 imm8 *** ext0f imm8 */ { #ifdef NICENAMES "ext0f imm8",8,10,0x00, #endif "ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),}, {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,49}, /* 1000 1110 imm8 *** ext8e imm8 */ { #ifdef NICENAMES "ext8e imm8",8,10,0x00, #endif "ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),}, {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,50}, /* 1000 1111 imm8 *** ext8f imm8 */ { #ifdef NICENAMES "ext8f imm8",8,10,0x00, #endif "ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),}, {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,51}, /* 1011 0001 dddd 1010 *** exts rrd */ { #ifdef NICENAMES "exts rrd",16,11,0x00, #endif "exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),}, {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,52}, /* 1011 0001 dddd 0000 *** extsb rd */ { #ifdef NICENAMES "extsb rd",8,11,0x00, #endif "extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),}, {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53}, /* 1011 0001 dddd 0111 *** extsl rqd */ { #ifdef NICENAMES "extsl rqd",32,11,0x00, #endif "extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),}, {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,54}, /* 0111 1010 0000 0000 *** halt */ { #ifdef NICENAMES "halt",16,8,0x00, #endif "halt",OPC_halt,0,{0}, {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,55}, /* 0011 1101 ssss dddd *** in rd,@ri */ { #ifdef NICENAMES "in rd,@ri",16,10,0x00, #endif "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IRO+(ARG_RS),}, {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,56}, /* 0011 1011 dddd 0100 imm16 *** in rd,imm16 */ { #ifdef NICENAMES "in rd,imm16",16,12,0x00, #endif "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,56}, /* 0011 1100 ssss dddd *** inb rbd,@ri */ { #ifdef NICENAMES "inb rbd,@ri",8,12,0x00, #endif "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IRO+(ARG_RS),}, {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,57}, /* 0011 1010 dddd 0100 imm16 *** inb rbd,imm16 */ { #ifdef NICENAMES "inb rbd,imm16",8,10,0x00, #endif "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,57}, /* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */ { #ifdef NICENAMES "inc @rd,imm4m1",16,11,0x1c, #endif "inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),}, {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,58}, /* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */ { #ifdef NICENAMES "inc address_dst(rd),imm4m1",16,14,0x1c, #endif "inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),}, {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}, /* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */ { #ifdef NICENAMES "inc address_dst,imm4m1",16,13,0x1c, #endif "inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),}, {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,58}, /* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */ { #ifdef NICENAMES "inc rd,imm4m1",16,4,0x1c, #endif "inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),}, {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,58}, /* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */ { #ifdef NICENAMES "incb @rd,imm4m1",8,11,0x1c, #endif "incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),}, {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,59}, /* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */ { #ifdef NICENAMES "incb address_dst(rd),imm4m1",8,14,0x1c, #endif "incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),}, {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}, /* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */ { #ifdef NICENAMES "incb address_dst,imm4m1",8,13,0x1c, #endif "incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),}, {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,59}, /* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */ { #ifdef NICENAMES "incb rbd,imm4m1",8,4,0x1c, #endif "incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),}, {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,59}, /* 0011 1011 ssss 1000 0000 aaaa ddN0 1000 *** ind @rd,@ri,ra */ { #ifdef NICENAMES "ind @rd,@ri,ra",16,21,0x04, #endif "ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssss 1000 0000 aaaa ddN0 1000 *** indb @rd,@ri,ra */ { #ifdef NICENAMES "indb @rd,@ri,ra",8,21,0x04, #endif "indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1011 ssss 1000 0000 aaaa ddN0 0000 *** indr @rd,@ri,ra */ { #ifdef NICENAMES "indr @rd,@ri,ra",16,11,0x04, #endif "indr",OPC_indr,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssss 1000 0000 aaaa ddN0 0000 *** indrb @rd,@ri,ra */ { #ifdef NICENAMES "indrb @rd,@ri,ra",8,11,0x04, #endif "indrb",OPC_indrb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1011 ssss 0000 0000 aaaa ddN0 1000 *** ini @rd,@ri,ra */ { #ifdef NICENAMES "ini @rd,@ri,ra",16,21,0x04, #endif "ini",OPC_ini,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssss 0000 0000 aaaa ddN0 1000 *** inib @rd,@ri,ra */ { #ifdef NICENAMES "inib @rd,@ri,ra",8,21,0x04, #endif "inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1011 ssss 0000 0000 aaaa ddN0 0000 *** inir @rd,@ri,ra */ { #ifdef NICENAMES "inir @rd,@ri,ra",16,11,0x04, #endif "inir",OPC_inir,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssss 0000 0000 aaaa ddN0 0000 *** inirb @rd,@ri,ra */ { #ifdef NICENAMES "inirb @rd,@ri,ra",8,11,0x04, #endif "inirb",OPC_inirb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0111 1011 0000 0000 *** iret */ { #ifdef NICENAMES "iret",16,13,0x3f, #endif "iret",OPC_iret,0,{0}, {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,68}, /* 0001 1110 ddN0 cccc *** jp cc,@rd */ { #ifdef NICENAMES "jp cc,@rd",16,10,0x00, #endif "jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),}, {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,69}, /* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */ { #ifdef NICENAMES "jp cc,address_dst",16,7,0x00, #endif "jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),}, {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,69}, /* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */ { #ifdef NICENAMES "jp cc,address_dst(rd)",16,8,0x00, #endif "jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),}, {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,69}, /* 1110 cccc disp8 *** jr cc,disp8 */ { #ifdef NICENAMES "jr cc,disp8",16,6,0x00, #endif "jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,}, {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,70}, /* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */ { #ifdef NICENAMES "ld @rd,imm16",16,7,0x00, #endif "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71}, /* 0010 1111 ddN0 ssss *** ld @rd,rs */ { #ifdef NICENAMES "ld @rd,rs",16,8,0x00, #endif "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,71}, /* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */ { #ifdef NICENAMES "ld address_dst(rd),imm16",16,15,0x00, #endif "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {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}, /* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */ { #ifdef NICENAMES "ld address_dst(rd),rs",16,12,0x00, #endif "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */ { #ifdef NICENAMES "ld address_dst,imm16",16,14,0x00, #endif "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),}, {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}, /* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */ { #ifdef NICENAMES "ld address_dst,rs",16,11,0x00, #endif "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,71}, /* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */ { #ifdef NICENAMES "ld rd(imm16),rs",16,14,0x00, #endif "ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */ { #ifdef NICENAMES "ld rd(rx),rs",16,14,0x00, #endif "ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 0010 0001 ssN0 dddd *** ld rd,@rs */ { #ifdef NICENAMES "ld rd,@rs",16,7,0x00, #endif "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,71}, /* 0110 0001 0000 dddd address_src *** ld rd,address_src */ { #ifdef NICENAMES "ld rd,address_src",16,9,0x00, #endif "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71}, /* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */ { #ifdef NICENAMES "ld rd,address_src(rs)",16,10,0x00, #endif "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */ { #ifdef NICENAMES "ld rd,imm16",16,7,0x00, #endif "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71}, /* 1010 0001 ssss dddd *** ld rd,rs */ { #ifdef NICENAMES "ld rd,rs",16,3,0x00, #endif "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,71}, /* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */ { #ifdef NICENAMES "ld rd,rs(imm16)",16,14,0x00, #endif "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),}, {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}, /* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */ { #ifdef NICENAMES "ld rd,rs(rx)",16,14,0x00, #endif "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),}, {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}, /* 0111 0110 0000 dddd address_src *** lda prd,address_src */ { #ifdef NICENAMES "lda prd,address_src",16,12,0x00, #endif "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72}, /* 0111 0110 ssN0 dddd address_src *** lda prd,address_src(rs) */ { #ifdef NICENAMES "lda prd,address_src(rs)",16,13,0x00, #endif "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0011 0100 ssN0 dddd imm16 *** lda prd,rs(imm16) */ { #ifdef NICENAMES "lda prd,rs(imm16)",16,15,0x00, #endif "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BA+(ARG_RS),}, {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}, /* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda prd,rs(rx) */ { #ifdef NICENAMES "lda prd,rs(rx)",16,15,0x00, #endif "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BX+(ARG_RS),}, {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}, /* 0011 0100 0000 dddd disp16 *** ldar prd,disp16 */ { #ifdef NICENAMES "ldar prd,disp16",16,15,0x00, #endif "ldar",OPC_ldar,0,{CLASS_PR+(ARG_RD),CLASS_DISP,}, {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,73}, /* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */ { #ifdef NICENAMES "ldb @rd,imm8",8,7,0x00, #endif "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 0010 1110 ddN0 ssss *** ldb @rd,rbs */ { #ifdef NICENAMES "ldb @rd,rbs",8,8,0x00, #endif "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,74}, /* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */ { #ifdef NICENAMES "ldb address_dst(rd),imm8",8,15,0x00, #endif "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 0110 1110 ddN0 ssss address_dst *** ldb address_dst(rd),rbs */ { #ifdef NICENAMES "ldb address_dst(rd),rbs",8,12,0x00, #endif "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {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}, /* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */ { #ifdef NICENAMES "ldb address_dst,imm8",8,14,0x00, #endif "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),}, {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}, /* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */ { #ifdef NICENAMES "ldb address_dst,rbs",8,11,0x00, #endif "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,74}, /* 0010 0000 ssN0 dddd *** ldb rbd,@rs */ { #ifdef NICENAMES "ldb rbd,@rs",8,7,0x00, #endif "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74}, /* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */ { #ifdef NICENAMES "ldb rbd,address_src",8,9,0x00, #endif "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,74}, /* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */ { #ifdef NICENAMES "ldb rbd,address_src(rs)",8,10,0x00, #endif "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 1100 dddd imm8 *** ldb rbd,imm8 */ { #ifdef NICENAMES "ldb rbd,imm8",8,5,0x00, #endif "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,74}, /* 0010 0000 0000 dddd imm8 imm8 *** ldb rbd,imm8 */ { #ifdef NICENAMES "ldb rbd,imm8",8,7,0x00, #endif "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1010 0000 ssss dddd *** ldb rbd,rbs */ { #ifdef NICENAMES "ldb rbd,rbs",8,3,0x00, #endif "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74}, /* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */ { #ifdef NICENAMES "ldb rbd,rs(imm16)",8,14,0x00, #endif "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),}, {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}, /* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */ { #ifdef NICENAMES "ldb rbd,rs(rx)",8,14,0x00, #endif "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),}, {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}, /* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */ { #ifdef NICENAMES "ldb rd(imm16),rbs",8,14,0x00, #endif "ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {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}, /* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */ { #ifdef NICENAMES "ldb rd(rx),rbs",8,14,0x00, #endif "ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {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}, /* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */ { #ifdef NICENAMES "ldctl ctrl,rs",32,7,0x00, #endif "ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,75}, /* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */ { #ifdef NICENAMES "ldctl rd,ctrl",32,7,0x00, #endif "ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,}, {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,75}, /* 1000 1100 ssss 1001 *** ldctlb ctrl,rbs */ { #ifdef NICENAMES "ldctlb ctrl,rbs",32,7,0x3f, #endif "ldctlb",OPC_ldctlb,0,{CLASS_CTRL,CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_BIT+9,0,0,0,0,0,},2,2,76}, /* 1000 1100 dddd 0001 *** ldctlb rbd,ctrl */ { #ifdef NICENAMES "ldctlb rbd,ctrl",32,7,0x00, #endif "ldctlb",OPC_ldctlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_CTRL,}, {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+1,0,0,0,0,0,},2,2,76}, /* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rd,@rs,rr */ { #ifdef NICENAMES "ldd @rd,@rs,rr",16,11,0x04, #endif "ldd",OPC_ldd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rd,@rs,rr */ { #ifdef NICENAMES "lddb @rd,@rs,rr",8,11,0x04, #endif "lddb",OPC_lddb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rd,@rs,rr */ { #ifdef NICENAMES "lddr @rd,@rs,rr",16,11,0x04, #endif "lddr",OPC_lddr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1010 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rd,@rs,rr */ { #ifdef NICENAMES "lddrb @rd,@rs,rr",8,11,0x04, #endif "lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */ { #ifdef NICENAMES "ldi @rd,@rs,rr",16,11,0x04, #endif "ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */ { #ifdef NICENAMES "ldib @rd,@rs,rr",8,11,0x04, #endif "ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */ { #ifdef NICENAMES "ldir @rd,@rs,rr",16,11,0x04, #endif "ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */ { #ifdef NICENAMES "ldirb @rd,@rs,rr",8,11,0x04, #endif "ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1101 dddd imm4 *** ldk rd,imm4 */ { #ifdef NICENAMES "ldk rd,imm4",16,5,0x00, #endif "ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,85}, /* 0001 1101 ddN0 ssss *** ldl @rd,rrs */ { #ifdef NICENAMES "ldl @rd,rrs",32,11,0x00, #endif "ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,86}, /* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */ { #ifdef NICENAMES "ldl address_dst(rd),rrs",32,14,0x00, #endif "ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),}, {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}, /* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */ { #ifdef NICENAMES "ldl address_dst,rrs",32,15,0x00, #endif "ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),}, {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,86}, /* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */ { #ifdef NICENAMES "ldl rd(imm16),rrs",32,17,0x00, #endif "ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),}, {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}, /* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */ { #ifdef NICENAMES "ldl rd(rx),rrs",32,17,0x00, #endif "ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),}, {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}, /* 0001 0100 ssN0 dddd *** ldl rrd,@rs */ { #ifdef NICENAMES "ldl rrd,@rs",32,11,0x00, #endif "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,86}, /* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */ { #ifdef NICENAMES "ldl rrd,address_src",32,12,0x00, #endif "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,86}, /* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */ { #ifdef NICENAMES "ldl rrd,address_src(rs)",32,13,0x00, #endif "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */ { #ifdef NICENAMES "ldl rrd,imm32",32,11,0x00, #endif "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),}, {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86}, /* 1001 0100 ssss dddd *** ldl rrd,rrs */ { #ifdef NICENAMES "ldl rrd,rrs",32,5,0x00, #endif "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),}, {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,86}, /* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */ { #ifdef NICENAMES "ldl rrd,rs(imm16)",32,17,0x00, #endif "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),}, {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}, /* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */ { #ifdef NICENAMES "ldl rrd,rs(rx)",32,17,0x00, #endif "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),}, {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}, /* 0001 1100 ddN0 1001 0000 ssss 0000 imm4m1 *** ldm @rd,rs,n */ { #ifdef NICENAMES "ldm @rd,rs,n",16,11,0x00, #endif "ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),}, {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}, /* 0101 1100 ddN0 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst(rd),rs,n */ { #ifdef NICENAMES "ldm address_dst(rd),rs,n",16,15,0x00, #endif "ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),}, {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}, /* 0101 1100 0000 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst,rs,n */ { #ifdef NICENAMES "ldm address_dst,rs,n",16,14,0x00, #endif "ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),}, {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}, /* 0001 1100 ssN0 0001 0000 dddd 0000 imm4m1 *** ldm rd,@rs,n */ { #ifdef NICENAMES "ldm rd,@rs,n",16,11,0x00, #endif "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),}, {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}, /* 0101 1100 ssN0 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src(rs),n */ { #ifdef NICENAMES "ldm rd,address_src(rs),n",16,15,0x00, #endif "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),}, {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}, /* 0101 1100 0000 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src,n */ { #ifdef NICENAMES "ldm rd,address_src,n",16,14,0x00, #endif "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMM4M1),}, {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}, /* 0011 1001 ssN0 0000 *** ldps @rs */ { #ifdef NICENAMES "ldps @rs",16,12,0x3f, #endif "ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),}, {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,88}, /* 0111 1001 0000 0000 address_src *** ldps address_src */ { #ifdef NICENAMES "ldps address_src",16,16,0x3f, #endif "ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),}, {CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,88}, /* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */ { #ifdef NICENAMES "ldps address_src(rs)",16,17,0x3f, #endif "ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),}, {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,88}, /* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */ { #ifdef NICENAMES "ldr disp16,rs",16,14,0x00, #endif "ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,89}, /* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */ { #ifdef NICENAMES "ldr rd,disp16",16,14,0x00, #endif "ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,}, {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,89}, /* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */ { #ifdef NICENAMES "ldrb disp16,rbs",8,14,0x00, #endif "ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,90}, /* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */ { #ifdef NICENAMES "ldrb rbd,disp16",8,14,0x00, #endif "ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,}, {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,90}, /* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */ { #ifdef NICENAMES "ldrl disp16,rrs",32,17,0x00, #endif "ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),}, {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,91}, /* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */ { #ifdef NICENAMES "ldrl rrd,disp16",32,17,0x00, #endif "ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,}, {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,91}, /* 0111 1011 0000 1010 *** mbit */ { #ifdef NICENAMES "mbit",16,7,0x38, #endif "mbit",OPC_mbit,0,{0}, {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,92}, /* 0111 1011 dddd 1101 *** mreq rd */ { #ifdef NICENAMES "mreq rd",16,12,0x18, #endif "mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),}, {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,93}, /* 0111 1011 0000 1001 *** mres */ { #ifdef NICENAMES "mres",16,5,0x00, #endif "mres",OPC_mres,0,{0}, {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,94}, /* 0111 1011 0000 1000 *** mset */ { #ifdef NICENAMES "mset",16,5,0x00, #endif "mset",OPC_mset,0,{0}, {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,95}, /* 0001 1001 ssN0 dddd *** mult rrd,@rs */ { #ifdef NICENAMES "mult rrd,@rs",16,70,0x3c, #endif "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,96}, /* 0101 1001 0000 dddd address_src *** mult rrd,address_src */ { #ifdef NICENAMES "mult rrd,address_src",16,70,0x3c, #endif "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,96}, /* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */ { #ifdef NICENAMES "mult rrd,address_src(rs)",16,70,0x3c, #endif "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */ { #ifdef NICENAMES "mult rrd,imm16",16,70,0x3c, #endif "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,96}, /* 1001 1001 ssss dddd *** mult rrd,rs */ { #ifdef NICENAMES "mult rrd,rs",16,70,0x3c, #endif "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,96}, /* 0001 1000 ssN0 dddd *** multl rqd,@rs */ { #ifdef NICENAMES "multl rqd,@rs",32,282,0x3c, #endif "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,97}, /* 0101 1000 0000 dddd address_src *** multl rqd,address_src */ { #ifdef NICENAMES "multl rqd,address_src",32,282,0x3c, #endif "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,97}, /* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */ { #ifdef NICENAMES "multl rqd,address_src(rs)",32,282,0x3c, #endif "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */ { #ifdef NICENAMES "multl rqd,imm32",32,282,0x3c, #endif "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),}, {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,97}, /* 1001 1000 ssss dddd *** multl rqd,rrs */ { #ifdef NICENAMES "multl rqd,rrs",32,282,0x3c, #endif "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),}, {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,97}, /* 0000 1101 ddN0 0010 *** neg @rd */ { #ifdef NICENAMES "neg @rd",16,12,0x3c, #endif "neg",OPC_neg,0,{CLASS_IR+(ARG_RD),}, {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,98}, /* 0100 1101 0000 0010 address_dst *** neg address_dst */ { #ifdef NICENAMES "neg address_dst",16,15,0x3c, #endif "neg",OPC_neg,0,{CLASS_DA+(ARG_DST),}, {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,98}, /* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */ { #ifdef NICENAMES "neg address_dst(rd)",16,16,0x3c, #endif "neg",OPC_neg,0,{CLASS_X+(ARG_RD),}, {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,98}, /* 1000 1101 dddd 0010 *** neg rd */ { #ifdef NICENAMES "neg rd",16,7,0x3c, #endif "neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),}, {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,98}, /* 0000 1100 ddN0 0010 *** negb @rd */ { #ifdef NICENAMES "negb @rd",8,12,0x3c, #endif "negb",OPC_negb,0,{CLASS_IR+(ARG_RD),}, {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,99}, /* 0100 1100 0000 0010 address_dst *** negb address_dst */ { #ifdef NICENAMES "negb address_dst",8,15,0x3c, #endif "negb",OPC_negb,0,{CLASS_DA+(ARG_DST),}, {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,99}, /* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */ { #ifdef NICENAMES "negb address_dst(rd)",8,16,0x3c, #endif "negb",OPC_negb,0,{CLASS_X+(ARG_RD),}, {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,99}, /* 1000 1100 dddd 0010 *** negb rbd */ { #ifdef NICENAMES "negb rbd",8,7,0x3c, #endif "negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),}, {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,99}, /* 1000 1101 0000 0111 *** nop */ { #ifdef NICENAMES "nop",16,7,0x00, #endif "nop",OPC_nop,0,{0}, {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,100}, /* 0000 0101 ssN0 dddd *** or rd,@rs */ { #ifdef NICENAMES "or rd,@rs",16,7,0x38, #endif "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,101}, /* 0100 0101 0000 dddd address_src *** or rd,address_src */ { #ifdef NICENAMES "or rd,address_src",16,9,0x38, #endif "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,101}, /* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */ { #ifdef NICENAMES "or rd,address_src(rs)",16,10,0x38, #endif "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 0101 0000 dddd imm16 *** or rd,imm16 */ { #ifdef NICENAMES "or rd,imm16",16,7,0x38, #endif "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,101}, /* 1000 0101 ssss dddd *** or rd,rs */ { #ifdef NICENAMES "or rd,rs",16,4,0x38, #endif "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,101}, /* 0000 0100 ssN0 dddd *** orb rbd,@rs */ { #ifdef NICENAMES "orb rbd,@rs",8,7,0x3c, #endif "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,102}, /* 0100 0100 0000 dddd address_src *** orb rbd,address_src */ { #ifdef NICENAMES "orb rbd,address_src",8,9,0x3c, #endif "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,102}, /* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */ { #ifdef NICENAMES "orb rbd,address_src(rs)",8,10,0x3c, #endif "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */ { #ifdef NICENAMES "orb rbd,imm8",8,7,0x3c, #endif "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1000 0100 ssss dddd *** orb rbd,rbs */ { #ifdef NICENAMES "orb rbd,rbs",8,4,0x3c, #endif "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,102}, /* 0011 1011 ssN0 1010 0000 aaaa dddd 0000 *** otdr @ro,@rs,ra */ { #ifdef NICENAMES "otdr @ro,@rs,ra",16,11,0x04, #endif "otdr",OPC_otdr,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssN0 1010 0000 aaaa dddd 0000 *** otdrb @ro,@rs,ra */ { #ifdef NICENAMES "otdrb @ro,@rs,ra",8,11,0x04, #endif "otdrb",OPC_otdrb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1011 ssN0 0010 0000 aaaa dddd 0000 *** otir @ro,@rs,ra */ { #ifdef NICENAMES "otir @ro,@rs,ra",16,11,0x04, #endif "otir",OPC_otir,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssN0 0010 0000 aaaa dddd 0000 *** otirb @ro,@rs,ra */ { #ifdef NICENAMES "otirb @ro,@rs,ra",8,11,0x04, #endif "otirb",OPC_otirb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1111 dddd ssss *** out @ro,rs */ { #ifdef NICENAMES "out @ro,rs",16,10,0x00, #endif "out",OPC_out,0,{CLASS_IRO+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,107}, /* 0011 1011 ssss 0110 imm16 *** out imm16,rs */ { #ifdef NICENAMES "out imm16,rs",16,12,0x00, #endif "out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,107}, /* 0011 1110 dddd ssss *** outb @ro,rbs */ { #ifdef NICENAMES "outb @ro,rbs",8,10,0x00, #endif "outb",OPC_outb,0,{CLASS_IRO+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,108}, /* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */ { #ifdef NICENAMES "outb imm16,rbs",8,12,0x00, #endif "outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,108}, /* 0011 1011 ssN0 1010 0000 aaaa dddd 1000 *** outd @ro,@rs,ra */ { #ifdef NICENAMES "outd @ro,@rs,ra",16,21,0x04, #endif "outd",OPC_outd,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssN0 1010 0000 aaaa dddd 1000 *** outdb @ro,@rs,ra */ { #ifdef NICENAMES "outdb @ro,@rs,ra",8,21,0x04, #endif "outdb",OPC_outdb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1011 ssN0 0010 0000 aaaa dddd 1000 *** outi @ro,@rs,ra */ { #ifdef NICENAMES "outi @ro,@rs,ra",16,21,0x04, #endif "outi",OPC_outi,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssN0 0010 0000 aaaa dddd 1000 *** outib @ro,@rs,ra */ { #ifdef NICENAMES "outib @ro,@rs,ra",8,21,0x04, #endif "outib",OPC_outib,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */ { #ifdef NICENAMES "pop @rd,@rs",16,12,0x00, #endif "pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,113}, /* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */ { #ifdef NICENAMES "pop address_dst(rd),@rs",16,16,0x00, #endif "pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),}, {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}, /* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */ { #ifdef NICENAMES "pop address_dst,@rs",16,16,0x00, #endif "pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),}, {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,113}, /* 1001 0111 ssN0 dddd *** pop rd,@rs */ { #ifdef NICENAMES "pop rd,@rs",16,8,0x00, #endif "pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,113}, /* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */ { #ifdef NICENAMES "popl @rd,@rs",32,19,0x00, #endif "popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,114}, /* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */ { #ifdef NICENAMES "popl address_dst(rd),@rs",32,23,0x00, #endif "popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),}, {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}, /* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */ { #ifdef NICENAMES "popl address_dst,@rs",32,23,0x00, #endif "popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),}, {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,114}, /* 1001 0101 ssN0 dddd *** popl rrd,@rs */ { #ifdef NICENAMES "popl rrd,@rs",32,12,0x00, #endif "popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,114}, /* 0001 0011 ddN0 ssN0 *** push @rd,@rs */ { #ifdef NICENAMES "push @rd,@rs",16,13,0x00, #endif "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,115}, /* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */ { #ifdef NICENAMES "push @rd,address_src",16,14,0x00, #endif "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,115}, /* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */ { #ifdef NICENAMES "push @rd,address_src(rs)",16,14,0x00, #endif "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */ { #ifdef NICENAMES "push @rd,imm16",16,12,0x00, #endif "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,115}, /* 1001 0011 ddN0 ssss *** push @rd,rs */ { #ifdef NICENAMES "push @rd,rs",16,9,0x00, #endif "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,115}, /* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */ { #ifdef NICENAMES "pushl @rd,@rs",32,20,0x00, #endif "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,116}, /* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */ { #ifdef NICENAMES "pushl @rd,address_src",32,21,0x00, #endif "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,116}, /* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */ { #ifdef NICENAMES "pushl @rd,address_src(rs)",32,21,0x00, #endif "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 1001 0001 ddN0 ssss *** pushl @rd,rrs */ { #ifdef NICENAMES "pushl @rd,rrs",32,12,0x00, #endif "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),}, {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,116}, /* 0010 0011 ddN0 imm4 *** res @rd,imm4 */ { #ifdef NICENAMES "res @rd,imm4",16,11,0x00, #endif "res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,117}, /* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */ { #ifdef NICENAMES "res address_dst(rd),imm4",16,14,0x00, #endif "res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {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}, /* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */ { #ifdef NICENAMES "res address_dst,imm4",16,13,0x00, #endif "res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,117}, /* 1010 0011 dddd imm4 *** res rd,imm4 */ { #ifdef NICENAMES "res rd,imm4",16,4,0x00, #endif "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,117}, /* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */ { #ifdef NICENAMES "res rd,rs",16,10,0x00, #endif "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */ { #ifdef NICENAMES "resb @rd,imm4",8,11,0x00, #endif "resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,118}, /* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */ { #ifdef NICENAMES "resb address_dst(rd),imm4",8,14,0x00, #endif "resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {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}, /* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */ { #ifdef NICENAMES "resb address_dst,imm4",8,13,0x00, #endif "resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,118}, /* 1010 0010 dddd imm4 *** resb rbd,imm4 */ { #ifdef NICENAMES "resb rbd,imm4",8,4,0x00, #endif "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,118}, /* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */ { #ifdef NICENAMES "resb rbd,rs",8,10,0x00, #endif "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 1000 1101 flags 0011 *** resflg flags */ { #ifdef NICENAMES "resflg flags",16,7,0x3c, #endif "resflg",OPC_resflg,0,{CLASS_FLAGS,}, {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+3,0,0,0,0,0,},1,2,119}, /* 1001 1110 0000 cccc *** ret cc */ { #ifdef NICENAMES "ret cc",16,10,0x00, #endif "ret",OPC_ret,0,{CLASS_CC,}, {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,120}, /* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */ { #ifdef NICENAMES "rl rd,imm1or2",16,6,0x3c, #endif "rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),}, {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,121}, /* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */ { #ifdef NICENAMES "rlb rbd,imm1or2",8,6,0x3c, #endif "rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),}, {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,122}, /* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */ { #ifdef NICENAMES "rlc rd,imm1or2",16,6,0x3c, #endif "rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),}, {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,123}, /* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */ { #ifdef NICENAMES "rlcb rbd,imm1or2",8,9,0x10, #endif "rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),}, {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,124}, /* 1011 1110 aaaa bbbb *** rldb rbb,rba */ { #ifdef NICENAMES "rldb rbb,rba",8,9,0x10, #endif "rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),}, {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,125}, /* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */ { #ifdef NICENAMES "rr rd,imm1or2",16,6,0x3c, #endif "rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),}, {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,126}, /* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */ { #ifdef NICENAMES "rrb rbd,imm1or2",8,6,0x3c, #endif "rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),}, {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,127}, /* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */ { #ifdef NICENAMES "rrc rd,imm1or2",16,6,0x3c, #endif "rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),}, {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,128}, /* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */ { #ifdef NICENAMES "rrcb rbd,imm1or2",8,9,0x10, #endif "rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),}, {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,129}, /* 1011 1100 aaaa bbbb *** rrdb rbb,rba */ { #ifdef NICENAMES "rrdb rbb,rba",8,9,0x10, #endif "rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),}, {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,130}, /* 0011 0110 imm8 *** rsvd36 */ { #ifdef NICENAMES "rsvd36",8,10,0x00, #endif "rsvd36",OPC_rsvd36,0,{0}, {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,131}, /* 0011 1000 imm8 *** rsvd38 */ { #ifdef NICENAMES "rsvd38",8,10,0x00, #endif "rsvd38",OPC_rsvd38,0,{0}, {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,132}, /* 0111 1000 imm8 *** rsvd78 */ { #ifdef NICENAMES "rsvd78",8,10,0x00, #endif "rsvd78",OPC_rsvd78,0,{0}, {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,133}, /* 0111 1110 imm8 *** rsvd7e */ { #ifdef NICENAMES "rsvd7e",8,10,0x00, #endif "rsvd7e",OPC_rsvd7e,0,{0}, {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,134}, /* 1001 1101 imm8 *** rsvd9d */ { #ifdef NICENAMES "rsvd9d",8,10,0x00, #endif "rsvd9d",OPC_rsvd9d,0,{0}, {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,135}, /* 1001 1111 imm8 *** rsvd9f */ { #ifdef NICENAMES "rsvd9f",8,10,0x00, #endif "rsvd9f",OPC_rsvd9f,0,{0}, {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,136}, /* 1011 1001 imm8 *** rsvdb9 */ { #ifdef NICENAMES "rsvdb9",8,10,0x00, #endif "rsvdb9",OPC_rsvdb9,0,{0}, {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,137}, /* 1011 1111 imm8 *** rsvdbf */ { #ifdef NICENAMES "rsvdbf",8,10,0x00, #endif "rsvdbf",OPC_rsvdbf,0,{0}, {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,138}, /* 1011 0111 ssss dddd *** sbc rd,rs */ { #ifdef NICENAMES "sbc rd,rs",16,5,0x3c, #endif "sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,139}, /* 1011 0110 ssss dddd *** sbcb rbd,rbs */ { #ifdef NICENAMES "sbcb rbd,rbs",8,5,0x3f, #endif "sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,140}, /* 0111 1111 imm8 *** sc imm8 */ { #ifdef NICENAMES "sc imm8",8,33,0x3f, #endif "sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),}, {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,141}, /* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */ { #ifdef NICENAMES "sda rd,rs",16,15,0x3c, #endif "sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */ { #ifdef NICENAMES "sdab rbd,rs",8,15,0x3c, #endif "sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */ { #ifdef NICENAMES "sdal rrd,rs",32,15,0x3c, #endif "sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */ { #ifdef NICENAMES "sdl rd,rs",16,15,0x38, #endif "sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */ { #ifdef NICENAMES "sdlb rbd,rs",8,15,0x38, #endif "sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */ { #ifdef NICENAMES "sdll rrd,rs",32,15,0x38, #endif "sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 0010 0101 ddN0 imm4 *** set @rd,imm4 */ { #ifdef NICENAMES "set @rd,imm4",16,11,0x00, #endif "set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,148}, /* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */ { #ifdef NICENAMES "set address_dst(rd),imm4",16,14,0x00, #endif "set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {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}, /* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */ { #ifdef NICENAMES "set address_dst,imm4",16,13,0x00, #endif "set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,148}, /* 1010 0101 dddd imm4 *** set rd,imm4 */ { #ifdef NICENAMES "set rd,imm4",16,4,0x00, #endif "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,148}, /* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */ { #ifdef NICENAMES "set rd,rs",16,10,0x00, #endif "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */ { #ifdef NICENAMES "setb @rd,imm4",8,11,0x00, #endif "setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,149}, /* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */ { #ifdef NICENAMES "setb address_dst(rd),imm4",8,14,0x00, #endif "setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {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}, /* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */ { #ifdef NICENAMES "setb address_dst,imm4",8,13,0x00, #endif "setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,149}, /* 1010 0100 dddd imm4 *** setb rbd,imm4 */ { #ifdef NICENAMES "setb rbd,imm4",8,4,0x00, #endif "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,149}, /* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */ { #ifdef NICENAMES "setb rbd,rs",8,10,0x00, #endif "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {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}, /* 1000 1101 flags 0001 *** setflg flags */ { #ifdef NICENAMES "setflg flags",16,7,0x3c, #endif "setflg",OPC_setflg,0,{CLASS_FLAGS,}, {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+1,0,0,0,0,0,},1,2,150}, /* 0011 1011 dddd 0101 imm16 *** sin rd,imm16 */ { #ifdef NICENAMES "sin rd,imm16",16,12,0x00, #endif "sin",OPC_sin,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,151}, /* 0011 1010 dddd 0101 imm16 *** sinb rbd,imm16 */ { #ifdef NICENAMES "sinb rbd,imm16",8,10,0x00, #endif "sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,152}, /* 0011 1011 ssss 1001 0000 aaaa ddN0 1000 *** sind @rd,@ri,ra */ { #ifdef NICENAMES "sind @rd,@ri,ra",16,21,0x04, #endif "sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssss 1001 0000 aaaa ddN0 1000 *** sindb @rd,@ri,ra */ { #ifdef NICENAMES "sindb @rd,@ri,ra",8,21,0x04, #endif "sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1011 ssss 1001 0000 aaaa ddN0 0000 *** sindr @rd,@ri,ra */ { #ifdef NICENAMES "sindr @rd,@ri,ra",16,11,0x04, #endif "sindr",OPC_sindr,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssss 1001 0000 aaaa ddN0 0000 *** sindrb @rd,@ri,ra */ { #ifdef NICENAMES "sindrb @rd,@ri,ra",8,11,0x04, #endif "sindrb",OPC_sindrb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1011 ssss 0001 0000 aaaa ddN0 1000 *** sini @rd,@ri,ra */ { #ifdef NICENAMES "sini @rd,@ri,ra",16,21,0x04, #endif "sini",OPC_sini,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssss 0001 0000 aaaa ddN0 1000 *** sinib @rd,@ri,ra */ { #ifdef NICENAMES "sinib @rd,@ri,ra",8,21,0x04, #endif "sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1011 ssss 0001 0000 aaaa ddN0 0000 *** sinir @rd,@ri,ra */ { #ifdef NICENAMES "sinir @rd,@ri,ra",16,11,0x04, #endif "sinir",OPC_sinir,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssss 0001 0000 aaaa ddN0 0000 *** sinirb @rd,@ri,ra */ { #ifdef NICENAMES "sinirb @rd,@ri,ra",8,11,0x04, #endif "sinirb",OPC_sinirb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */ { #ifdef NICENAMES "sla rd,imm8",16,13,0x3c, #endif "sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1011 0010 dddd 1001 iiii iiii 0000 imm4 *** slab rbd,imm4 */ { #ifdef NICENAMES "slab rbd,imm4",8,13,0x3c, #endif "slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {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}, /* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */ { #ifdef NICENAMES "slal rrd,imm8",32,13,0x3c, #endif "slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */ { #ifdef NICENAMES "sll rd,imm8",16,13,0x38, #endif "sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1011 0010 dddd 0001 iiii iiii 0000 imm4 *** sllb rbd,imm4 */ { #ifdef NICENAMES "sllb rbd,imm4",8,13,0x38, #endif "sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {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}, /* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */ { #ifdef NICENAMES "slll rrd,imm8",32,13,0x38, #endif "slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 0011 1011 ssN0 1011 0000 aaaa dddd 0000 *** sotdr @ro,@rs,ra */ { #ifdef NICENAMES "sotdr @ro,@rs,ra",16,11,0x04, #endif "sotdr",OPC_sotdr,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssN0 1011 0000 aaaa dddd 0000 *** sotdrb @ro,@rs,ra */ { #ifdef NICENAMES "sotdrb @ro,@rs,ra",8,11,0x04, #endif "sotdrb",OPC_sotdrb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1011 ssN0 0011 0000 aaaa dddd 0000 *** sotir @ro,@rs,ra */ { #ifdef NICENAMES "sotir @ro,@rs,ra",16,11,0x04, #endif "sotir",OPC_sotir,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssN0 0011 0000 aaaa dddd 0000 *** sotirb @ro,@rs,ra */ { #ifdef NICENAMES "sotirb @ro,@rs,ra",8,11,0x04, #endif "sotirb",OPC_sotirb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1011 ssss 0110 imm16 *** sout imm16,rs */ { #ifdef NICENAMES "sout imm16,rs",16,12,0x00, #endif "sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,171}, /* 0011 1010 ssss 0110 imm16 *** soutb imm16,rbs */ { #ifdef NICENAMES "soutb imm16,rbs",8,12,0x00, #endif "soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,172}, /* 0011 1011 ssN0 1011 0000 aaaa dddd 1000 *** soutd @ro,@rs,ra */ { #ifdef NICENAMES "soutd @ro,@rs,ra",16,21,0x04, #endif "soutd",OPC_soutd,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssN0 1011 0000 aaaa dddd 1000 *** soutdb @ro,@rs,ra */ { #ifdef NICENAMES "soutdb @ro,@rs,ra",8,21,0x04, #endif "soutdb",OPC_soutdb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1011 ssN0 0011 0000 aaaa dddd 1000 *** souti @ro,@rs,ra */ { #ifdef NICENAMES "souti @ro,@rs,ra",16,21,0x04, #endif "souti",OPC_souti,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 0011 1010 ssN0 0011 0000 aaaa dddd 1000 *** soutib @ro,@rs,ra */ { #ifdef NICENAMES "soutib @ro,@rs,ra",8,21,0x04, #endif "soutib",OPC_soutib,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),}, {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}, /* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */ { #ifdef NICENAMES "sra rd,imm8",16,13,0x3c, #endif "sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1011 0010 dddd 1001 iiii iiii 1111 nim4 *** srab rbd,imm4 */ { #ifdef NICENAMES "srab rbd,imm4",8,13,0x3c, #endif "srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {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}, /* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */ { #ifdef NICENAMES "sral rrd,imm8",32,13,0x3c, #endif "sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */ { #ifdef NICENAMES "srl rd,imm8",16,13,0x3c, #endif "srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1011 0010 dddd 0001 iiii iiii 1111 nim4 *** srlb rbd,imm4 */ { #ifdef NICENAMES "srlb rbd,imm4",8,13,0x3c, #endif "srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),}, {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}, /* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */ { #ifdef NICENAMES "srll rrd,imm8",32,13,0x3c, #endif "srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 0000 0011 ssN0 dddd *** sub rd,@rs */ { #ifdef NICENAMES "sub rd,@rs",16,7,0x3c, #endif "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,183}, /* 0100 0011 0000 dddd address_src *** sub rd,address_src */ { #ifdef NICENAMES "sub rd,address_src",16,9,0x3c, #endif "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183}, /* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */ { #ifdef NICENAMES "sub rd,address_src(rs)",16,10,0x3c, #endif "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 0011 0000 dddd imm16 *** sub rd,imm16 */ { #ifdef NICENAMES "sub rd,imm16",16,7,0x3c, #endif "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+0,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,183}, /* 1000 0011 ssss dddd *** sub rd,rs */ { #ifdef NICENAMES "sub rd,rs",16,4,0x3c, #endif "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,183}, /* 0000 0010 ssN0 dddd *** subb rbd,@rs */ { #ifdef NICENAMES "subb rbd,@rs",8,7,0x3f, #endif "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,184}, /* 0100 0010 0000 dddd address_src *** subb rbd,address_src */ { #ifdef NICENAMES "subb rbd,address_src",8,9,0x3f, #endif "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184}, /* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */ { #ifdef NICENAMES "subb rbd,address_src(rs)",8,10,0x3f, #endif "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */ { #ifdef NICENAMES "subb rbd,imm8",8,7,0x3f, #endif "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1000 0010 ssss dddd *** subb rbd,rbs */ { #ifdef NICENAMES "subb rbd,rbs",8,4,0x3f, #endif "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,184}, /* 0001 0010 ssN0 dddd *** subl rrd,@rs */ { #ifdef NICENAMES "subl rrd,@rs",32,14,0x3c, #endif "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,185}, /* 0101 0010 0000 dddd address_src *** subl rrd,address_src */ { #ifdef NICENAMES "subl rrd,address_src",32,15,0x3c, #endif "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,185}, /* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */ { #ifdef NICENAMES "subl rrd,address_src(rs)",32,16,0x3c, #endif "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */ { #ifdef NICENAMES "subl rrd,imm32",32,14,0x3c, #endif "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),}, {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,185}, /* 1001 0010 ssss dddd *** subl rrd,rrs */ { #ifdef NICENAMES "subl rrd,rrs",32,8,0x3c, #endif "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),}, {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,185}, /* 1010 1111 dddd cccc *** tcc cc,rd */ { #ifdef NICENAMES "tcc cc,rd",16,5,0x00, #endif "tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),}, {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,186}, /* 1010 1110 dddd cccc *** tccb cc,rbd */ { #ifdef NICENAMES "tccb cc,rbd",8,5,0x00, #endif "tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),}, {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,187}, /* 0000 1101 ddN0 0100 *** test @rd */ { #ifdef NICENAMES "test @rd",16,8,0x18, #endif "test",OPC_test,0,{CLASS_IR+(ARG_RD),}, {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,188}, /* 0100 1101 0000 0100 address_dst *** test address_dst */ { #ifdef NICENAMES "test address_dst",16,11,0x00, #endif "test",OPC_test,0,{CLASS_DA+(ARG_DST),}, {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,188}, /* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */ { #ifdef NICENAMES "test address_dst(rd)",16,12,0x00, #endif "test",OPC_test,0,{CLASS_X+(ARG_RD),}, {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,188}, /* 1000 1101 dddd 0100 *** test rd */ { #ifdef NICENAMES "test rd",16,7,0x00, #endif "test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),}, {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,188}, /* 0000 1100 ddN0 0100 *** testb @rd */ { #ifdef NICENAMES "testb @rd",8,8,0x1c, #endif "testb",OPC_testb,0,{CLASS_IR+(ARG_RD),}, {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,189}, /* 0100 1100 0000 0100 address_dst *** testb address_dst */ { #ifdef NICENAMES "testb address_dst",8,11,0x1c, #endif "testb",OPC_testb,0,{CLASS_DA+(ARG_DST),}, {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,189}, /* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */ { #ifdef NICENAMES "testb address_dst(rd)",8,12,0x1c, #endif "testb",OPC_testb,0,{CLASS_X+(ARG_RD),}, {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,189}, /* 1000 1100 dddd 0100 *** testb rbd */ { #ifdef NICENAMES "testb rbd",8,7,0x1c, #endif "testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),}, {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,189}, /* 0001 1100 ddN0 1000 *** testl @rd */ { #ifdef NICENAMES "testl @rd",32,13,0x18, #endif "testl",OPC_testl,0,{CLASS_IR+(ARG_RD),}, {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,190}, /* 0101 1100 0000 1000 address_dst *** testl address_dst */ { #ifdef NICENAMES "testl address_dst",32,16,0x18, #endif "testl",OPC_testl,0,{CLASS_DA+(ARG_DST),}, {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,190}, /* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */ { #ifdef NICENAMES "testl address_dst(rd)",32,17,0x18, #endif "testl",OPC_testl,0,{CLASS_X+(ARG_RD),}, {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,190}, /* 1001 1100 dddd 1000 *** testl rrd */ { #ifdef NICENAMES "testl rrd",32,13,0x18, #endif "testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),}, {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,190}, /* 1011 1000 ddN0 1000 0000 rrrr ssN0 0000 *** trdb @rd,@rs,rr */ { #ifdef NICENAMES "trdb @rd,@rs,rr",8,25,0x04, #endif "trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1000 ddN0 1100 0000 rrrr ssN0 0000 *** trdrb @rd,@rs,rr */ { #ifdef NICENAMES "trdrb @rd,@rs,rr",8,25,0x04, #endif "trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rr */ { #ifdef NICENAMES "trib @rd,@rs,rr",8,25,0x04, #endif "trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rr */ { #ifdef NICENAMES "trirb @rd,@rs,rr",8,25,0x04, #endif "trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtdb @ra,@rb,rr */ { #ifdef NICENAMES "trtdb @ra,@rb,rr",8,25,0x14, #endif "trtdb",OPC_trtdb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rr */ { #ifdef NICENAMES "trtdrb @ra,@rb,rr",8,25,0x14, #endif "trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rr */ { #ifdef NICENAMES "trtib @ra,@rb,rr",8,25,0x14, #endif "trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rr */ { #ifdef NICENAMES "trtirb @ra,@rb,rr",8,25,0x14, #endif "trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),}, {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}, /* 0000 1101 ddN0 0110 *** tset @rd */ { #ifdef NICENAMES "tset @rd",16,11,0x08, #endif "tset",OPC_tset,0,{CLASS_IR+(ARG_RD),}, {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,199}, /* 0100 1101 0000 0110 address_dst *** tset address_dst */ { #ifdef NICENAMES "tset address_dst",16,14,0x08, #endif "tset",OPC_tset,0,{CLASS_DA+(ARG_DST),}, {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,199}, /* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */ { #ifdef NICENAMES "tset address_dst(rd)",16,15,0x08, #endif "tset",OPC_tset,0,{CLASS_X+(ARG_RD),}, {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,199}, /* 1000 1101 dddd 0110 *** tset rd */ { #ifdef NICENAMES "tset rd",16,7,0x08, #endif "tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),}, {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,199}, /* 0000 1100 ddN0 0110 *** tsetb @rd */ { #ifdef NICENAMES "tsetb @rd",8,11,0x08, #endif "tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),}, {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,200}, /* 0100 1100 0000 0110 address_dst *** tsetb address_dst */ { #ifdef NICENAMES "tsetb address_dst",8,14,0x08, #endif "tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),}, {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,200}, /* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */ { #ifdef NICENAMES "tsetb address_dst(rd)",8,15,0x08, #endif "tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),}, {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,200}, /* 1000 1100 dddd 0110 *** tsetb rbd */ { #ifdef NICENAMES "tsetb rbd",8,7,0x08, #endif "tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),}, {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,200}, /* 0000 1001 ssN0 dddd *** xor rd,@rs */ { #ifdef NICENAMES "xor rd,@rs",16,7,0x18, #endif "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,201}, /* 0100 1001 0000 dddd address_src *** xor rd,address_src */ { #ifdef NICENAMES "xor rd,address_src",16,9,0x18, #endif "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,201}, /* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */ { #ifdef NICENAMES "xor rd,address_src(rs)",16,10,0x18, #endif "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */ { #ifdef NICENAMES "xor rd,imm16",16,7,0x18, #endif "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),}, {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,201}, /* 1000 1001 ssss dddd *** xor rd,rs */ { #ifdef NICENAMES "xor rd,rs",16,4,0x18, #endif "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,201}, /* 0000 1000 ssN0 dddd *** xorb rbd,@rs */ { #ifdef NICENAMES "xorb rbd,@rs",8,7,0x1c, #endif "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),}, {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,202}, /* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */ { #ifdef NICENAMES "xorb rbd,address_src",8,9,0x1c, #endif "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),}, {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,202}, /* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */ { #ifdef NICENAMES "xorb rbd,address_src(rs)",8,10,0x1c, #endif "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),}, {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}, /* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */ { #ifdef NICENAMES "xorb rbd,imm8",8,7,0x1c, #endif "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),}, {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}, /* 1000 1000 ssss dddd *** xorb rbd,rbs */ { #ifdef NICENAMES "xorb rbd,rbs",8,4,0x1c, #endif "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),}, {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,202}, /* end marker */ { #ifdef NICENAMES NULL,0,0, 0, #endif NULL,0,0,{0,0,0,0},{0,0,0,0,0,0,0,0,0,0},0,0,0} }; #endif