4480 lines
119 KiB
C
4480 lines
119 KiB
C
/* THIS FILE IS AUTOMAGICALLY GENERATED, DON'T EDIT IT */
|
|
#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_DISP8 0x0c
|
|
#define ARG_IMM4M1 0x0d
|
|
#define CLASS_MASK 0x1fff0
|
|
#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_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_DISP8 0x800
|
|
#define CLASS_BIT_1OR2 0x900
|
|
#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 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_inib 56
|
|
#define OPC_inibr 57
|
|
#define OPC_iret 58
|
|
#define OPC_jp 59
|
|
#define OPC_jr 60
|
|
#define OPC_ld 61
|
|
#define OPC_lda 62
|
|
#define OPC_ldar 63
|
|
#define OPC_ldb 64
|
|
#define OPC_ldctl 65
|
|
#define OPC_ldir 66
|
|
#define OPC_ldirb 67
|
|
#define OPC_ldk 68
|
|
#define OPC_ldl 69
|
|
#define OPC_ldm 70
|
|
#define OPC_ldps 71
|
|
#define OPC_ldr 72
|
|
#define OPC_ldrb 73
|
|
#define OPC_ldrl 74
|
|
#define OPC_mbit 75
|
|
#define OPC_mreq 76
|
|
#define OPC_mres 77
|
|
#define OPC_mset 78
|
|
#define OPC_mult 79
|
|
#define OPC_multl 80
|
|
#define OPC_neg 81
|
|
#define OPC_negb 82
|
|
#define OPC_nop 83
|
|
#define OPC_or 84
|
|
#define OPC_orb 85
|
|
#define OPC_out 86
|
|
#define OPC_outb 87
|
|
#define OPC_outd 88
|
|
#define OPC_outdb 89
|
|
#define OPC_outib 90
|
|
#define OPC_outibr 91
|
|
#define OPC_pop 92
|
|
#define OPC_popl 93
|
|
#define OPC_push 94
|
|
#define OPC_pushl 95
|
|
#define OPC_res 96
|
|
#define OPC_resb 97
|
|
#define OPC_resflg 98
|
|
#define OPC_ret 99
|
|
#define OPC_rl 100
|
|
#define OPC_rlb 101
|
|
#define OPC_rlc 102
|
|
#define OPC_rlcb 103
|
|
#define OPC_rldb 104
|
|
#define OPC_rr 105
|
|
#define OPC_rrb 106
|
|
#define OPC_rrc 107
|
|
#define OPC_rrcb 108
|
|
#define OPC_rrdb 109
|
|
#define OPC_sbc 110
|
|
#define OPC_sbcb 111
|
|
#define OPC_sda 112
|
|
#define OPC_sdab 113
|
|
#define OPC_sdal 114
|
|
#define OPC_sdl 115
|
|
#define OPC_sdlb 116
|
|
#define OPC_sdll 117
|
|
#define OPC_set 118
|
|
#define OPC_setb 119
|
|
#define OPC_setflg 120
|
|
#define OPC_sinb 121
|
|
#define OPC_sind 122
|
|
#define OPC_sindb 123
|
|
#define OPC_sinib 124
|
|
#define OPC_sinibr 125
|
|
#define OPC_sla 126
|
|
#define OPC_slab 127
|
|
#define OPC_slal 128
|
|
#define OPC_sll 129
|
|
#define OPC_sllb 130
|
|
#define OPC_slll 131
|
|
#define OPC_sout 132
|
|
#define OPC_soutb 133
|
|
#define OPC_soutd 134
|
|
#define OPC_soutdb 135
|
|
#define OPC_soutib 136
|
|
#define OPC_soutibr 137
|
|
#define OPC_sra 138
|
|
#define OPC_srab 139
|
|
#define OPC_sral 140
|
|
#define OPC_srl 141
|
|
#define OPC_srlb 142
|
|
#define OPC_srll 143
|
|
#define OPC_sub 144
|
|
#define OPC_subb 145
|
|
#define OPC_subl 146
|
|
#define OPC_tcc 147
|
|
#define OPC_tccb 148
|
|
#define OPC_test 149
|
|
#define OPC_testb 150
|
|
#define OPC_testl 151
|
|
#define OPC_trdb 152
|
|
#define OPC_trdrb 153
|
|
#define OPC_trib 154
|
|
#define OPC_trirb 155
|
|
#define OPC_trtdrb 156
|
|
#define OPC_trtib 157
|
|
#define OPC_trtirb 158
|
|
#define OPC_trtrb 159
|
|
#define OPC_tset 160
|
|
#define OPC_tsetb 161
|
|
#define OPC_xor 162
|
|
#define OPC_xorb 163
|
|
#define OPC_ldd 164
|
|
#define OPC_lddb 165
|
|
#define OPC_lddr 166
|
|
#define OPC_lddrb 167
|
|
#define OPC_ldi 168
|
|
#define OPC_ldib 169
|
|
#define OPC_sc 170
|
|
#define OPC_bpt 171
|
|
#define OPC_ext0e 172
|
|
#define OPC_ext0f 172
|
|
#define OPC_ext8e 172
|
|
#define OPC_ext8f 172
|
|
#define OPC_rsvd36 172
|
|
#define OPC_rsvd38 172
|
|
#define OPC_rsvd78 172
|
|
#define OPC_rsvd7e 172
|
|
#define OPC_rsvd9d 172
|
|
#define OPC_rsvd9f 172
|
|
#define OPC_rsvdb9 172
|
|
#define OPC_rsvdbf 172
|
|
#define OPC_outi 173
|
|
#define OPC_ldctlb 174
|
|
#define OPC_sin 175
|
|
#define OPC_trtdb 176
|
|
typedef struct {
|
|
#ifdef NICENAMES
|
|
char *nicename;
|
|
int type;
|
|
int cycles;
|
|
int flags;
|
|
#endif
|
|
char *name;
|
|
unsigned char opcode;
|
|
void (*func)();
|
|
unsigned int arg_info[4];
|
|
unsigned int byte_info[10];
|
|
int noperands;
|
|
int length;
|
|
int idx;
|
|
} opcode_entry_type;
|
|
#ifdef DEFINE_TABLE
|
|
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,3},
|
|
|
|
|
|
/* 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,4},
|
|
|
|
|
|
/* 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,5},
|
|
|
|
|
|
/* 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,6},
|
|
|
|
|
|
/* 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,7},
|
|
|
|
|
|
/* 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,8},
|
|
|
|
|
|
/* 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,9},
|
|
|
|
|
|
/* 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,10},
|
|
|
|
|
|
/* 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,11},
|
|
|
|
|
|
/* 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,12},
|
|
|
|
|
|
/* 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,13},
|
|
|
|
|
|
/* 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,14},
|
|
|
|
|
|
/* 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,15},
|
|
|
|
|
|
/* 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,16},
|
|
|
|
|
|
/* 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,17},
|
|
|
|
|
|
/* 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,18},
|
|
|
|
|
|
/* 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,19},
|
|
|
|
|
|
/* 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,20},
|
|
|
|
|
|
/* 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,21},
|
|
|
|
|
|
/* 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,22},
|
|
|
|
|
|
/* 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,23},
|
|
|
|
|
|
/* 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,24},
|
|
|
|
|
|
/* 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,25},
|
|
|
|
|
|
/* 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,26},
|
|
|
|
|
|
/* 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,27},
|
|
|
|
|
|
/* 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,28},
|
|
|
|
|
|
/* 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,29},
|
|
|
|
|
|
/* 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,30},
|
|
|
|
|
|
/* 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,31},
|
|
|
|
|
|
/* 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,32},
|
|
|
|
|
|
/* 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,33},
|
|
|
|
|
|
/* 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,34},
|
|
|
|
|
|
/* 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,35},
|
|
|
|
|
|
/* 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,36},
|
|
|
|
|
|
/* 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,37},
|
|
|
|
|
|
/* 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,38},
|
|
|
|
|
|
/* 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,39},
|
|
|
|
|
|
/* 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,40},
|
|
|
|
|
|
/* 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,41},
|
|
|
|
|
|
/* 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,42},
|
|
|
|
|
|
/* 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,43},
|
|
|
|
|
|
/* 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,44},
|
|
|
|
|
|
/* 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,45},
|
|
|
|
|
|
/* 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,46},
|
|
|
|
|
|
/* 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,47},
|
|
|
|
|
|
/* 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,48},
|
|
|
|
|
|
/* 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,49},
|
|
|
|
|
|
/* 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,50},
|
|
|
|
|
|
/* 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,51},
|
|
|
|
|
|
/* 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,52},
|
|
|
|
|
|
/* 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,53},
|
|
|
|
|
|
/* 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,54},
|
|
|
|
|
|
/* 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,55},
|
|
|
|
|
|
/* 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,56},
|
|
|
|
|
|
/* 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,57},
|
|
|
|
|
|
/* 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,58},
|
|
|
|
|
|
/* 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,59},
|
|
|
|
|
|
/* 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,60},
|
|
|
|
|
|
/* 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,61},
|
|
|
|
|
|
/* 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,62},
|
|
|
|
|
|
/* 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,63},
|
|
|
|
|
|
/* 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,64},
|
|
|
|
|
|
/* 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,65},
|
|
|
|
|
|
/* 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,66},
|
|
|
|
|
|
/* 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,67},
|
|
|
|
|
|
/* 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,68},
|
|
|
|
|
|
/* 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,69},
|
|
|
|
|
|
/* 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,70},
|
|
|
|
|
|
/* 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,71},
|
|
|
|
|
|
/* 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,72},
|
|
|
|
|
|
/* 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,73},
|
|
|
|
|
|
/* 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,74},
|
|
|
|
|
|
/* 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,75},
|
|
|
|
|
|
/* 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,76},
|
|
|
|
|
|
/* 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,77},
|
|
|
|
|
|
/* 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,78},
|
|
|
|
|
|
/* 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,79},
|
|
|
|
|
|
/* 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,80},
|
|
|
|
|
|
/* 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,81},
|
|
|
|
|
|
/* 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,82},
|
|
|
|
|
|
/* 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,83},
|
|
|
|
|
|
/* 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,84},
|
|
|
|
|
|
/* 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,85},
|
|
|
|
|
|
/* 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,86},
|
|
|
|
|
|
/* 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,87},
|
|
|
|
|
|
/* 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,88},
|
|
|
|
|
|
/* 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,89},
|
|
|
|
|
|
/* 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,90},
|
|
|
|
|
|
/* 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,91},
|
|
|
|
|
|
/* 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,92},
|
|
|
|
|
|
/* 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,93},
|
|
|
|
|
|
/* 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,94},
|
|
|
|
|
|
/* 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,95},
|
|
|
|
|
|
/* 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,96},
|
|
|
|
|
|
/* 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,97},
|
|
|
|
|
|
/* 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,98},
|
|
|
|
|
|
/* 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,99},
|
|
|
|
|
|
/* 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,100},
|
|
|
|
|
|
/* 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,101},
|
|
|
|
|
|
/* 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,102},
|
|
|
|
|
|
/* 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,103},
|
|
|
|
|
|
/* 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,104},
|
|
|
|
|
|
/* 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,105},
|
|
|
|
|
|
/* 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,106},
|
|
|
|
|
|
/* 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,107},
|
|
|
|
|
|
/* 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,108},
|
|
|
|
|
|
/* 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,109},
|
|
|
|
|
|
/* 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,110},
|
|
|
|
|
|
/* 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,111},
|
|
|
|
|
|
/* 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,112},
|
|
|
|
|
|
/* 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,113},
|
|
|
|
|
|
/* 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,114},
|
|
|
|
|
|
/* 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,115},
|
|
|
|
|
|
/* 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,116},
|
|
|
|
|
|
/* 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,117},
|
|
|
|
|
|
/* 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,118},
|
|
|
|
|
|
/* 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,119},
|
|
|
|
|
|
/* 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,120},
|
|
|
|
|
|
/* 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,121},
|
|
|
|
|
|
/* 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,122},
|
|
|
|
|
|
/* 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,123},
|
|
|
|
|
|
/* 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,124},
|
|
|
|
|
|
/* 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,125},
|
|
|
|
|
|
/* 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,126},
|
|
|
|
|
|
/* 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,127},
|
|
|
|
|
|
/* 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,128},
|
|
|
|
|
|
/* 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,129},
|
|
|
|
|
|
/* 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,130},
|
|
|
|
|
|
/* 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,131},
|
|
|
|
|
|
/* 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,132},
|
|
|
|
|
|
/* 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,133},
|
|
|
|
|
|
/* 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,134},
|
|
|
|
|
|
/* 0011 1101 ssN0 dddd *** in rd,@rs */
|
|
{
|
|
#ifdef NICENAMES
|
|
"in rd,@rs",16,10,
|
|
0x00,
|
|
#endif
|
|
"in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,135},
|
|
|
|
|
|
/* 0011 1101 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+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,136},
|
|
|
|
|
|
/* 0011 1100 ssN0 dddd *** inb rbd,@rs */
|
|
{
|
|
#ifdef NICENAMES
|
|
"inb rbd,@rs",8,12,
|
|
0x00,
|
|
#endif
|
|
"inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,137},
|
|
|
|
|
|
/* 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,138},
|
|
|
|
|
|
/* 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,139},
|
|
|
|
|
|
/* 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,140},
|
|
|
|
|
|
/* 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,141},
|
|
|
|
|
|
/* 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,142},
|
|
|
|
|
|
/* 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,143},
|
|
|
|
|
|
/* 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,144},
|
|
|
|
|
|
/* 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,145},
|
|
|
|
|
|
/* 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,146},
|
|
|
|
|
|
/* 0011 1011 ssN0 1000 0000 aaaa ddN0 1000 *** ind @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"ind @rd,@rs,ra",16,21,
|
|
0x04,
|
|
#endif
|
|
"ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,147},
|
|
|
|
|
|
/* 0011 1010 ssN0 1000 0000 aaaa ddN0 1000 *** indb @rd,@rs,rba */
|
|
{
|
|
#ifdef NICENAMES
|
|
"indb @rd,@rs,rba",8,21,
|
|
0x04,
|
|
#endif
|
|
"indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,148},
|
|
|
|
|
|
/* 0011 1010 ssN0 0000 0000 aaaa ddN0 1000 *** inib @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"inib @rd,@rs,ra",8,21,
|
|
0x04,
|
|
#endif
|
|
"inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,149},
|
|
|
|
|
|
/* 0011 1010 ssN0 0000 0000 aaaa ddN0 0000 *** inibr @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"inibr @rd,@rs,ra",16,21,
|
|
0x04,
|
|
#endif
|
|
"inibr",OPC_inibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,150},
|
|
|
|
|
|
/* 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,151},
|
|
|
|
|
|
/* 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,152},
|
|
|
|
|
|
/* 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,153},
|
|
|
|
|
|
/* 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,154},
|
|
|
|
|
|
/* 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,155},
|
|
|
|
|
|
/* 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,156},
|
|
|
|
|
|
/* 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,157},
|
|
|
|
|
|
/* 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,158},
|
|
|
|
|
|
/* 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,159},
|
|
|
|
|
|
/* 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,160},
|
|
|
|
|
|
/* 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,161},
|
|
|
|
|
|
/* 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,162},
|
|
|
|
|
|
/* 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,163},
|
|
|
|
|
|
/* 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,164},
|
|
|
|
|
|
/* 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,165},
|
|
|
|
|
|
/* 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,166},
|
|
|
|
|
|
/* 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,167},
|
|
|
|
|
|
/* 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,168},
|
|
|
|
|
|
/* 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,169},
|
|
|
|
|
|
/* 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,170},
|
|
|
|
|
|
/* 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,171},
|
|
|
|
|
|
/* 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,172},
|
|
|
|
|
|
/* 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,173},
|
|
|
|
|
|
/* 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,174},
|
|
|
|
|
|
/* 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,175},
|
|
|
|
|
|
/* 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,176},
|
|
|
|
|
|
/* 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,177},
|
|
|
|
|
|
/* 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,178},
|
|
|
|
|
|
/* 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,179},
|
|
|
|
|
|
/* 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,180},
|
|
|
|
|
|
/* 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,181},
|
|
|
|
|
|
/* 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,182},
|
|
|
|
|
|
/* 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,183},
|
|
|
|
|
|
/* 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,184},
|
|
|
|
|
|
/* 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,185},
|
|
|
|
|
|
/* 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,186},
|
|
|
|
|
|
/* 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,187},
|
|
|
|
|
|
/* 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,188},
|
|
|
|
|
|
/* 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,189},
|
|
|
|
|
|
/* 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,190},
|
|
|
|
|
|
/* 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,191},
|
|
|
|
|
|
/* 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,192},
|
|
|
|
|
|
/* 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,193},
|
|
|
|
|
|
/* 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,194},
|
|
|
|
|
|
/* 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,195},
|
|
|
|
|
|
/* 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,196},
|
|
|
|
|
|
/* 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,197},
|
|
|
|
|
|
/* 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,198},
|
|
|
|
|
|
/* 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,199},
|
|
|
|
|
|
/* 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,200},
|
|
|
|
|
|
/* 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,201},
|
|
|
|
|
|
/* 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,202},
|
|
|
|
|
|
/* 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,203},
|
|
|
|
|
|
/* 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,204},
|
|
|
|
|
|
/* 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,205},
|
|
|
|
|
|
/* 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,206},
|
|
|
|
|
|
/* 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,207},
|
|
|
|
|
|
/* 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,208},
|
|
|
|
|
|
/* 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,209},
|
|
|
|
|
|
/* 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,210},
|
|
|
|
|
|
/* 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,211},
|
|
|
|
|
|
/* 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,212},
|
|
|
|
|
|
/* 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,213},
|
|
|
|
|
|
/* 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,214},
|
|
|
|
|
|
/* 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,215},
|
|
|
|
|
|
/* 0001 1100 ddN0 1001 0000 ssss 0000 nminus1 *** 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_IMMN),},
|
|
{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_IMMNMINUS1),0,},3,4,216},
|
|
|
|
|
|
/* 0101 1100 ddN0 1001 0000 ssss 0000 nminus1 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_IMMN),},
|
|
{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_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,217},
|
|
|
|
|
|
/* 0101 1100 0000 1001 0000 ssss 0000 nminus1 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_IMMN),},
|
|
{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_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,218},
|
|
|
|
|
|
/* 0001 1100 ssN0 0001 0000 dddd 0000 nminus1 *** 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_IMMN),},
|
|
{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_IMMNMINUS1),0,},3,4,219},
|
|
|
|
|
|
/* 0101 1100 ssN0 0001 0000 dddd 0000 nminus1 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_IMMN),},
|
|
{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_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,220},
|
|
|
|
|
|
/* 0101 1100 0000 0001 0000 dddd 0000 nminus1 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_IMMN),},
|
|
{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_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,221},
|
|
|
|
|
|
/* 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,222},
|
|
|
|
|
|
/* 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,223},
|
|
|
|
|
|
/* 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,224},
|
|
|
|
|
|
/* 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,225},
|
|
|
|
|
|
/* 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,226},
|
|
|
|
|
|
/* 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,227},
|
|
|
|
|
|
/* 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,228},
|
|
|
|
|
|
/* 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,229},
|
|
|
|
|
|
/* 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,230},
|
|
|
|
|
|
/* 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,231},
|
|
|
|
|
|
/* 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,232},
|
|
|
|
|
|
/* 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,233},
|
|
|
|
|
|
/* 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,234},
|
|
|
|
|
|
/* 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,235},
|
|
|
|
|
|
/* 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,236},
|
|
|
|
|
|
/* 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,237},
|
|
|
|
|
|
/* 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,238},
|
|
|
|
|
|
/* 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,239},
|
|
|
|
|
|
/* 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,240},
|
|
|
|
|
|
/* 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,241},
|
|
|
|
|
|
/* 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,242},
|
|
|
|
|
|
/* 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,243},
|
|
|
|
|
|
/* 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,244},
|
|
|
|
|
|
/* 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,245},
|
|
|
|
|
|
/* 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,246},
|
|
|
|
|
|
/* 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,247},
|
|
|
|
|
|
/* 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,248},
|
|
|
|
|
|
/* 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,249},
|
|
|
|
|
|
/* 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,250},
|
|
|
|
|
|
/* 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,251},
|
|
|
|
|
|
/* 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,252},
|
|
|
|
|
|
/* 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,253},
|
|
|
|
|
|
/* 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,254},
|
|
|
|
|
|
/* 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,255},
|
|
|
|
|
|
/* 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,256},
|
|
|
|
|
|
/* 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,257},
|
|
|
|
|
|
/* 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,258},
|
|
|
|
|
|
/* 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,259},
|
|
|
|
|
|
/* 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,260},
|
|
|
|
|
|
/* 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,261},
|
|
|
|
|
|
/* 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,262},
|
|
|
|
|
|
/* 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,263},
|
|
|
|
|
|
/* 0011 1111 ddN0 ssss *** out @rd,rs */
|
|
{
|
|
#ifdef NICENAMES
|
|
"out @rd,rs",16,0,
|
|
0x04,
|
|
#endif
|
|
"out",OPC_out,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,264},
|
|
|
|
|
|
/* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
|
|
{
|
|
#ifdef NICENAMES
|
|
"out imm16,rs",16,0,
|
|
0x04,
|
|
#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,265},
|
|
|
|
|
|
/* 0011 1110 ddN0 ssss *** outb @rd,rbs */
|
|
{
|
|
#ifdef NICENAMES
|
|
"outb @rd,rbs",8,0,
|
|
0x04,
|
|
#endif
|
|
"outb",OPC_outb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,266},
|
|
|
|
|
|
/* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
|
|
{
|
|
#ifdef NICENAMES
|
|
"outb imm16,rbs",8,0,
|
|
0x04,
|
|
#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,267},
|
|
|
|
|
|
/* 0011 1011 ssN0 1010 0000 aaaa ddN0 1000 *** outd @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"outd @rd,@rs,ra",16,0,
|
|
0x04,
|
|
#endif
|
|
"outd",OPC_outd,0,{CLASS_IR+(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_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,268},
|
|
|
|
|
|
/* 0011 1010 ssN0 1010 0000 aaaa ddN0 1000 *** outdb @rd,@rs,rba */
|
|
{
|
|
#ifdef NICENAMES
|
|
"outdb @rd,@rs,rba",16,0,
|
|
0x04,
|
|
#endif
|
|
"outdb",OPC_outdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,269},
|
|
|
|
|
|
/* 0011 1011 ssN0 0010 0000 aaaa ddN0 1000 *** outi @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"outi @rd,@rs,ra",16,0,
|
|
0x04,
|
|
#endif
|
|
"outi",OPC_outi,0,{CLASS_IR+(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_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,270},
|
|
|
|
|
|
/* 0011 1010 ssN0 0010 0000 aaaa ddN0 1000 *** outib @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"outib @rd,@rs,ra",16,0,
|
|
0x04,
|
|
#endif
|
|
"outib",OPC_outib,0,{CLASS_IR+(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_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,271},
|
|
|
|
|
|
/* 0011 1010 ssN0 0010 0000 aaaa ddN0 0000 *** outibr @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"outibr @rd,@rs,ra",16,0,
|
|
0x04,
|
|
#endif
|
|
"outibr",OPC_outibr,0,{CLASS_IR+(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_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,272},
|
|
|
|
|
|
/* 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,273},
|
|
|
|
|
|
/* 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,274},
|
|
|
|
|
|
/* 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,275},
|
|
|
|
|
|
/* 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,276},
|
|
|
|
|
|
/* 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,277},
|
|
|
|
|
|
/* 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,278},
|
|
|
|
|
|
/* 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,279},
|
|
|
|
|
|
/* 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,280},
|
|
|
|
|
|
/* 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,281},
|
|
|
|
|
|
/* 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,282},
|
|
|
|
|
|
/* 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,283},
|
|
|
|
|
|
/* 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,284},
|
|
|
|
|
|
/* 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,285},
|
|
|
|
|
|
/* 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,286},
|
|
|
|
|
|
/* 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,287},
|
|
|
|
|
|
/* 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,288},
|
|
|
|
|
|
/* 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,289},
|
|
|
|
|
|
/* 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,290},
|
|
|
|
|
|
/* 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,291},
|
|
|
|
|
|
/* 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,292},
|
|
|
|
|
|
/* 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,293},
|
|
|
|
|
|
/* 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,294},
|
|
|
|
|
|
/* 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,295},
|
|
|
|
|
|
/* 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,296},
|
|
|
|
|
|
/* 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,297},
|
|
|
|
|
|
/* 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,298},
|
|
|
|
|
|
/* 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,299},
|
|
|
|
|
|
/* 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,300},
|
|
|
|
|
|
/* 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,301},
|
|
|
|
|
|
/* 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,302},
|
|
|
|
|
|
/* 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,303},
|
|
|
|
|
|
/* 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,304},
|
|
|
|
|
|
/* 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,305},
|
|
|
|
|
|
/* 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,306},
|
|
|
|
|
|
/* 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,307},
|
|
|
|
|
|
/* 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,308},
|
|
|
|
|
|
/* 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,309},
|
|
|
|
|
|
/* 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,310},
|
|
|
|
|
|
/* 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,311},
|
|
|
|
|
|
/* 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,312},
|
|
|
|
|
|
/* 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,313},
|
|
|
|
|
|
/* 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,314},
|
|
|
|
|
|
/* 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,315},
|
|
|
|
|
|
/* 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,316},
|
|
|
|
|
|
/* 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,317},
|
|
|
|
|
|
/* 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,318},
|
|
|
|
|
|
/* 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,319},
|
|
|
|
|
|
/* 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,320},
|
|
|
|
|
|
/* 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,321},
|
|
|
|
|
|
/* 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,322},
|
|
|
|
|
|
/* 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,323},
|
|
|
|
|
|
/* 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,324},
|
|
|
|
|
|
/* 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,325},
|
|
|
|
|
|
/* 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,326},
|
|
|
|
|
|
/* 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,327},
|
|
|
|
|
|
/* 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,328},
|
|
|
|
|
|
/* 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,329},
|
|
|
|
|
|
/* 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,330},
|
|
|
|
|
|
/* 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,331},
|
|
|
|
|
|
/* 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,332},
|
|
|
|
|
|
/* 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,333},
|
|
|
|
|
|
/* 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,334},
|
|
|
|
|
|
/* 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,335},
|
|
|
|
|
|
/* 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,336},
|
|
|
|
|
|
/* 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,337},
|
|
|
|
|
|
/* 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,338},
|
|
|
|
|
|
/* 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,339},
|
|
|
|
|
|
/* 0011 1011 dddd 0101 imm16 *** sin rd,imm16 */
|
|
{
|
|
#ifdef NICENAMES
|
|
"sin rd,imm16",8,0,
|
|
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,340},
|
|
|
|
|
|
/* 0011 1010 dddd 0101 imm16 *** sinb rbd,imm16 */
|
|
{
|
|
#ifdef NICENAMES
|
|
"sinb rbd,imm16",8,0,
|
|
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,341},
|
|
|
|
|
|
/* 0011 1011 ssN0 1000 0001 aaaa ddN0 1000 *** sind @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"sind @rd,@rs,ra",16,0,
|
|
0x00,
|
|
#endif
|
|
"sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,342},
|
|
|
|
|
|
/* 0011 1010 ssN0 1000 0001 aaaa ddN0 1000 *** sindb @rd,@rs,rba */
|
|
{
|
|
#ifdef NICENAMES
|
|
"sindb @rd,@rs,rba",8,0,
|
|
0x00,
|
|
#endif
|
|
"sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,343},
|
|
|
|
|
|
/* 0011 1010 ssN0 0001 0000 aaaa ddN0 1000 *** sinib @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"sinib @rd,@rs,ra",8,0,
|
|
0x00,
|
|
#endif
|
|
"sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,344},
|
|
|
|
|
|
/* 0011 1010 ssN0 0001 0000 aaaa ddN0 0000 *** sinibr @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"sinibr @rd,@rs,ra",16,0,
|
|
0x00,
|
|
#endif
|
|
"sinibr",OPC_sinibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,345},
|
|
|
|
|
|
/* 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,346},
|
|
|
|
|
|
/* 1011 0010 dddd 1001 0000 0000 imm8 *** slab rbd,imm8 */
|
|
{
|
|
#ifdef NICENAMES
|
|
"slab rbd,imm8",8,13,
|
|
0x3c,
|
|
#endif
|
|
"slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
|
|
{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,347},
|
|
|
|
|
|
/* 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,348},
|
|
|
|
|
|
/* 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,349},
|
|
|
|
|
|
/* 1011 0010 dddd 0001 0000 0000 imm8 *** sllb rbd,imm8 */
|
|
{
|
|
#ifdef NICENAMES
|
|
"sllb rbd,imm8",8,13,
|
|
0x38,
|
|
#endif
|
|
"sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
|
|
{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,350},
|
|
|
|
|
|
/* 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,351},
|
|
|
|
|
|
/* 0011 1011 ssss 0111 imm16 *** sout imm16,rs */
|
|
{
|
|
#ifdef NICENAMES
|
|
"sout imm16,rs",16,0,
|
|
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+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,352},
|
|
|
|
|
|
/* 0011 1010 ssss 0111 imm16 *** soutb imm16,rbs */
|
|
{
|
|
#ifdef NICENAMES
|
|
"soutb imm16,rbs",8,0,
|
|
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+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,353},
|
|
|
|
|
|
/* 0011 1011 ssN0 1011 0000 aaaa ddN0 1000 *** soutd @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"soutd @rd,@rs,ra",16,0,
|
|
0x00,
|
|
#endif
|
|
"soutd",OPC_soutd,0,{CLASS_IR+(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_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,354},
|
|
|
|
|
|
/* 0011 1010 ssN0 1011 0000 aaaa ddN0 1000 *** soutdb @rd,@rs,rba */
|
|
{
|
|
#ifdef NICENAMES
|
|
"soutdb @rd,@rs,rba",8,0,
|
|
0x00,
|
|
#endif
|
|
"soutdb",OPC_soutdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
|
|
{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,355},
|
|
|
|
|
|
/* 0011 1010 ssN0 0011 0000 aaaa ddN0 1000 *** soutib @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"soutib @rd,@rs,ra",8,0,
|
|
0x00,
|
|
#endif
|
|
"soutib",OPC_soutib,0,{CLASS_IR+(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_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,356},
|
|
|
|
|
|
/* 0011 1010 ssN0 0011 0000 aaaa ddN0 0000 *** soutibr @rd,@rs,ra */
|
|
{
|
|
#ifdef NICENAMES
|
|
"soutibr @rd,@rs,ra",16,0,
|
|
0x00,
|
|
#endif
|
|
"soutibr",OPC_soutibr,0,{CLASS_IR+(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_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,357},
|
|
|
|
|
|
/* 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,358},
|
|
|
|
|
|
/* 1011 0010 dddd 1001 0000 0000 nim8 *** srab rbd,imm8 */
|
|
{
|
|
#ifdef NICENAMES
|
|
"srab rbd,imm8",8,13,
|
|
0x3c,
|
|
#endif
|
|
"srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
|
|
{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_NIM8),0,0,},2,4,359},
|
|
|
|
|
|
/* 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,360},
|
|
|
|
|
|
/* 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,361},
|
|
|
|
|
|
/* 1011 0010 dddd 0001 0000 0000 nim8 *** srlb rbd,imm8 */
|
|
{
|
|
#ifdef NICENAMES
|
|
"srlb rbd,imm8",8,13,
|
|
0x3c,
|
|
#endif
|
|
"srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
|
|
{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_NIM8),0,0,},2,4,362},
|
|
|
|
|
|
/* 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,363},
|
|
|
|
|
|
/* 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,364},
|
|
|
|
|
|
/* 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,365},
|
|
|
|
|
|
/* 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,366},
|
|
|
|
|
|
/* 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,367},
|
|
|
|
|
|
/* 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,368},
|
|
|
|
|
|
/* 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,369},
|
|
|
|
|
|
/* 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,370},
|
|
|
|
|
|
/* 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,371},
|
|
|
|
|
|
/* 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,372},
|
|
|
|
|
|
/* 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,373},
|
|
|
|
|
|
/* 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,374},
|
|
|
|
|
|
/* 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,375},
|
|
|
|
|
|
/* 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,376},
|
|
|
|
|
|
/* 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,377},
|
|
|
|
|
|
/* 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,378},
|
|
|
|
|
|
/* 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,379},
|
|
|
|
|
|
/* 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,380},
|
|
|
|
|
|
/* 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,381},
|
|
|
|
|
|
/* 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,382},
|
|
|
|
|
|
/* 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,383},
|
|
|
|
|
|
/* 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,384},
|
|
|
|
|
|
/* 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,385},
|
|
|
|
|
|
/* 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,386},
|
|
|
|
|
|
/* 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,387},
|
|
|
|
|
|
/* 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,388},
|
|
|
|
|
|
/* 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,389},
|
|
|
|
|
|
/* 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,390},
|
|
|
|
|
|
/* 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,391},
|
|
|
|
|
|
/* 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,392},
|
|
|
|
|
|
/* 1011 1000 ddN0 1000 0000 aaaa ssN0 0000 *** trdb @rd,@rs,rba */
|
|
{
|
|
#ifdef NICENAMES
|
|
"trdb @rd,@rs,rba",8,25,
|
|
0x1c,
|
|
#endif
|
|
"trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
|
|
{CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,393},
|
|
|
|
|
|
/* 1011 1000 ddN0 1100 0000 aaaa ssN0 0000 *** trdrb @rd,@rs,rba */
|
|
{
|
|
#ifdef NICENAMES
|
|
"trdrb @rd,@rs,rba",8,25,
|
|
0x1c,
|
|
#endif
|
|
"trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
|
|
{CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,394},
|
|
|
|
|
|
/* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rbr */
|
|
{
|
|
#ifdef NICENAMES
|
|
"trib @rd,@rs,rbr",8,25,
|
|
0x1c,
|
|
#endif
|
|
"trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(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,395},
|
|
|
|
|
|
/* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rbr */
|
|
{
|
|
#ifdef NICENAMES
|
|
"trirb @rd,@rs,rbr",8,25,
|
|
0x1c,
|
|
#endif
|
|
"trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(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,396},
|
|
|
|
|
|
/* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtdb @ra,@rb,rbr */
|
|
{
|
|
#ifdef NICENAMES
|
|
"trtdb @ra,@rb,rbr",8,25,
|
|
0x1c,
|
|
#endif
|
|
"trtdb",OPC_trtdb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(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,397},
|
|
|
|
|
|
/* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rbr */
|
|
{
|
|
#ifdef NICENAMES
|
|
"trtdrb @ra,@rb,rbr",8,25,
|
|
0x1c,
|
|
#endif
|
|
"trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(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,398},
|
|
|
|
|
|
/* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rbr */
|
|
{
|
|
#ifdef NICENAMES
|
|
"trtib @ra,@rb,rbr",8,25,
|
|
0x1c,
|
|
#endif
|
|
"trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(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,399},
|
|
|
|
|
|
/* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rbr */
|
|
{
|
|
#ifdef NICENAMES
|
|
"trtirb @ra,@rb,rbr",8,25,
|
|
0x1c,
|
|
#endif
|
|
"trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(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,400},
|
|
|
|
|
|
/* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtrb @ra,@rb,rbr */
|
|
{
|
|
#ifdef NICENAMES
|
|
"trtrb @ra,@rb,rbr",8,25,
|
|
0x1c,
|
|
#endif
|
|
"trtrb",OPC_trtrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(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,401},
|
|
|
|
|
|
/* 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,402},
|
|
|
|
|
|
/* 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,403},
|
|
|
|
|
|
/* 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,404},
|
|
|
|
|
|
/* 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,405},
|
|
|
|
|
|
/* 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,406},
|
|
|
|
|
|
/* 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,407},
|
|
|
|
|
|
/* 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,408},
|
|
|
|
|
|
/* 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,409},
|
|
|
|
|
|
/* 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,410},
|
|
|
|
|
|
/* 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,411},
|
|
|
|
|
|
/* 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,412},
|
|
|
|
|
|
/* 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,413},
|
|
|
|
|
|
/* 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,414},
|
|
|
|
|
|
/* 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,415},
|
|
|
|
|
|
/* 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,416},
|
|
|
|
|
|
/* 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,417},
|
|
|
|
|
|
/* 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,418},
|
|
|
|
|
|
/* 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,419},
|
|
|
|
|
|
/* 1000 1000 ssss dddd *** xorb rbd,rbs */
|
|
{
|
|
#ifdef NICENAMES
|
|
"xorb rbd,rbs",8,4,
|
|
0x01,
|
|
#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,420},
|
|
|
|
/* 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
|