/*
 * Gearcoleco - ColecoVision Emulator
 * Copyright (C) 2021  Ignacio Sanchez

 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.

 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see http://www.gnu.org/licenses/ 
 * 
 */

#ifndef OPCODEFD_NAMES_H
#define	OPCODEFD_NAMES_H

static stOPCodeInfo kOPCodeFDNames[256] = {
    GC_OPCODE("{n}NOP", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}BC,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}(BC),A", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}INC {o}BC", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}INC {o}B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}DEC {o}B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}B,$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RLCA", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}EX {o}AF,AF'", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADD {o}IY,BC", 2, GC_OPCode_Type_Implied),
    GC_OPCODE("{n}LD {o}A,(BC)", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}DEC {o}BC", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}INC {o}C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}DEC {o}C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}C,$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RRCA", 2, GC_OPCode_Type_Data),

    GC_OPCODE_SYNTAX("{n}DJNZ {o}$%04X  {e}[%+d]", "{n}DJNZ {o}$%04X ", "{n}DJNZ {o}$%04X ", "{n}DJNZ {o}$%04X ", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}DE,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}(DE),A", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}INC {o}DE", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}INC {o}D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}DEC {o}D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}D,$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RLA", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}JR {o}$%04X  {e}[%+d]", "{n}JR {o}$%04X ", "{n}JR {o}$%04X ", "{n}JR {o}$%04X ", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADD {o}IY,DE", 2, GC_OPCode_Type_Implied),
    GC_OPCODE("{n}LD {o}A,(DE)", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}DEC {o}DE", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}INC {o}E", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}DEC {o}E", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}E,$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RRA", 2, GC_OPCode_Type_Data),

    GC_OPCODE_SYNTAX("{n}JR {o}NZ,$%04X  {e}[%+d]", "{n}JR {o}NZ,$%04X ", "{n}JR {o}NZ,$%04X ", "{n}JR {o}NZ,$%04X ", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}IY,$%04X", 4, GC_OPCode_Type_2b),
    GC_OPCODE("{n}LD {o}($%04X),IY", 4, GC_OPCode_Type_2b),
    GC_OPCODE("{n}INC {o}IY", 2, GC_OPCode_Type_Implied),
    GC_OPCODE_SYNTAX("{n}INC {o}IYh {e}[UNDOC]", "{n}INC {o}IYh", "{n}INC {o}IYh", "{n}INC {o}IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}DEC {o}IYh {e}[UNDOC]", "{n}DEC {o}IYh", "{n}DEC {o}IYh", "{n}DEC {o}IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYh,$%02X {e}[UNDOC]", "{n}LD {o}IYh,$%02X", "{n}LD {o}IYh,$%02X", "{n}LD {o}IYh,$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}DAA", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}JR {o}Z,$%04X  {e}[%+d]", "{n}JR {o}Z,$%04X ", "{n}JR {o}Z,$%04X ", "{n}JR {o}Z,$%04X ", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADD {o}IY,IY", 2, GC_OPCode_Type_Implied),
    GC_OPCODE("{n}LD {o}IY,($%04X)", 4, GC_OPCode_Type_2b),
    GC_OPCODE("{n}DEC {o}IY", 2, GC_OPCode_Type_Implied),
    GC_OPCODE_SYNTAX("{n}INC {o}IYl {e}[UNDOC]", "{n}INC {o}IYl", "{n}INC {o}IYl", "{n}INC {o}IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}DEC {o}IYl {e}[UNDOC]", "{n}DEC {o}IYl", "{n}DEC {o}IYl", "{n}DEC {o}IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYl,$%02X {e}[UNDOC]", "{n}LD {o}IYl,$%02X", "{n}LD {o}IYl,$%02X", "{n}LD {o}IYl,$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CPL", 2, GC_OPCode_Type_Data),

    GC_OPCODE_SYNTAX("{n}JR {o}NC,$%04X  {e}[%+d]", "{n}JR {o}NC,$%04X ", "{n}JR {o}NC,$%04X ", "{n}JR {o}NC,$%04X ", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}SP,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}($%04X),A", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}INC {o}SP", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}INC {o}(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}DEC {o}(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}LD {o}(IY%+d),$%02X", 4, GC_OPCode_Type_Indexed_1b),
    GC_OPCODE("{n}SCF", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}JR {o}C,$%04X  {e}[%+d]", "{n}JR {o}C,$%04X ", "{n}JR {o}C,$%04X ", "{n}JR {o}C,$%04X ", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADD {o}IY,SP", 2, GC_OPCode_Type_Implied),
    GC_OPCODE("{n}LD {o}A,($%04X)", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}DEC {o}SP", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}INC {o}A", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}DEC {o}A", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}A,$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CCF", 2, GC_OPCode_Type_Data),

    GC_OPCODE("{n}LD {o}B,B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}B,C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}B,D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}B,E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}B,IYh {e}[UNDOC]", "{n}LD {o}B,IYh", "{n}LD {o}B,IYh", "{n}LD {o}B,IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}B,IYl {e}[UNDOC]", "{n}LD {o}B,IYl", "{n}LD {o}B,IYl", "{n}LD {o}B,IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}B,(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}LD {o}B,A", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}C,B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}C,C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}C,D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}C,E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}C,IYh {e}[UNDOC]", "{n}LD {o}C,IYh", "{n}LD {o}C,IYh", "{n}LD {o}C,IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}C,IYl {e}[UNDOC]", "{n}LD {o}C,IYl", "{n}LD {o}C,IYl", "{n}LD {o}C,IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}C,(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}LD {o}C,A", 2, GC_OPCode_Type_Data),

    GC_OPCODE("{n}LD {o}D,B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}D,C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}D,D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}D,E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}D,IYh {e}[UNDOC]", "{n}LD {o}D,IYh", "{n}LD {o}D,IYh", "{n}LD {o}D,IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}D,IYl {e}[UNDOC]", "{n}LD {o}D,IYl", "{n}LD {o}D,IYl", "{n}LD {o}D,IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}D,(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}LD {o}D,A", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}E,B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}E,C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}E,D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}E,E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}E,IYh {e}[UNDOC]", "{n}LD {o}E,IYh", "{n}LD {o}E,IYh", "{n}LD {o}E,IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}E,IYl {e}[UNDOC]", "{n}LD {o}E,IYl", "{n}LD {o}E,IYl", "{n}LD {o}E,IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}E,(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}LD {o}E,A", 2, GC_OPCode_Type_Data),

    GC_OPCODE_SYNTAX("{n}LD {o}IYh,B {e}[UNDOC]", "{n}LD {o}IYh,B", "{n}LD {o}IYh,B", "{n}LD {o}IYh,B", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYh,C {e}[UNDOC]", "{n}LD {o}IYh,C", "{n}LD {o}IYh,C", "{n}LD {o}IYh,C", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYh,D {e}[UNDOC]", "{n}LD {o}IYh,D", "{n}LD {o}IYh,D", "{n}LD {o}IYh,D", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYh,E {e}[UNDOC]", "{n}LD {o}IYh,E", "{n}LD {o}IYh,E", "{n}LD {o}IYh,E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYh,IYh {e}[UNDOC]", "{n}LD {o}IYh,IYh", "{n}LD {o}IYh,IYh", "{n}LD {o}IYh,IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYh,IYl {e}[UNDOC]", "{n}LD {o}IYh,IYl", "{n}LD {o}IYh,IYl", "{n}LD {o}IYh,IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}H,(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE_SYNTAX("{n}LD {o}IYh,A {e}[UNDOC]", "{n}LD {o}IYh,A", "{n}LD {o}IYh,A", "{n}LD {o}IYh,A", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYl,B {e}[UNDOC]", "{n}LD {o}IYl,B", "{n}LD {o}IYl,B", "{n}LD {o}IYl,B", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYl,C {e}[UNDOC]", "{n}LD {o}IYl,C", "{n}LD {o}IYl,C", "{n}LD {o}IYl,C", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYl,D {e}[UNDOC]", "{n}LD {o}IYl,D", "{n}LD {o}IYl,D", "{n}LD {o}IYl,D", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYl,E {e}[UNDOC]", "{n}LD {o}IYl,E", "{n}LD {o}IYl,E", "{n}LD {o}IYl,E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYl,IYh {e}[UNDOC]", "{n}LD {o}IYl,IYh", "{n}LD {o}IYl,IYh", "{n}LD {o}IYl,IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}IYl,IYl {e}[UNDOC]", "{n}LD {o}IYl,IYl", "{n}LD {o}IYl,IYl", "{n}LD {o}IYl,IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}L,(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE_SYNTAX("{n}LD {o}IYl,A {e}[UNDOC]", "{n}LD {o}IYl,A", "{n}LD {o}IYl,A", "{n}LD {o}IYl,A", 2, GC_OPCode_Type_Data),

    GC_OPCODE("{n}LD {o}(IY%+d),B", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}LD {o}(IY%+d),C", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}LD {o}(IY%+d),D", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}LD {o}(IY%+d),E", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}LD {o}(IY%+d),H", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}LD {o}(IY%+d),L", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}HALT", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}(IY%+d),A", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}LD {o}A,B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}A,C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}A,D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}A,E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}A,IYh {e}[UNDOC]", "{n}LD {o}A,IYh", "{n}LD {o}A,IYh", "{n}LD {o}A,IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}LD {o}A,IYl {e}[UNDOC]", "{n}LD {o}A,IYl", "{n}LD {o}A,IYl", "{n}LD {o}A,IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}A,(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}LD {o}A,A", 2, GC_OPCode_Type_Data),

    GC_OPCODE("{n}ADD {o}A,B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADD {o}A,C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADD {o}A,D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADD {o}A,E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}ADD {o}A,IYh {e}[UNDOC]", "{n}ADD {o}A,IYh", "{n}ADD {o}A,IYh", "{n}ADD {o}A,IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}ADD {o}A,IYl {e}[UNDOC]", "{n}ADD {o}A,IYl", "{n}ADD {o}A,IYl", "{n}ADD {o}A,IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADD {o}A,(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}ADD {o}A,A", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADC {o}A,B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADC {o}A,C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADC {o}A,D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADC {o}A,E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}ADC {o}A,IYh {e}[UNDOC]", "{n}ADC {o}A,IYh", "{n}ADC {o}A,IYh", "{n}ADC {o}A,IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}ADC {o}A,IYl {e}[UNDOC]", "{n}ADC {o}A,IYl", "{n}ADC {o}A,IYl", "{n}ADC {o}A,IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADC {o}A,(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}ADC {o}A,A", 2, GC_OPCode_Type_Data),

    GC_OPCODE("{n}SUB {o}B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}SUB {o}C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}SUB {o}D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}SUB {o}E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}SUB {o}IYh {e}[UNDOC]", "{n}SUB {o}IYh", "{n}SUB {o}IYh", "{n}SUB {o}IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}SUB {o}IYl {e}[UNDOC]", "{n}SUB {o}IYl", "{n}SUB {o}IYl", "{n}SUB {o}IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}SUB {o}(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}SUB {o}A", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}SBC {o}A,B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}SBC {o}A,C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}SBC {o}A,D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}SBC {o}A,E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}SBC {o}A,IYh {e}[UNDOC]", "{n}SBC {o}A,IYh", "{n}SBC {o}A,IYh", "{n}SBC {o}A,IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}SBC {o}A,IYl {e}[UNDOC]", "{n}SBC {o}A,IYl", "{n}SBC {o}A,IYl", "{n}SBC {o}A,IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}SBC {o}A,(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}SBC {o}A,A", 2, GC_OPCode_Type_Data),

    GC_OPCODE("{n}AND {o}B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}AND {o}C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}AND {o}D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}AND {o}E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}AND {o}IYh {e}[UNDOC]", "{n}AND {o}IYh", "{n}AND {o}IYh", "{n}AND {o}IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}AND {o}IYl {e}[UNDOC]", "{n}AND {o}IYl", "{n}AND {o}IYl", "{n}AND {o}IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}AND {o}(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}AND {o}A", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}XOR {o}B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}XOR {o}C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}XOR {o}D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}XOR {o}E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}XOR {o}IYh {e}[UNDOC]", "{n}XOR {o}IYh", "{n}XOR {o}IYh", "{n}XOR {o}IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}XOR {o}IYl {e}[UNDOC]", "{n}XOR {o}IYl", "{n}XOR {o}IYl", "{n}XOR {o}IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}XOR {o}(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}XOR {o}A", 2, GC_OPCode_Type_Data),

    GC_OPCODE("{n}OR {o}B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}OR {o}C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}OR {o}D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}OR {o}E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}OR {o}IYh {e}[UNDOC]", "{n}OR {o}IYh", "{n}OR {o}IYh", "{n}OR {o}IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}OR {o}IYl {e}[UNDOC]", "{n}OR {o}IYl", "{n}OR {o}IYl", "{n}OR {o}IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}OR {o}(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}OR {o}A", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CP {o}B", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CP {o}C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CP {o}D", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CP {o}E", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}CP {o}IYh {e}[UNDOC]", "{n}CP {o}IYh", "{n}CP {o}IYh", "{n}CP {o}IYh", 2, GC_OPCode_Type_Data),
    GC_OPCODE_SYNTAX("{n}CP {o}IYl {e}[UNDOC]", "{n}CP {o}IYl", "{n}CP {o}IYl", "{n}CP {o}IYl", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CP {o}(IY%+d)", 3, GC_OPCode_Type_Indexed),
    GC_OPCODE("{n}CP {o}A", 2, GC_OPCode_Type_Data),

    GC_OPCODE("{n}RET {o}NZ", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}POP {o}BC", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}JP {o}NZ,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}JP {o}$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CALL {o}NZ,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}PUSH {o}BC", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADD {o}A,$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RST {o}00H", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RET {o}Z", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RET", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}JP {o}Z,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CB {o}PREFIX", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CALL {o}Z,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CALL {o}$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ADC {o}A,$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RST {o}08H", 2, GC_OPCode_Type_Data),

    GC_OPCODE("{n}RET {o}NC", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}POP {o}DE", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}JP {o}NC,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}OUT {o}($%02X),A", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CALL {o}NC,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}PUSH {o}DE", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}SUB {o}$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RST {o}10H", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RET {o}C", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}EXX", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}JP {o}C,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}IN {o}A,($%02X)", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CALL {o}C,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}DD {o}PREFIX", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}SBC {o}A,$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RST {o}18H", 2, GC_OPCode_Type_Data),

    GC_OPCODE("{n}RET {o}PO", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}POP {o}IY", 2, GC_OPCode_Type_Implied),
    GC_OPCODE("{n}JP {o}PO,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}EX {o}(SP),IY", 2, GC_OPCode_Type_Implied),
    GC_OPCODE("{n}CALL {o}PO,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}PUSH {o}IY", 2, GC_OPCode_Type_Implied),
    GC_OPCODE("{n}AND {o}$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RST {o}20H", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RET {o}PE", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}JP {o}(IY)", 2, GC_OPCode_Type_Implied),
    GC_OPCODE("{n}JP {o}PE,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}EX {o}DE,HL", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CALL {o}PE,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}ED {o}PREFIX", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}XOR {o}$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RST {o}28H", 2, GC_OPCode_Type_Data),

    GC_OPCODE("{n}RET {o}P", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}POP {o}AF", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}JP {o}P,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}DI", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CALL {o}P,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}PUSH {o}AF", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}OR {o}$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RST {o}30H", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RET {o}M", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}LD {o}SP,IY", 2, GC_OPCode_Type_Implied),
    GC_OPCODE("{n}JP {o}M,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}EI", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CALL {o}M,$%04X", 4, GC_OPCode_Type_Data),
    GC_OPCODE("{n}FD {o}PREFIX", 2, GC_OPCode_Type_Data),
    GC_OPCODE("{n}CP {o}$%02X", 3, GC_OPCode_Type_Data),
    GC_OPCODE("{n}RST {o}38H", 2, GC_OPCode_Type_Data)
};

#endif	/* OPCODEFD_NAMES_H */

