home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 3
/
goldfish_volume_3.bin
/
files
/
dev
/
cross
/
caz
/
src
/
cazmne.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-01-08
|
16KB
|
278 lines
#include "defs.h"
char *directives[] = { "ORG","EQU","DEFL","DEFB","DEFW","DEFS","DEFM","INCLUDE",
"END","LIST","OFF","ON","COND","ENDC","EJECT","MACLIST",
"HEADING","MACRO","ENDM","DEFBASE",NULL };
/*
* 'Jump Relative' : UNM16+JMPREL (UNM16 to note absolute Position)
* 'IM 0/1/2' are special coded: MNE='IM' + UNM3 + IMODE0/1/2
* 'RST' has an own flag to generate table
*/
/*
* Table Format:
* STRING Mnemomic in Uppercase,
* u_long Type of first Parameter,
* u_long Type of second Parameter,
* u_char Where to code the first Parameter, and the Objectcode length of the Mnemomic,
* u_char Where to code the second Parameter,
* u_char[4] Binary Code of the Mnemomic
*/
struct command cmd[] = {
{"ADC", NBR|REG_A, REG8, NOE+MNELE1, BYTE1+BIT0, 0x88,0x00,0x00,0x00, 4},
{"ADC", NBR|REG_A, UNM8, NOE+MNELE2, BYTE2, 0xCE,0x00,0x00,0x00, 7},
{"ADC", NBR|REG_A, REG_HL+IND, NOE+MNELE1, NOE, 0x8E,0x00,0x00,0x00, 7},
{"ADC", NBR|REG_A, REG_IX+OFF+IND, NOE+MNELE3, BYTE3, 0xDD,0x8E,0x00,0x00,19},
{"ADC", NBR|REG_A, REG_IY+OFF+IND, NOE+MNELE3, BYTE3, 0xFD,0x8E,0x00,0x00,19},
{"ADC", NBR|REG_HL, REG16, NOE+MNELE2, BYTE2+BIT4, 0xED,0x4A,0x00,0x00,15},
{"ADD", NBR|REG_A, REG_HL+IND, NOE+MNELE1, NOE, 0x86,0x00,0x00,0x00, 7},
{"ADD", NBR|REG_A, REG_IX+OFF+IND, NOE+MNELE3, BYTE3, 0xDD,0x86,0x00,0x00,19},
{"ADD", NBR|REG_A, REG_IY+OFF+IND, NOE+MNELE3, BYTE3, 0xFD,0x86,0x00,0x00,19},
{"ADD", NBR|REG_A, UNM8, NOE+MNELE2, BYTE2, 0xC6,0x00,0x00,0x00, 7},
{"ADD", NBR|REG_A, REG8, NOE+MNELE1, BYTE1+BIT0, 0x80,0x00,0x00,0x00, 4},
{"ADD", NBR|REG_HL, REG16, NOE+MNELE1, BYTE1+BIT4, 0x09,0x00,0x00,0x00,11},
{"ADD", NBR|REG_IX, REG_BC+REG_DE+REG_SP,NOE+MNELE2,BYTE2+BIT4,
0xDD,0x09,0x00,0x00,15},
{"ADD", NBR|REG_IX, REG_IX, NOE+MNELE2, NOE, 0xDD,0x29,0x00,0x00,15},
{"ADD", NBR|REG_IY, REG_BC+REG_DE+REG_SP,NOE+MNELE2,BYTE2+BIT4,
0xFD,0x09,0x00,0x00,15},
{"ADD", NBR|REG_IY, REG_IY, NOE+MNELE2, NOE, 0xFD,0x29,0x00,0x00,15},
{"AND", NBR|REG8, NOPAR, BYTE1+BIT0+MNELE1, NOE, 0xA0,0x00,0x00,0x00, 4},
{"AND", NBR|UNM8, NOPAR, BYTE2+MNELE2, NOE, 0xE6,0x00,0x00,0x00, 7},
{"AND", NBR|REG_HL+IND, NOPAR, NOE+MNELE1, NOE, 0xA6,0x00,0x00,0x00, 7},
{"AND", NBR|REG_IX+OFF+IND, NOPAR, BYTE3+MNELE3, NOE, 0xDD,0xA6,0x00,0x00,19},
{"AND", NBR|REG_IY+OFF+IND, NOPAR, BYTE3+MNELE3, NOE, 0xFD,0xA6,0x00,0x00,19},
{"BIT", NBR|UNM3, REG_HL+IND, BYTE2+BIT3+MNELE2, NOE,0xCB,0x46,0x00,0x00,12},
{"BIT", NBR|UNM3, REG_IX+OFF+IND, BYTE4+BIT3+MNELE4, BYTE3+BIT0,
0xDD,0xCB,0x00,0x46,20},
{"BIT", NBR|UNM3, REG_IY+OFF+IND, BYTE4+BIT3+MNELE4, BYTE3+BIT0,
0xFD,0xCB,0x00,0x46,20},
{"BIT", NBR|UNM3, REG8, BYTE2+BIT3+MNELE2, BYTE2+BIT0,
0xCB,0x40,0x00,0x00, 8},
{"CALL",BRA|BRANCH8, UNM16,BYTE1+BIT3+MNELE3, BYTE2,
0xC4,0x00,0x00,0x00, 0x110a},
{"CALL",NBR|UNM16,NOPAR, BYTE2+MNELE3, NOE, 0xCD,0x00,0x00,0x00,17},
{"CCF", NOPAR, NOPAR, NOE+MNELE1, NOE, 0x3F,0x00,0x00,0x00, 4},
{"CP", NBR|REG8, NOPAR, BYTE1+BIT0+MNELE1, NOE,0xB8,0x00,0x00,0x00, 4},
{"CP", NBR|UNM8, NOPAR, BYTE2+MNELE2, NOE,0xFE,0x00,0x00,0x00, 7},
{"CP", NBR|REG_HL+IND, NOPAR, NOE+MNELE1, NOE,0xBE,0x00,0x00,0x00, 7},
{"CP", NBR|REG_IX+OFF+IND, NOPAR, BYTE3+MNELE3, NOE,0xDD,0xBE,0x00,0x00,19},
{"CP", NBR|REG_IY+OFF+IND, NOPAR, BYTE3+MNELE3, NOE,0xFD,0xBE,0x00,0x00,19},
{"CPD", NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xA9,0x00,0x00,16},
{"CPDR",NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xB9,0x00,0x00, 0x1015},
{"CPI", NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xA1,0x00,0x00,16},
{"CPIR",NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xB1,0x00,0x00, 0x1015},
{"CPL", NOPAR, NOPAR, NOE+MNELE1, NOE, 0x2F,0x00,0x00,0x00, 4},
{"DAA", NOPAR, NOPAR, NOE+MNELE1, NOE, 0x27,0x00,0x00,0x00, 4},
{"DEC", NBR|REG8, NOPAR, BYTE1+BIT3+MNELE1, NOE,0x05,0x00,0x00,0x00, 4},
{"DEC", NBR|REG_HL+IND, NOPAR, NOE+MNELE1, NOE,0x35,0x00,0x00,0x00,11},
{"DEC", NBR|REG_IX+OFF+IND, NOPAR, BYTE3+MNELE3, NOE,0xDD,0x35,0x00,0x00,23},
{"DEC", NBR|REG_IY+OFF+IND, NOPAR, BYTE3+MNELE3, NOE,0xFD,0x35,0x00,0x00,23},
{"DEC", NBR|REG16, NOPAR, BYTE1+BIT4+MNELE1, NOE,0x0B,0x00,0x00,0x00, 6},
{"DEC", NBR|REG_IX, NOPAR, NOE+MNELE2, NOE,0xDD,0x2B,0x00,0x00,10},
{"DEC", NBR|REG_IY, NOPAR, NOE+MNELE2, NOE,0xFD,0x2B,0x00,0x00,10},
{"DI", NOPAR, NOPAR, NOE+MNELE1, NOE,0xF3,0x00,0x00,0x00, 4},
{"DJNZ",NBR|UNM16+JMPREL,NOPAR, BYTE2+MNELE2,NOE, 0x10,0x00,0x00,0x00, 0x0d08},
{"EI", NOPAR, NOPAR, NOE+MNELE1, NOE, 0xFB,0x00,0x00,0x00, 4},
{"EX", REG_AF, REG_AF, NOE+MNELE1, NOE, 0x08,0x00,0x00,0x00, 4},
{"EX", REG_DE, REG_HL, NOE+MNELE1, NOE, 0xEB,0x00,0x00,0x00, 4},
{"EX", IND+REG_SP, REG_HL, NOE+MNELE1, NOE, 0xE3,0x00,0x00,0x00,19},
{"EX", IND+REG_SP, REG_IX, NOE+MNELE2, NOE, 0xDD,0xE3,0x00,0x00,23},
{"EX", IND+REG_SP, REG_IY, NOE+MNELE2, NOE, 0xFD,0xE3,0x00,0x00,23},
{"EXX", NOPAR, NOPAR, NOE+MNELE1, NOE, 0xD9,0x00,0x00,0x00, 4},
{"HALT",NOPAR, NOPAR, NOE+MNELE1, NOE, 0x76,0x00,0x00,0x00, 4},
{"IM", NBR|UNM3+IMODE0, NOPAR, NOE+MNELE2, NOE,0xED,0x46,0x00,0x00, 8},
{"IM", NBR|UNM3+IMODE1, NOPAR, NOE+MNELE2, NOE,0xED,0x56,0x00,0x00, 8},
{"IM", NBR|UNM3+IMODE2, NOPAR, NOE+MNELE2, NOE,0xED,0x5E,0x00,0x00, 8},
{"IN", NBR|REG8, REG_C+IND, BYTE2+BIT3+MNELE2,NOE, 0xED,0x40,0x00,0x00,12},
{"IN", NBR|REG_A, UNM8+IND, NOE+MNELE2, BYTE2, 0xDB,0x00,0x00,0x00,11},
{"INC", NBR|REG8, NOPAR, BYTE1+BIT3+MNELE1,NOE, 0x04,0x00,0x00,0x00, 4},
{"INC", NBR|REG16, NOPAR, BYTE1+BIT4+MNELE1,NOE, 0x03,0x00,0x00,0x00, 6},
{"INC", NBR|REG_HL+IND, NOPAR, NOE+MNELE1, NOE, 0x34,0x00,0x00,0x00,11},
{"INC", NBR|REG_IX+OFF+IND, NOPAR, BYTE3+MNELE3, NOE, 0xDD,0x34,0x00,0x00,23},
{"INC", NBR|REG_IY+OFF+IND, NOPAR, BYTE3+MNELE3, NOE, 0xFD,0x34,0x00,0x00,23},
{"INC", NBR|REG_IX, NOPAR, NOE+MNELE2, NOE, 0xDD,0x23,0x00,0x00,10},
{"INC", NBR|REG_IY, NOPAR, NOE+MNELE2, NOE, 0xFD,0x23,0x00,0x00,10},
{"IND", NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xAA,0x00,0x00,16},
{"INDR",NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xBA,0x00,0x00, 0x1015},
{"INI", NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xA2,0x00,0x00,16},
{"INIR",NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xB2,0x00,0x00, 0x1015},
{"JP", NBR|REG_HL+IND, NOPAR, NOE+MNELE1, NOE, 0xE9,0x00,0x00,0x00, 4},
{"JP", NBR|REG_IX+IND, NOPAR, NOE+MNELE2, NOE, 0xDD,0xE9,0x00,0x00, 8},
{"JP", NBR|REG_IY+IND, NOPAR, NOE+MNELE2, NOE, 0xFD,0xE9,0x00,0x00, 8},
{"JP", BRA|BRANCH8,UNM16, BYTE1+BIT3+MNELE3,BYTE2,0xC2,0x00,0x00,0x00, 0x0a0a},
{"JP", NBR|UNM16,NOPAR, BYTE2+MNELE3, NOE, 0xC3,0x00,0x00,0x00,10},
{"JR", BRA|BRANCH4, UNM16+JMPREL,BYTE1+BIT3+MNELE2, BYTE2,
0x20,0x00,0x00,0x00, 0x0c07},
{"JR", NBR|UNM16+JMPREL,NOPAR, BYTE2+MNELE2, NOE,0x18,0x00,0x00,0x00,12},
{"LD", NBR|REG_HL, UNM16+IND, NOE+MNELE3, BYTE2, 0x2A,0x00,0x00,0x00,20},
{"LD", NBR|REG16, UNM16+IND, BYTE2+BIT4+MNELE4,BYTE3,0xED,0x4B,0x00,0x00,20},
{"LD", NBR|REG16, UNM16, BYTE1+BIT4+MNELE3,BYTE2,0x01,0x00,0x00,0x00,10},
{"LD", NBR|REG8, UNM8, BYTE1+BIT3+MNELE2,BYTE2,0x06,0x00,0x00,0x00, 7},
{"LD", NBR|REG8, REG8, BYTE1+BIT3+MNELE1,BYTE1,0x40,0x00,0x00,0x00, 4},
{"LD", NBR|REG_BC+IND, REG_A, NOE+MNELE1, NOE, 0x02,0x00,0x00,0x00, 7},
{"LD", NBR|REG_DE+IND, REG_A, NOE+MNELE1, NOE, 0x12,0x00,0x00,0x00, 7},
{"LD", NBR|REG_HL+IND, UNM8, NOE+MNELE2, BYTE2, 0x36,0x00,0x00,0x00,10},
{"LD", NBR|REG_HL+IND, REG8, NOE+MNELE1, BYTE1, 0x70,0x00,0x00,0x00, 7},
{"LD", NBR|REG8, REG_IX+IND+OFF, BYTE2+BIT3+MNELE3,BYTE3,0xDD,0x46,0x00,0x00,19},
{"LD", NBR|REG8, REG_IY+IND+OFF, BYTE2+BIT3+MNELE3,BYTE3,0xFD,0x46,0x00,0x00,19},
{"LD", NBR|REG_IX+IND+OFF,UNM8, BYTE3+MNELE4, BYTE4, 0xDD,0x36,0x00,0x00,19},
{"LD", NBR|REG_IY+IND+OFF,UNM8, BYTE3+MNELE4, BYTE4, 0xFD,0x36,0x00,0x00,19},
{"LD", NBR|REG_IX+IND+OFF,REG8, BYTE3+MNELE3, BYTE2, 0xDD,0x70,0x00,0x00,19},
{"LD", NBR|REG_IY+IND+OFF,REG8, BYTE3+MNELE3, BYTE2, 0xFD,0x70,0x00,0x00,19},
{"LD", NBR|REG_A, UNM16+IND, NOE+MNELE3, BYTE2, 0x3A,0x00,0x00,0x00,13},
{"LD", NBR|UNM16+IND, REG_A, BYTE2+MNELE3, NOE, 0x32,0x00,0x00,0x00,13},
{"LD", NBR|UNM16+IND, REG16, BYTE3+MNELE4, BYTE2+BIT4,
0xED,0x43,0x00,0x00,20},
{"LD", NBR|UNM16+IND, REG_HL, BYTE2+MNELE3, NOE, 0x22,0x00,0x00,0x00,16},
{"LD", NBR|UNM16+IND, REG_IX, BYTE3+MNELE4, NOE, 0xDD,0x22,0x00,0x00,20},
{"LD", NBR|UNM16+IND, REG_IY, BYTE3+MNELE4, NOE, 0xFD,0x22,0x00,0x00,20},
{"LD", NBR|REG_A, REG_BC+IND, NOE+MNELE1, NOE, 0x0A,0x00,0x00,0x00, 7},
{"LD", NBR|REG_A, REG_DE+IND, NOE+MNELE1, NOE, 0x1A,0x00,0x00,0x00, 7},
{"LD", NBR|REG_A, REG_I, NOE+MNELE2, NOE, 0xED,0x57,0x00,0x00, 9},
{"LD", NBR|REG_I, REG_A, NOE+MNELE2, NOE, 0xED,0x47,0x00,0x00, 9},
{"LD", NBR|REG_A, REG_R, NOE+MNELE2, NOE, 0xED,0x5F,0x00,0x00, 9},
{"LD", NBR|REG_IX, UNM16, NOE+MNELE4, BYTE3, 0xDD,0x21,0x00,0x00,14},
{"LD", NBR|REG_IX, UNM16+IND, NOE+MNELE4, BYTE3, 0xDD,0x2A,0x00,0x00,20},
{"LD", NBR|REG_IY, UNM16, NOE+MNELE4, BYTE3, 0xFD,0x21,0x00,0x00,14},
{"LD", NBR|REG_IY, UNM16+IND, NOE+MNELE4, BYTE3, 0xFD,0x2A,0x00,0x00,20},
{"LD", NBR|REG_R, REG_A, NOE+MNELE2, NOE, 0xED,0x4F,0x00,0x00, 9},
{"LD", NBR|REG8, REG_HL+IND, BYTE1+BIT3+MNELE1,NOE, 0x46,0x00,0x00,0x00, 7},
{"LD", NBR|REG_SP, REG_HL, NOE+MNELE1, NOE, 0xF9,0x00,0x00,0x00, 6},
{"LD", NBR|REG_SP, REG_IX, NOE+MNELE2, NOE, 0xDD,0xF9,0x00,0x00,10},
{"LD", NBR|REG_SP, REG_IY, NOE+MNELE2, NOE, 0xFD,0xF9,0x00,0x00,10},
{"LDD", NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xA8,0x00,0x00,16},
{"LDDR",NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xB8,0x00,0x00, 0x1510},
{"LDI", NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xA0,0x00,0x00,16},
{"LDIR",NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xB0,0x00,0x00, 0x1510},
{"NEG", NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0x44,0x00,0x00, 8},
{"NOP", NOPAR, NOPAR, NOE+MNELE1, NOE, 0x00,0x00,0x00,0x00, 4},
{"OR", NBR|REG8, NOPAR, BYTE1+MNELE1, NOE, 0xB0,0x00,0x00,0x00, 4},
{"OR", NBR|UNM8, NOPAR, BYTE2+MNELE2, NOE, 0xF6,0x00,0x00,0x00, 7},
{"OR", NBR|REG_HL+IND, NOPAR, NOE+MNELE1, NOE, 0xB6,0x00,0x00,0x00, 7},
{"OR", NBR|REG_IX+OFF+IND,NOPAR, BYTE3+MNELE3, NOE, 0xDD,0xB6,0x00,0x00,19},
{"OR", NBR|REG_IY+OFF+IND,NOPAR, BYTE3+MNELE3, NOE, 0xFD,0xB6,0x00,0x00,19},
{"OTDR",NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xBB,0x00,0x00, 0x1015},
{"OTIR",NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xB3,0x00,0x00, 0x1015},
{"OUT", NBR|REG_C+IND, REG8, NOE+MNELE2, BYTE2+BIT3, 0xED,0x41,0x00,0x00,12},
{"OUT", NBR|UNM8+IND, REG_A, BYTE2+MNELE2, NOE, 0xD3,0x00,0x00,0x00,11},
{"OUTD",NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xAB,0x00,0x00,16},
{"OUTI",NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0xA3,0x00,0x00,16},
{"POP", NBR|REG_BC+REG_DE+REG_HL,NOPAR,BYTE1+BIT4+MNELE1,NOE,
0xC1,0x00,0x00,0x00,10},
{"POP", NBR|REG_AF, NOPAR, NOE+MNELE1, NOE, 0xF1,0x00,0x00,0x00,10},
{"POP", NBR|REG_IX, NOPAR, NOE+MNELE2, NOE, 0xDD,0xE1,0x00,0x00,14},
{"POP", NBR|REG_IY, NOPAR, NOE+MNELE2, NOE, 0xFD,0xE1,0x00,0x00,14},
{"PUSH",NBR|REG_BC+REG_DE+REG_HL,NOPAR,BYTE1+BIT4+MNELE1,NOE,
0xC5,0x00,0x00,0x00,11},
{"PUSH",NBR|REG_AF, NOPAR, NOE+MNELE1, NOE, 0xF5,0x00,0x00,0x00,11},
{"PUSH",NBR|REG_IX, NOPAR, NOE+MNELE2, NOE, 0xDD,0xE5,0x00,0x00,15},
{"PUSH",NBR|REG_IY, NOPAR, NOE+MNELE2, NOE, 0xFD,0xE5,0x00,0x00,15},
{"RES", NBR|UNM3, REG8, BYTE2+BIT3+MNELE2,BYTE2,0xCB,0x80,0x00,0x00, 8},
{"RES", NBR|UNM3, REG_HL+IND, BYTE2+BIT3+MNELE2,NOE, 0xCB,0x86,0x00,0x00,15},
{"RES", NBR|UNM3, REG_IX+OFF+IND, BYTE4+BIT3+MNELE4,BYTE3,0xDD,0xCB,0x00,0x86,23},
{"RES", NBR|UNM3, REG_IY+OFF+IND, BYTE4+BIT3+MNELE4,BYTE3,0xFD,0xCB,0x00,0x86,23},
{"RET", NOPAR, NOPAR, NOE+MNELE1, NOE, 0xC9,0x00,0x00,0x00,10},
{"RET", BRA|BRANCH8, NOPAR, BYTE1+BIT3+MNELE1,NOE, 0xC0,0x00,0x00,0x00, 0x0b05},
{"RETI",NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0x4D,0x00,0x00,14},
{"RETN",NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0x45,0x00,0x00,14},
{"RL", NBR|REG8, NOPAR, BYTE2+MNELE2, NOE, 0xCB,0x10,0x00,0x00, 8},
{"RL", NBR|REG_HL+IND, NOPAR, NOE+MNELE2, NOE, 0xCB,0x16,0x00,0x00,15},
{"RL", NBR|REG_IX+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xDD,0xCB,0x00,0x16,23},
{"RL", NBR|REG_IY+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xFD,0xCB,0x00,0x16,23},
{"RLA", NOPAR, NOPAR, NOE+MNELE1, NOE, 0x17,0x00,0x00,0x00, 4},
{"RLCA",NOPAR, NOPAR, NOE+MNELE1, NOE, 0x07,0x00,0x00,0x00, 4},
{"RLC", NBR|REG8, NOPAR, BYTE2+MNELE2, NOE, 0xCB,0x00,0x00,0x00, 8},
{"RLC", NBR|REG_HL+IND, NOPAR, NOE+MNELE2, NOE, 0xCB,0x06,0x00,0x00,15},
{"RLC", NBR|REG_IX+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xDD,0xCB,0x00,0x06,23},
{"RLC", NBR|REG_IY+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xFD,0xCB,0x00,0x06,23},
{"RLD", NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0x6F,0x00,0x00,18},
{"RR", NBR|REG8, NOPAR, BYTE2+MNELE2, NOE, 0xCB,0x18,0x00,0x00, 8},
{"RR", NBR|REG_HL+IND, NOPAR, NOE+MNELE2, NOE, 0xCB,0x1E,0x00,0x00,15},
{"RR", NBR|REG_IX+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xDD,0xCB,0x00,0x1E,23},
{"RR", NBR|REG_IY+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xFD,0xCB,0x00,0x1E,23},
{"RRA", NOPAR, NOPAR, NOE+MNELE1, NOE, 0x1F,0x00,0x00,0x00, 4},
{"RRC", NBR|REG8, NOPAR, BYTE2+MNELE2, NOE, 0xCB,0x08,0x00,0x00, 8},
{"RRC", NBR|REG_HL+IND, NOPAR, NOE+MNELE2, NOE, 0xCB,0x0E,0x00,0x00,15},
{"RRC", NBR|REG_IX+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xDD,0xCB,0x00,0x0E,23},
{"RRC", NBR|REG_IY+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xFD,0xCB,0x00,0x0E,23},
{"RRCA",NOPAR, NOPAR, NOE+MNELE1, NOE, 0x0F,0x00,0x00,0x00, 4},
{"RRD", NOPAR, NOPAR, NOE+MNELE2, NOE, 0xED,0x67,0x00,0x00,18},
{"RST", NBR|UNM8+RST, NOPAR, BYTE1+BIT3+MNELE1,NOE, 0xC7,0x00,0x00,0x00,11},
{"SBC", NBR|REG_A, REG8, NOE+MNELE1, BYTE1, 0x98,0x00,0x00,0x00, 4},
{"SBC", NBR|REG_A, UNM8, NOE+MNELE2, BYTE2, 0xDE,0x00,0x00,0x00, 7},
{"SBC", NBR|REG_A, REG_HL+IND, NOE+MNELE1, NOE, 0x9E,0x00,0x00,0x00, 7},
{"SBC", NBR|REG_A, REG_IX+OFF+IND, NOE+MNELE3, BYTE3, 0xDD,0x9E,0x00,0x00,19},
{"SBC", NBR|REG_A, REG_IY+OFF+IND, NOE+MNELE3, BYTE3, 0xFD,0x9E,0x00,0x00,19},
{"SBC", NBR|REG_HL, REG16, NOE+MNELE2, BYTE2+BIT4, 0xED,0x42,0x00,0x00,15},
{"SCF", NOPAR, NOPAR, NOE+MNELE1, NOE, 0x37,0x00,0x00,0x00, 4},
{"SET", NBR|UNM3, REG8, BYTE2+BIT3+MNELE2,BYTE2,0xCB,0xC0,0x00,0x00, 8},
{"SET", NBR|UNM3, REG_HL+IND, BYTE2+BIT3+MNELE2,NOE, 0xCB,0xC6,0x00,0x00,15},
{"SET", NBR|UNM3, REG_IX+OFF+IND, BYTE4+BIT3+MNELE4,BYTE3,0xDD,0xCB,0x00,0xC6,23},
{"SET", NBR|UNM3, REG_IY+OFF+IND, BYTE4+BIT3+MNELE4,BYTE3,0xFD,0xCB,0x00,0xC6,23},
{"SLA", NBR|REG8, NOPAR, BYTE2+MNELE2, NOE, 0xCB,0x20,0x00,0x00, 8},
{"SLA", NBR|REG_HL+IND, NOPAR, NOE+MNELE2, NOE, 0xCB,0x26,0x00,0x00,15},
{"SLA", NBR|REG_IX+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xDD,0xCB,0x00,0x26,23},
{"SLA", NBR|REG_IY+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xFD,0xCB,0x00,0x26,23},
{"SRA", NBR|REG8, NOPAR, BYTE2+MNELE2, NOE, 0xCB,0x28,0x00,0x00, 8},
{"SRA", NBR|REG_HL+IND, NOPAR, NOE+MNELE2, NOE, 0xCB,0x2E,0x00,0x00,15},
{"SRA", NBR|REG_IX+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xDD,0xCB,0x00,0x2E,23},
{"SRA", NBR|REG_IY+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xFD,0xCB,0x00,0x2E,23},
{"SRL", NBR|REG8, NOPAR, BYTE2+MNELE2, NOE, 0xCB,0x38,0x00,0x00, 8},
{"SRL", NBR|REG_HL+IND, NOPAR, NOE+MNELE2, NOE, 0xCB,0x3E,0x00,0x00,15},
{"SRL", NBR|REG_IX+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xDD,0xCB,0x00,0x3E,23},
{"SRL", NBR|REG_IY+OFF+IND,NOPAR, BYTE3+MNELE4, NOE, 0xFD,0xCB,0x00,0x3E,23},
{"SUB", NBR|REG8, NOPAR, BYTE1+MNELE1, NOE, 0x90,0x00,0x00,0x00, 4},
{"SUB", NBR|UNM8, NOPAR, BYTE2+MNELE2, NOE, 0xD6,0x00,0x00,0x00, 7},
{"SUB", NBR|REG_HL+IND, NOPAR, NOE+MNELE1, NOE, 0x96,0x00,0x00,0x00, 7},
{"SUB", NBR|REG_IX+OFF+IND,NOPAR, BYTE3+MNELE3, NOE, 0xDD,0x96,0x00,0x00,19},
{"SUB", NBR|REG_IY+OFF+IND,NOPAR, BYTE3+MNELE3, NOE, 0xFD,0x96,0x00,0x00,19},
{"XOR", NBR|REG8, NOPAR, BYTE1+MNELE1, NOE, 0xA8,0x00,0x00,0x00, 4},
{"XOR", NBR|UNM8, NOPAR, BYTE2+MNELE2, NOE, 0xEE,0x00,0x00,0x00, 7},
{"XOR", NBR|REG_HL+IND, NOPAR, NOE+MNELE1, NOE, 0xAE,0x00,0x00,0x00, 7},
{"XOR", NBR|REG_IX+OFF+IND,NOPAR, BYTE3+MNELE3, NOE, 0xDD,0xAE,0x00,0x00,19},
{"XOR", NBR|REG_IY+OFF+IND,NOPAR, BYTE3+MNELE3, NOE, 0xFD,0xAE,0x00,0x00,19},
{NULL , 0 ,0 , 0 , 0 , 0 ,0 ,0 ,0 ,0 }
};