1 /******************************************************************************
\r
3 * CZ80 XYCB opcode include source file
\r
4 * CZ80 emulator version 0.9
\r
5 * Copyright 2004-2005 Stéphane Dallongeville
\r
9 *****************************************************************************/
\r
11 #if CZ80_USE_JUMPTABLE
\r
12 goto *JumpTableXYCB[Opcode];
\r
18 /*-----------------------------------------
\r
20 -----------------------------------------*/
\r
22 OPXYCB(0x00): // RLC (Ix+d), B
\r
23 OPXYCB(0x01): // RLC (Ix+d), C
\r
24 OPXYCB(0x02): // RLC (Ix+d), D
\r
25 OPXYCB(0x03): // RLC (Ix+d), E
\r
26 OPXYCB(0x04): // RLC (Ix+d), H
\r
27 OPXYCB(0x05): // RLC (Ix+d), L
\r
28 OPXYCB(0x07): // RLC (Ix+d), A
\r
29 src = READ_MEM8(adr);
\r
30 res = ((src << 1) | (src >> 7)) & 0xff;
\r
31 zF = SZP[res] | (src >> 7);
\r
33 WRITE_MEM8(adr, res);
\r
36 OPXYCB(0x06): // RLC (Ix+d)
\r
37 src = READ_MEM8(adr);
\r
38 res = ((src << 1) | (src >> 7)) & 0xff;
\r
39 zF = SZP[res] | (src >> 7);
\r
40 WRITE_MEM8(adr, res);
\r
43 /*-----------------------------------------
\r
45 -----------------------------------------*/
\r
47 OPXYCB(0x08): // RRC (Ix+d), B
\r
48 OPXYCB(0x09): // RRC (Ix+d), C
\r
49 OPXYCB(0x0a): // RRC (Ix+d), D
\r
50 OPXYCB(0x0b): // RRC (Ix+d), E
\r
51 OPXYCB(0x0c): // RRC (Ix+d), H
\r
52 OPXYCB(0x0d): // RRC (Ix+d), L
\r
53 OPXYCB(0x0f): // RRC (Ix+d), A
\r
54 src = READ_MEM8(adr);
\r
55 res = ((src >> 1) | (src << 7)) & 0xff;
\r
56 zF = SZP[res] | (src & CF);
\r
57 zR8(Opcode & 7) = res;
\r
58 WRITE_MEM8(adr, res);
\r
61 OPXYCB(0x0e): // RRC (Ix+d)
\r
62 src = READ_MEM8(adr);
\r
63 res = ((src >> 1) | (src << 7)) & 0xff;
\r
64 zF = SZP[res] | (src & CF);
\r
65 WRITE_MEM8(adr, res);
\r
68 /*-----------------------------------------
\r
70 -----------------------------------------*/
\r
72 OPXYCB(0x10): // RL (Ix+d), B
\r
73 OPXYCB(0x11): // RL (Ix+d), C
\r
74 OPXYCB(0x12): // RL (Ix+d), D
\r
75 OPXYCB(0x13): // RL (Ix+d), E
\r
76 OPXYCB(0x14): // RL (Ix+d), H
\r
77 OPXYCB(0x15): // RL (Ix+d), L
\r
78 OPXYCB(0x17): // RL (Ix+d), A
\r
79 src = READ_MEM8(adr);
\r
80 res = ((src << 1) | (zF & CF)) & 0xff;
\r
81 zF = SZP[res] | (src >> 7);
\r
82 zR8(Opcode & 7) = res;
\r
83 WRITE_MEM8(adr, res);
\r
86 OPXYCB(0x16): // RL (Ix+d)
\r
87 src = READ_MEM8(adr);
\r
88 res = ((src << 1) | (zF & CF)) & 0xff;
\r
89 zF = SZP[res] | (src >> 7);
\r
90 WRITE_MEM8(adr, res);
\r
93 /*-----------------------------------------
\r
95 -----------------------------------------*/
\r
97 OPXYCB(0x18): // RR (Ix+d), B
\r
98 OPXYCB(0x19): // RR (Ix+d), C
\r
99 OPXYCB(0x1a): // RR (Ix+d), D
\r
100 OPXYCB(0x1b): // RR (Ix+d), E
\r
101 OPXYCB(0x1c): // RR (Ix+d), H
\r
102 OPXYCB(0x1d): // RR (Ix+d), L
\r
103 OPXYCB(0x1f): // RR (Ix+d), A
\r
104 src = READ_MEM8(adr);
\r
105 res = ((src >> 1) | (zF << 7)) & 0xff;
\r
106 zF = SZP[res] | (src & CF);
\r
107 zR8(Opcode & 7) = res;
\r
108 WRITE_MEM8(adr, res);
\r
111 OPXYCB(0x1e): // RR (Ix+d)
\r
112 src = READ_MEM8(adr);
\r
113 res = ((src >> 1) | (zF << 7)) & 0xff;
\r
114 zF = SZP[res] | (src & CF);
\r
115 WRITE_MEM8(adr, res);
\r
118 /*-----------------------------------------
\r
120 -----------------------------------------*/
\r
122 OPXYCB(0x20): // SLA (Ix+d), B
\r
123 OPXYCB(0x21): // SLA (Ix+d), C
\r
124 OPXYCB(0x22): // SLA (Ix+d), D
\r
125 OPXYCB(0x23): // SLA (Ix+d), E
\r
126 OPXYCB(0x24): // SLA (Ix+d), H
\r
127 OPXYCB(0x25): // SLA (Ix+d), L
\r
128 OPXYCB(0x27): // SLA (Ix+d), A
\r
129 src = READ_MEM8(adr);
\r
130 res = (src << 1) & 0xff;
\r
131 zF = SZP[res] | (src >> 7);
\r
132 zR8(Opcode & 7) = res;
\r
133 WRITE_MEM8(adr, res);
\r
136 OPXYCB(0x26): // SLA (Ix+d)
\r
137 src = READ_MEM8(adr);
\r
138 res = (src << 1) & 0xff;
\r
139 zF = SZP[res] | (src >> 7);
\r
140 WRITE_MEM8(adr, res);
\r
143 /*-----------------------------------------
\r
145 -----------------------------------------*/
\r
147 OPXYCB(0x28): // SRA (Ix+d), B
\r
148 OPXYCB(0x29): // SRA (Ix+d), C
\r
149 OPXYCB(0x2a): // SRA (Ix+d), D
\r
150 OPXYCB(0x2b): // SRA (Ix+d), E
\r
151 OPXYCB(0x2c): // SRA (Ix+d), H
\r
152 OPXYCB(0x2d): // SRA (Ix+d), L
\r
153 OPXYCB(0x2f): // SRA (Ix+d), A
\r
154 src = READ_MEM8(adr);
\r
155 res = ((src >> 1) | (src & 0x80)) & 0xff;
\r
156 zF = SZP[res] | (src & CF);
\r
157 zR8(Opcode & 7) = res;
\r
158 WRITE_MEM8(adr, res);
\r
161 OPXYCB(0x2e): // SRA (Ix+d)
\r
162 src = READ_MEM8(adr);
\r
163 res = ((src >> 1) | (src & 0x80)) & 0xff;
\r
164 zF = SZP[res] | (src & CF);
\r
165 WRITE_MEM8(adr, res);
\r
168 /*-----------------------------------------
\r
170 -----------------------------------------*/
\r
172 OPXYCB(0x30): // SLL (Ix+d), B
\r
173 OPXYCB(0x31): // SLL (Ix+d), C
\r
174 OPXYCB(0x32): // SLL (Ix+d), D
\r
175 OPXYCB(0x33): // SLL (Ix+d), E
\r
176 OPXYCB(0x34): // SLL (Ix+d), H
\r
177 OPXYCB(0x35): // SLL (Ix+d), L
\r
178 OPXYCB(0x37): // SLL (Ix+d), A
\r
179 src = READ_MEM8(adr);
\r
180 res = ((src << 1) | 0x01) & 0xff;
\r
181 zF = SZP[res] | (src >> 7);
\r
182 zR8(Opcode & 7) = res;
\r
183 WRITE_MEM8(adr, res);
\r
186 OPXYCB(0x36): // SLL (Ix+d)
\r
187 src = READ_MEM8(adr);
\r
188 res = ((src << 1) | 0x01) & 0xff;
\r
189 zF = SZP[res] | (src >> 7);
\r
190 WRITE_MEM8(adr, res);
\r
193 /*-----------------------------------------
\r
195 -----------------------------------------*/
\r
197 OPXYCB(0x38): // SRL (Ix+d), B
\r
198 OPXYCB(0x39): // SRL (Ix+d), C
\r
199 OPXYCB(0x3a): // SRL (Ix+d), D
\r
200 OPXYCB(0x3b): // SRL (Ix+d), E
\r
201 OPXYCB(0x3c): // SRL (Ix+d), H
\r
202 OPXYCB(0x3d): // SRL (Ix+d), L
\r
203 OPXYCB(0x3f): // SRL (Ix+d), A
\r
204 src = READ_MEM8(adr);
\r
205 res = (src >> 1) & 0xff;
\r
206 zF = SZP[res] | (src & CF);
\r
207 zR8(Opcode & 7) = res;
\r
208 WRITE_MEM8(adr, res);
\r
211 OPXYCB(0x3e): // SRL (Ix+d)
\r
212 src = READ_MEM8(adr);
\r
213 res = (src >> 1) & 0xff;
\r
214 zF = SZP[res] | (src & CF);
\r
215 WRITE_MEM8(adr, res);
\r
218 /*-----------------------------------------
\r
220 -----------------------------------------*/
\r
222 OPXYCB(0x40): // BIT 0,(Ix+d)
\r
223 OPXYCB(0x41): // BIT 0,(Ix+d)
\r
224 OPXYCB(0x42): // BIT 0,(Ix+d)
\r
225 OPXYCB(0x43): // BIT 0,(Ix+d)
\r
226 OPXYCB(0x44): // BIT 0,(Ix+d)
\r
227 OPXYCB(0x45): // BIT 0,(Ix+d)
\r
228 OPXYCB(0x47): // BIT 0,(Ix+d)
\r
230 OPXYCB(0x48): // BIT 1,(Ix+d)
\r
231 OPXYCB(0x49): // BIT 1,(Ix+d)
\r
232 OPXYCB(0x4a): // BIT 1,(Ix+d)
\r
233 OPXYCB(0x4b): // BIT 1,(Ix+d)
\r
234 OPXYCB(0x4c): // BIT 1,(Ix+d)
\r
235 OPXYCB(0x4d): // BIT 1,(Ix+d)
\r
236 OPXYCB(0x4f): // BIT 1,(Ix+d)
\r
238 OPXYCB(0x50): // BIT 2,(Ix+d)
\r
239 OPXYCB(0x51): // BIT 2,(Ix+d)
\r
240 OPXYCB(0x52): // BIT 2,(Ix+d)
\r
241 OPXYCB(0x53): // BIT 2,(Ix+d)
\r
242 OPXYCB(0x54): // BIT 2,(Ix+d)
\r
243 OPXYCB(0x55): // BIT 2,(Ix+d)
\r
244 OPXYCB(0x57): // BIT 2,(Ix+d)
\r
246 OPXYCB(0x58): // BIT 3,(Ix+d)
\r
247 OPXYCB(0x59): // BIT 3,(Ix+d)
\r
248 OPXYCB(0x5a): // BIT 3,(Ix+d)
\r
249 OPXYCB(0x5b): // BIT 3,(Ix+d)
\r
250 OPXYCB(0x5c): // BIT 3,(Ix+d)
\r
251 OPXYCB(0x5d): // BIT 3,(Ix+d)
\r
252 OPXYCB(0x5f): // BIT 3,(Ix+d)
\r
254 OPXYCB(0x60): // BIT 4,(Ix+d)
\r
255 OPXYCB(0x61): // BIT 4,(Ix+d)
\r
256 OPXYCB(0x62): // BIT 4,(Ix+d)
\r
257 OPXYCB(0x63): // BIT 4,(Ix+d)
\r
258 OPXYCB(0x64): // BIT 4,(Ix+d)
\r
259 OPXYCB(0x65): // BIT 4,(Ix+d)
\r
260 OPXYCB(0x67): // BIT 4,(Ix+d)
\r
262 OPXYCB(0x68): // BIT 5,(Ix+d)
\r
263 OPXYCB(0x69): // BIT 5,(Ix+d)
\r
264 OPXYCB(0x6a): // BIT 5,(Ix+d)
\r
265 OPXYCB(0x6b): // BIT 5,(Ix+d)
\r
266 OPXYCB(0x6c): // BIT 5,(Ix+d)
\r
267 OPXYCB(0x6d): // BIT 5,(Ix+d)
\r
268 OPXYCB(0x6f): // BIT 5,(Ix+d)
\r
270 OPXYCB(0x70): // BIT 6,(Ix+d)
\r
271 OPXYCB(0x71): // BIT 6,(Ix+d)
\r
272 OPXYCB(0x72): // BIT 6,(Ix+d)
\r
273 OPXYCB(0x73): // BIT 6,(Ix+d)
\r
274 OPXYCB(0x74): // BIT 6,(Ix+d)
\r
275 OPXYCB(0x75): // BIT 6,(Ix+d)
\r
276 OPXYCB(0x77): // BIT 6,(Ix+d)
\r
278 OPXYCB(0x78): // BIT 7,(Ix+d)
\r
279 OPXYCB(0x79): // BIT 7,(Ix+d)
\r
280 OPXYCB(0x7a): // BIT 7,(Ix+d)
\r
281 OPXYCB(0x7b): // BIT 7,(Ix+d)
\r
282 OPXYCB(0x7c): // BIT 7,(Ix+d)
\r
283 OPXYCB(0x7d): // BIT 7,(Ix+d)
\r
284 OPXYCB(0x7f): // BIT 7,(Ix+d)
\r
286 OPXYCB(0x46): // BIT 0,(Ix+d)
\r
287 OPXYCB(0x4e): // BIT 1,(Ix+d)
\r
288 OPXYCB(0x56): // BIT 2,(Ix+d)
\r
289 OPXYCB(0x5e): // BIT 3,(Ix+d)
\r
290 OPXYCB(0x66): // BIT 4,(Ix+d)
\r
291 OPXYCB(0x6e): // BIT 5,(Ix+d)
\r
292 OPXYCB(0x76): // BIT 6,(Ix+d)
\r
293 OPXYCB(0x7e): // BIT 7,(Ix+d)
\r
294 src = READ_MEM8(adr);
\r
295 zF = (zF & CF) | HF |
\r
296 (SZ_BIT[src & (1 << ((Opcode >> 3) & 7))] & ~(YF | XF)) |
\r
297 ((adr >> 8) & (YF | XF));
\r
300 /*-----------------------------------------
\r
302 -----------------------------------------*/
\r
304 OPXYCB(0x80): // RES 0,(Ix+d),B
\r
305 OPXYCB(0x81): // RES 0,(Ix+d),C
\r
306 OPXYCB(0x82): // RES 0,(Ix+d),D
\r
307 OPXYCB(0x83): // RES 0,(Ix+d),E
\r
308 OPXYCB(0x84): // RES 0,(Ix+d),H
\r
309 OPXYCB(0x85): // RES 0,(Ix+d),L
\r
310 OPXYCB(0x87): // RES 0,(Ix+d),A
\r
312 OPXYCB(0x88): // RES 1,(Ix+d),B
\r
313 OPXYCB(0x89): // RES 1,(Ix+d),C
\r
314 OPXYCB(0x8a): // RES 1,(Ix+d),D
\r
315 OPXYCB(0x8b): // RES 1,(Ix+d),E
\r
316 OPXYCB(0x8c): // RES 1,(Ix+d),H
\r
317 OPXYCB(0x8d): // RES 1,(Ix+d),L
\r
318 OPXYCB(0x8f): // RES 1,(Ix+d),A
\r
320 OPXYCB(0x90): // RES 2,(Ix+d),B
\r
321 OPXYCB(0x91): // RES 2,(Ix+d),C
\r
322 OPXYCB(0x92): // RES 2,(Ix+d),D
\r
323 OPXYCB(0x93): // RES 2,(Ix+d),E
\r
324 OPXYCB(0x94): // RES 2,(Ix+d),H
\r
325 OPXYCB(0x95): // RES 2,(Ix+d),L
\r
326 OPXYCB(0x97): // RES 2,(Ix+d),A
\r
328 OPXYCB(0x98): // RES 3,(Ix+d),B
\r
329 OPXYCB(0x99): // RES 3,(Ix+d),C
\r
330 OPXYCB(0x9a): // RES 3,(Ix+d),D
\r
331 OPXYCB(0x9b): // RES 3,(Ix+d),E
\r
332 OPXYCB(0x9c): // RES 3,(Ix+d),H
\r
333 OPXYCB(0x9d): // RES 3,(Ix+d),L
\r
334 OPXYCB(0x9f): // RES 3,(Ix+d),A
\r
336 OPXYCB(0xa0): // RES 4,(Ix+d),B
\r
337 OPXYCB(0xa1): // RES 4,(Ix+d),C
\r
338 OPXYCB(0xa2): // RES 4,(Ix+d),D
\r
339 OPXYCB(0xa3): // RES 4,(Ix+d),E
\r
340 OPXYCB(0xa4): // RES 4,(Ix+d),H
\r
341 OPXYCB(0xa5): // RES 4,(Ix+d),L
\r
342 OPXYCB(0xa7): // RES 4,(Ix+d),A
\r
344 OPXYCB(0xa8): // RES 5,(Ix+d),B
\r
345 OPXYCB(0xa9): // RES 5,(Ix+d),C
\r
346 OPXYCB(0xaa): // RES 5,(Ix+d),D
\r
347 OPXYCB(0xab): // RES 5,(Ix+d),E
\r
348 OPXYCB(0xac): // RES 5,(Ix+d),H
\r
349 OPXYCB(0xad): // RES 5,(Ix+d),L
\r
350 OPXYCB(0xaf): // RES 5,(Ix+d),A
\r
352 OPXYCB(0xb0): // RES 6,(Ix+d),B
\r
353 OPXYCB(0xb1): // RES 6,(Ix+d),C
\r
354 OPXYCB(0xb2): // RES 6,(Ix+d),D
\r
355 OPXYCB(0xb3): // RES 6,(Ix+d),E
\r
356 OPXYCB(0xb4): // RES 6,(Ix+d),H
\r
357 OPXYCB(0xb5): // RES 6,(Ix+d),L
\r
358 OPXYCB(0xb7): // RES 6,(Ix+d),A
\r
360 OPXYCB(0xb8): // RES 7,(Ix+d),B
\r
361 OPXYCB(0xb9): // RES 7,(Ix+d),C
\r
362 OPXYCB(0xba): // RES 7,(Ix+d),D
\r
363 OPXYCB(0xbb): // RES 7,(Ix+d),E
\r
364 OPXYCB(0xbc): // RES 7,(Ix+d),H
\r
365 OPXYCB(0xbd): // RES 7,(Ix+d),L
\r
366 OPXYCB(0xbf): // RES 7,(Ix+d),A
\r
367 res = READ_MEM8(adr);
\r
368 res &= ~(1 << ((Opcode >> 3) & 7));
\r
369 zR8(Opcode & 7) = res;
\r
370 WRITE_MEM8(adr, res);
\r
373 OPXYCB(0x86): // RES 0,(Ix+d)
\r
374 OPXYCB(0x8e): // RES 1,(Ix+d)
\r
375 OPXYCB(0x96): // RES 2,(Ix+d)
\r
376 OPXYCB(0x9e): // RES 3,(Ix+d)
\r
377 OPXYCB(0xa6): // RES 4,(Ix+d)
\r
378 OPXYCB(0xae): // RES 5,(Ix+d)
\r
379 OPXYCB(0xb6): // RES 6,(Ix+d)
\r
380 OPXYCB(0xbe): // RES 7,(Ix+d)
\r
381 res = READ_MEM8(adr);
\r
382 res &= ~(1 << ((Opcode >> 3) & 7));
\r
383 WRITE_MEM8(adr, res);
\r
386 /*-----------------------------------------
\r
388 -----------------------------------------*/
\r
390 OPXYCB(0xc0): // SET 0,(Ix+d),B
\r
391 OPXYCB(0xc1): // SET 0,(Ix+d),C
\r
392 OPXYCB(0xc2): // SET 0,(Ix+d),D
\r
393 OPXYCB(0xc3): // SET 0,(Ix+d),E
\r
394 OPXYCB(0xc4): // SET 0,(Ix+d),H
\r
395 OPXYCB(0xc5): // SET 0,(Ix+d),L
\r
396 OPXYCB(0xc7): // SET 0,(Ix+d),A
\r
398 OPXYCB(0xc8): // SET 1,(Ix+d),B
\r
399 OPXYCB(0xc9): // SET 1,(Ix+d),C
\r
400 OPXYCB(0xca): // SET 1,(Ix+d),D
\r
401 OPXYCB(0xcb): // SET 1,(Ix+d),E
\r
402 OPXYCB(0xcc): // SET 1,(Ix+d),H
\r
403 OPXYCB(0xcd): // SET 1,(Ix+d),L
\r
404 OPXYCB(0xcf): // SET 1,(Ix+d),A
\r
406 OPXYCB(0xd0): // SET 2,(Ix+d),B
\r
407 OPXYCB(0xd1): // SET 2,(Ix+d),C
\r
408 OPXYCB(0xd2): // SET 2,(Ix+d),D
\r
409 OPXYCB(0xd3): // SET 2,(Ix+d),E
\r
410 OPXYCB(0xd4): // SET 2,(Ix+d),H
\r
411 OPXYCB(0xd5): // SET 2,(Ix+d),L
\r
412 OPXYCB(0xd7): // SET 2,(Ix+d),A
\r
414 OPXYCB(0xd8): // SET 3,(Ix+d),B
\r
415 OPXYCB(0xd9): // SET 3,(Ix+d),C
\r
416 OPXYCB(0xda): // SET 3,(Ix+d),D
\r
417 OPXYCB(0xdb): // SET 3,(Ix+d),E
\r
418 OPXYCB(0xdc): // SET 3,(Ix+d),H
\r
419 OPXYCB(0xdd): // SET 3,(Ix+d),L
\r
420 OPXYCB(0xdf): // SET 3,(Ix+d),A
\r
422 OPXYCB(0xe0): // SET 4,(Ix+d),B
\r
423 OPXYCB(0xe1): // SET 4,(Ix+d),C
\r
424 OPXYCB(0xe2): // SET 4,(Ix+d),D
\r
425 OPXYCB(0xe3): // SET 4,(Ix+d),E
\r
426 OPXYCB(0xe4): // SET 4,(Ix+d),H
\r
427 OPXYCB(0xe5): // SET 4,(Ix+d),L
\r
428 OPXYCB(0xe7): // SET 4,(Ix+d),A
\r
430 OPXYCB(0xe8): // SET 5,(Ix+d),B
\r
431 OPXYCB(0xe9): // SET 5,(Ix+d),C
\r
432 OPXYCB(0xea): // SET 5,(Ix+d),D
\r
433 OPXYCB(0xeb): // SET 5,(Ix+d),E
\r
434 OPXYCB(0xec): // SET 5,(Ix+d),H
\r
435 OPXYCB(0xed): // SET 5,(Ix+d),L
\r
436 OPXYCB(0xef): // SET 5,(Ix+d),A
\r
438 OPXYCB(0xf0): // SET 6,(Ix+d),B
\r
439 OPXYCB(0xf1): // SET 6,(Ix+d),C
\r
440 OPXYCB(0xf2): // SET 6,(Ix+d),D
\r
441 OPXYCB(0xf3): // SET 6,(Ix+d),E
\r
442 OPXYCB(0xf4): // SET 6,(Ix+d),H
\r
443 OPXYCB(0xf5): // SET 6,(Ix+d),L
\r
444 OPXYCB(0xf7): // SET 6,(Ix+d),A
\r
446 OPXYCB(0xf8): // SET 7,(Ix+d),B
\r
447 OPXYCB(0xf9): // SET 7,(Ix+d),C
\r
448 OPXYCB(0xfa): // SET 7,(Ix+d),D
\r
449 OPXYCB(0xfb): // SET 7,(Ix+d),E
\r
450 OPXYCB(0xfc): // SET 7,(Ix+d),H
\r
451 OPXYCB(0xfd): // SET 7,(Ix+d),L
\r
452 OPXYCB(0xff): // SET 7,(Ix+d),A
\r
453 res = READ_MEM8(adr);
\r
454 res |= 1 << ((Opcode >> 3) & 7);
\r
455 zR8(Opcode & 7) = res;
\r
456 WRITE_MEM8(adr, res);
\r
459 OPXYCB(0xc6): // SET 0,(Ix+d)
\r
460 OPXYCB(0xce): // SET 1,(Ix+d)
\r
461 OPXYCB(0xd6): // SET 2,(Ix+d)
\r
462 OPXYCB(0xde): // SET 3,(Ix+d)
\r
463 OPXYCB(0xe6): // SET 4,(Ix+d)
\r
464 OPXYCB(0xee): // SET 5,(Ix+d)
\r
465 OPXYCB(0xf6): // SET 6,(Ix+d)
\r
466 OPXYCB(0xfe): // SET 7,(Ix+d)
\r
467 res = READ_MEM8(adr);
\r
468 res |= 1 << ((Opcode >> 3) & 7);
\r
469 WRITE_MEM8(adr, res);
\r
472 #if !CZ80_USE_JUMPTABLE
\r