blob: 93696111c63754cfb7db3e81a8867eeb294be2f8 [file] [log] [blame]
/* DO NOT EDIT! -*- buffer-read-only: t -*-
This file is automatically generated by z8kgen. */
/* Copyright (C) 2007-2016 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},