summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/nec/v25instr.h
blob: 33b5aac3e1242df363462eb025492be01fad0428 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
// license:BSD-3-Clause
// copyright-holders:Bryan McPhail
const v25_common_device::nec_ophandler v25_common_device::s_nec_instruction[256] =
{
	&v25_common_device::i_add_br8,      /* 0x00 */
	&v25_common_device::i_add_wr16,     /* 0x01 */
	&v25_common_device::i_add_r8b,      /* 0x02 */
	&v25_common_device::i_add_r16w,     /* 0x03 */
	&v25_common_device::i_add_ald8,     /* 0x04 */
	&v25_common_device::i_add_axd16,    /* 0x05 */
	&v25_common_device::i_push_es,      /* 0x06 */
	&v25_common_device::i_pop_es,       /* 0x07 */
	&v25_common_device::i_or_br8,       /* 0x08 */
	&v25_common_device::i_or_wr16,      /* 0x09 */
	&v25_common_device::i_or_r8b,       /* 0x0a */
	&v25_common_device::i_or_r16w,      /* 0x0b */
	&v25_common_device::i_or_ald8,      /* 0x0c */
	&v25_common_device::i_or_axd16,     /* 0x0d */
	&v25_common_device::i_push_cs,      /* 0x0e */
	&v25_common_device::i_pre_v25,      /* 0x0f */
	&v25_common_device::i_adc_br8,      /* 0x10 */
	&v25_common_device::i_adc_wr16,     /* 0x11 */
	&v25_common_device::i_adc_r8b,      /* 0x12 */
	&v25_common_device::i_adc_r16w,     /* 0x13 */
	&v25_common_device::i_adc_ald8,     /* 0x14 */
	&v25_common_device::i_adc_axd16,    /* 0x15 */
	&v25_common_device::i_push_ss,      /* 0x16 */
	&v25_common_device::i_pop_ss,       /* 0x17 */
	&v25_common_device::i_sbb_br8,      /* 0x18 */
	&v25_common_device::i_sbb_wr16,     /* 0x19 */
	&v25_common_device::i_sbb_r8b,      /* 0x1a */
	&v25_common_device::i_sbb_r16w,     /* 0x1b */
	&v25_common_device::i_sbb_ald8,     /* 0x1c */
	&v25_common_device::i_sbb_axd16,    /* 0x1d */
	&v25_common_device::i_push_ds,      /* 0x1e */
	&v25_common_device::i_pop_ds,       /* 0x1f */
	&v25_common_device::i_and_br8,      /* 0x20 */
	&v25_common_device::i_and_wr16,     /* 0x21 */
	&v25_common_device::i_and_r8b,      /* 0x22 */
	&v25_common_device::i_and_r16w,     /* 0x23 */
	&v25_common_device::i_and_ald8,     /* 0x24 */
	&v25_common_device::i_and_axd16,    /* 0x25 */
	&v25_common_device::i_es,           /* 0x26 */
	&v25_common_device::i_daa,          /* 0x27 */
	&v25_common_device::i_sub_br8,      /* 0x28 */
	&v25_common_device::i_sub_wr16,     /* 0x29 */
	&v25_common_device::i_sub_r8b,      /* 0x2a */
	&v25_common_device::i_sub_r16w,     /* 0x2b */
	&v25_common_device::i_sub_ald8,     /* 0x2c */
	&v25_common_device::i_sub_axd16,    /* 0x2d */
	&v25_common_device::i_cs,           /* 0x2e */
	&v25_common_device::i_das,          /* 0x2f */
	&v25_common_device::i_xor_br8,      /* 0x30 */
	&v25_common_device::i_xor_wr16,     /* 0x31 */
	&v25_common_device::i_xor_r8b,      /* 0x32 */
	&v25_common_device::i_xor_r16w,     /* 0x33 */
	&v25_common_device::i_xor_ald8,     /* 0x34 */
	&v25_common_device::i_xor_axd16,    /* 0x35 */
	&v25_common_device::i_ss,           /* 0x36 */
	&v25_common_device::i_aaa,          /* 0x37 */
	&v25_common_device::i_cmp_br8,      /* 0x38 */
	&v25_common_device::i_cmp_wr16,     /* 0x39 */
	&v25_common_device::i_cmp_r8b,      /* 0x3a */
	&v25_common_device::i_cmp_r16w,     /* 0x3b */
	&v25_common_device::i_cmp_ald8,     /* 0x3c */
	&v25_common_device::i_cmp_axd16,    /* 0x3d */
	&v25_common_device::i_ds,           /* 0x3e */
	&v25_common_device::i_aas,          /* 0x3f */
	&v25_common_device::i_inc_ax,       /* 0x40 */
	&v25_common_device::i_inc_cx,       /* 0x41 */
	&v25_common_device::i_inc_dx,       /* 0x42 */
	&v25_common_device::i_inc_bx,       /* 0x43 */
	&v25_common_device::i_inc_sp,       /* 0x44 */
	&v25_common_device::i_inc_bp,       /* 0x45 */
	&v25_common_device::i_inc_si,       /* 0x46 */
	&v25_common_device::i_inc_di,       /* 0x47 */
	&v25_common_device::i_dec_ax,       /* 0x48 */
	&v25_common_device::i_dec_cx,       /* 0x49 */
	&v25_common_device::i_dec_dx,       /* 0x4a */
	&v25_common_device::i_dec_bx,       /* 0x4b */
	&v25_common_device::i_dec_sp,       /* 0x4c */
	&v25_common_device::i_dec_bp,       /* 0x4d */
	&v25_common_device::i_dec_si,       /* 0x4e */
	&v25_common_device::i_dec_di,       /* 0x4f */
	&v25_common_device::i_push_ax,      /* 0x50 */
	&v25_common_device::i_push_cx,      /* 0x51 */
	&v25_common_device::i_push_dx,      /* 0x52 */
	&v25_common_device::i_push_bx,      /* 0x53 */
	&v25_common_device::i_push_sp,      /* 0x54 */
	&v25_common_device::i_push_bp,      /* 0x55 */
	&v25_common_device::i_push_si,      /* 0x56 */
	&v25_common_device::i_push_di,      /* 0x57 */
	&v25_common_device::i_pop_ax,       /* 0x58 */
	&v25_common_device::i_pop_cx,       /* 0x59 */
	&v25_common_device::i_pop_dx,       /* 0x5a */
	&v25_common_device::i_pop_bx,       /* 0x5b */
	&v25_common_device::i_pop_sp,       /* 0x5c */
	&v25_common_device::i_pop_bp,       /* 0x5d */
	&v25_common_device::i_pop_si,       /* 0x5e */
	&v25_common_device::i_pop_di,       /* 0x5f */
	&v25_common_device::i_pusha,        /* 0x60 */
	&v25_common_device::i_popa,         /* 0x61 */
	&v25_common_device::i_chkind,       /* 0x62 */
	&v25_common_device::i_brkn,         /* 0x63 - V25S/V35S only */
	&v25_common_device::i_repnc,        /* 0x64 */
	&v25_common_device::i_repc,         /* 0x65 */
	&v25_common_device::i_invalid,      /* 0x66 */
	&v25_common_device::i_invalid,      /* 0x67 */
	&v25_common_device::i_push_d16,     /* 0x68 */
	&v25_common_device::i_imul_d16,     /* 0x69 */
	&v25_common_device::i_push_d8,      /* 0x6a */
	&v25_common_device::i_imul_d8,      /* 0x6b */
	&v25_common_device::i_insb,         /* 0x6c */
	&v25_common_device::i_insw,         /* 0x6d */
	&v25_common_device::i_outsb,        /* 0x6e */
	&v25_common_device::i_outsw,        /* 0x6f */
	&v25_common_device::i_jo,           /* 0x70 */
	&v25_common_device::i_jno,          /* 0x71 */
	&v25_common_device::i_jc,           /* 0x72 */
	&v25_common_device::i_jnc,          /* 0x73 */
	&v25_common_device::i_jz,           /* 0x74 */
	&v25_common_device::i_jnz,          /* 0x75 */
	&v25_common_device::i_jce,          /* 0x76 */
	&v25_common_device::i_jnce,         /* 0x77 */
	&v25_common_device::i_js,           /* 0x78 */
	&v25_common_device::i_jns,          /* 0x79 */
	&v25_common_device::i_jp,           /* 0x7a */
	&v25_common_device::i_jnp,          /* 0x7b */
	&v25_common_device::i_jl,           /* 0x7c */
	&v25_common_device::i_jnl,          /* 0x7d */
	&v25_common_device::i_jle,          /* 0x7e */
	&v25_common_device::i_jnle,         /* 0x7f */
	&v25_common_device::i_80pre,        /* 0x80 */
	&v25_common_device::i_81pre,        /* 0x81 */
	&v25_common_device::i_82pre,        /* 0x82 */
	&v25_common_device::i_83pre,        /* 0x83 */
	&v25_common_device::i_test_br8,     /* 0x84 */
	&v25_common_device::i_test_wr16,    /* 0x85 */
	&v25_common_device::i_xchg_br8,     /* 0x86 */
	&v25_common_device::i_xchg_wr16,    /* 0x87 */
	&v25_common_device::i_mov_br8,      /* 0x88 */
	&v25_common_device::i_mov_wr16,     /* 0x89 */
	&v25_common_device::i_mov_r8b,      /* 0x8a */
	&v25_common_device::i_mov_r16w,     /* 0x8b */
	&v25_common_device::i_mov_wsreg,    /* 0x8c */
	&v25_common_device::i_lea,          /* 0x8d */
	&v25_common_device::i_mov_sregw,    /* 0x8e */
	&v25_common_device::i_popw,         /* 0x8f */
	&v25_common_device::i_nop,          /* 0x90 */
	&v25_common_device::i_xchg_axcx,    /* 0x91 */
	&v25_common_device::i_xchg_axdx,    /* 0x92 */
	&v25_common_device::i_xchg_axbx,    /* 0x93 */
	&v25_common_device::i_xchg_axsp,    /* 0x94 */
	&v25_common_device::i_xchg_axbp,    /* 0x95 */
	&v25_common_device::i_xchg_axsi,    /* 0x96 */
	&v25_common_device::i_xchg_axdi,    /* 0x97 */
	&v25_common_device::i_cbw,          /* 0x98 */
	&v25_common_device::i_cwd,          /* 0x99 */
	&v25_common_device::i_call_far,     /* 0x9a */
	&v25_common_device::i_wait,         /* 0x9b */
	&v25_common_device::i_pushf,        /* 0x9c */
	&v25_common_device::i_popf,         /* 0x9d */
	&v25_common_device::i_sahf,         /* 0x9e */
	&v25_common_device::i_lahf,         /* 0x9f */
	&v25_common_device::i_mov_aldisp,   /* 0xa0 */
	&v25_common_device::i_mov_axdisp,   /* 0xa1 */
	&v25_common_device::i_mov_dispal,   /* 0xa2 */
	&v25_common_device::i_mov_dispax,   /* 0xa3 */
	&v25_common_device::i_movsb,        /* 0xa4 */
	&v25_common_device::i_movsw,        /* 0xa5 */
	&v25_common_device::i_cmpsb,        /* 0xa6 */
	&v25_common_device::i_cmpsw,        /* 0xa7 */
	&v25_common_device::i_test_ald8,    /* 0xa8 */
	&v25_common_device::i_test_axd16,   /* 0xa9 */
	&v25_common_device::i_stosb,        /* 0xaa */
	&v25_common_device::i_stosw,        /* 0xab */
	&v25_common_device::i_lodsb,        /* 0xac */
	&v25_common_device::i_lodsw,        /* 0xad */
	&v25_common_device::i_scasb,        /* 0xae */
	&v25_common_device::i_scasw,        /* 0xaf */
	&v25_common_device::i_mov_ald8,     /* 0xb0 */
	&v25_common_device::i_mov_cld8,     /* 0xb1 */
	&v25_common_device::i_mov_dld8,     /* 0xb2 */
	&v25_common_device::i_mov_bld8,     /* 0xb3 */
	&v25_common_device::i_mov_ahd8,     /* 0xb4 */
	&v25_common_device::i_mov_chd8,     /* 0xb5 */
	&v25_common_device::i_mov_dhd8,     /* 0xb6 */
	&v25_common_device::i_mov_bhd8,     /* 0xb7 */
	&v25_common_device::i_mov_axd16,    /* 0xb8 */
	&v25_common_device::i_mov_cxd16,    /* 0xb9 */
	&v25_common_device::i_mov_dxd16,    /* 0xba */
	&v25_common_device::i_mov_bxd16,    /* 0xbb */
	&v25_common_device::i_mov_spd16,    /* 0xbc */
	&v25_common_device::i_mov_bpd16,    /* 0xbd */
	&v25_common_device::i_mov_sid16,    /* 0xbe */
	&v25_common_device::i_mov_did16,    /* 0xbf */
	&v25_common_device::i_rotshft_bd8,  /* 0xc0 */
	&v25_common_device::i_rotshft_wd8,  /* 0xc1 */
	&v25_common_device::i_ret_d16,      /* 0xc2 */
	&v25_common_device::i_ret,          /* 0xc3 */
	&v25_common_device::i_les_dw,       /* 0xc4 */
	&v25_common_device::i_lds_dw,       /* 0xc5 */
	&v25_common_device::i_mov_bd8,      /* 0xc6 */
	&v25_common_device::i_mov_wd16,     /* 0xc7 */
	&v25_common_device::i_enter,        /* 0xc8 */
	&v25_common_device::i_leave,        /* 0xc9 */
	&v25_common_device::i_retf_d16,     /* 0xca */
	&v25_common_device::i_retf,         /* 0xcb */
	&v25_common_device::i_int3,         /* 0xcc */
	&v25_common_device::i_int,          /* 0xcd */
	&v25_common_device::i_into,         /* 0xce */
	&v25_common_device::i_iret,         /* 0xcf */
	&v25_common_device::i_rotshft_b,    /* 0xd0 */
	&v25_common_device::i_rotshft_w,    /* 0xd1 */
	&v25_common_device::i_rotshft_bcl,  /* 0xd2 */
	&v25_common_device::i_rotshft_wcl,  /* 0xd3 */
	&v25_common_device::i_aam,          /* 0xd4 */
	&v25_common_device::i_aad,          /* 0xd5 */
	&v25_common_device::i_setalc,       /* 0xd6 */
	&v25_common_device::i_trans,        /* 0xd7 */
	&v25_common_device::i_fpo,          /* 0xd8 */
	&v25_common_device::i_fpo,          /* 0xd9 */
	&v25_common_device::i_fpo,          /* 0xda */
	&v25_common_device::i_fpo,          /* 0xdb */
	&v25_common_device::i_fpo,          /* 0xdc */
	&v25_common_device::i_fpo,          /* 0xdd */
	&v25_common_device::i_fpo,          /* 0xde */
	&v25_common_device::i_fpo,          /* 0xdf */
	&v25_common_device::i_loopne,       /* 0xe0 */
	&v25_common_device::i_loope,        /* 0xe1 */
	&v25_common_device::i_loop,         /* 0xe2 */
	&v25_common_device::i_jcxz,         /* 0xe3 */
	&v25_common_device::i_inal,         /* 0xe4 */
	&v25_common_device::i_inax,         /* 0xe5 */
	&v25_common_device::i_outal,        /* 0xe6 */
	&v25_common_device::i_outax,        /* 0xe7 */
	&v25_common_device::i_call_d16,     /* 0xe8 */
	&v25_common_device::i_jmp_d16,      /* 0xe9 */
	&v25_common_device::i_jmp_far,      /* 0xea */
	&v25_common_device::i_jmp_d8,       /* 0xeb */
	&v25_common_device::i_inaldx,       /* 0xec */
	&v25_common_device::i_inaxdx,       /* 0xed */
	&v25_common_device::i_outdxal,      /* 0xee */
	&v25_common_device::i_outdxax,      /* 0xef */
	&v25_common_device::i_lock,         /* 0xf0 */
	&v25_common_device::i_brks,         /* 0xf1 */
	&v25_common_device::i_repne,        /* 0xf2 */
	&v25_common_device::i_repe,         /* 0xf3 */
	&v25_common_device::i_hlt,          /* 0xf4 */
	&v25_common_device::i_cmc,          /* 0xf5 */
	&v25_common_device::i_f6pre,        /* 0xf6 */
	&v25_common_device::i_f7pre,        /* 0xf7 */
	&v25_common_device::i_clc,          /* 0xf8 */
	&v25_common_device::i_stc,          /* 0xf9 */
	&v25_common_device::i_di,           /* 0xfa */
	&v25_common_device::i_ei,           /* 0xfb */
	&v25_common_device::i_cld,          /* 0xfc */
	&v25_common_device::i_std,          /* 0xfd */
	&v25_common_device::i_fepre,        /* 0xfe */
	&v25_common_device::i_ffpre         /* 0xff */
};