home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
messroms.de
/
2007-01-13_www.messroms.de.zip
/
CGENIE
/
TOOLS
/
DZ80.ZIP
/
table.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-12-07
|
4KB
|
217 lines
typedef enum tagCFLG {
_f0, // "none"
_fSZHPNC, // "Sign Zero Half-Carry Parity Negative Carry"
_fSZHPN, // "Sign Zero Half-Carry Parity Negative"
_fHNC, // "Half-Carry Negative Carry"
_fALL, // all flag bits
} CFLG;
typedef enum tagOPER {
_t0, // ""
_tADC, // "ADC"
_tADD, // "ADD"
_tAND, // "AND"
_tBIT, // "BIT"
_tCALL, // "CALL"
_tCCF, // "CCF"
_tCP, // "CP"
_tCPD, // "CPD"
_tCPDR, // "CPDR"
_tCPI, // "CPI"
_tCPIR, // "CPIR"
_tCPL, // "CPL"
_tDAA, // "DAA"
_tDEC, // "DEC"
_tDI, // "DI"
_tDJNZ, // "DJNZ"
_tEI, // "EI"
_tEX, // "EX"
_tEXX, // "EXX"
_tHALT, // "HALT"
_tIM0, // "IM 0"
_tIM1, // "IM 1"
_tIM2, // "IM 2"
_tIN, // "IN"
_tINC, // "INC"
_tIND, // "IND"
_tINDR, // "INDR"
_tINI, // "INI"
_tINIR, // "INIR"
_tJP, // "JP"
_tJR, // "JR"
_tLD, // "LD"
_tLDD, // "LDD"
_tLDDR, // "LDDR"
_tLDI, // "LDI"
_tLDIR, // "LDIR"
_tNEG, // "NEG"
_tNOP, // "NOP"
_tOR, // "OR"
_tOTDR, // "OTDR"
_tOTIR, // "OTIR"
_tOUT, // "OUT"
_tOUTD, // "OUTD"
_tOUTI, // "OUTI"
_tPOP, // "POP"
_tPUSH, // "PUSH"
_tRES, // "RES"
_tRET, // "RET"
_tRETI, // "RETI"
_tRETN, // "RETN"
_tRL, // "RL"
_tRLA, // "RLA"
_tRLC, // "RLC"
_tRLCA, // "RLCA"
_tRLD, // "RLD"
_tRR, // "RR"
_tRRA, // "RRA"
_tRRC, // "RRC"
_tRRCA, // "RRCA"
_tRRD, // "RRD"
_tRST, // "RST"
_tSBC, // "SBC"
_tSCF, // "SCF"
_tSET, // "SET"
_tSHL, // "SHL"
_tSHR, // "SHR"
_tSLI, // "SLI"
_tSRL, // "SRL"
_tSUB, // "SUB"
_tXOR, // "XOR"
_tEXT, // "extended"
} OPER;
typedef enum tagDST {
_d0, // ""
_dB, // "B"
_dC, // "C"
_dD, // "D"
_dE, // "E"
_dH, // "H"
_dL, // "L"
_dM, // "(HL)"
_dA, // "A"
_dHIX, // "HX"
_dLIX, // "LX"
_dHIY, // "HY"
_dLIY, // "LY"
_dI, // "I"
_dR, // "R"
_dF, // "F"
_dMBC, // "(BC)"
_dMDE, // "(DE)"
_dMSP, // "(SP)"
_dMIX, // "(IX+nn)"
_dMIY, // "(IY+nn)"
_dIND8, // "(%w)"
_dIMM8, // "%b"
_dPORT8, // "(%b)"
_dPORTC, // "(C)"
_dBC, // "BC"
_dDE, // "DE"
_dHL, // "HL"
_dSP, // "SP"
_dAF, // "AF"
_dPC, // "$"
_dIX, // "IX"
_dIY, // "IY"
_dPCHL, // "(HL)"
_dPCIX, // "(HL)"
_dPCIY, // "(HL)"
_dREG1, // "BC,DE,HL"
_dREG2, // "BC',DE',HL'"
_dAF2, // "AF'"
_dIND16, // "(%w)"
_dIMPL, // "?"
} DST;
typedef enum tagSRC {
_s0, // ""
_sB, // "B"
_sC, // "C"
_sD, // "D"
_sE, // "E"
_sH, // "H"
_sL, // "L"
_sM, // "(HL)"
_sA, // "A"
_sHIX, // "HX"
_sLIX, // "LX"
_sHIY, // "HY"
_sLIY, // "LY"
_sI, // "I"
_sR, // "R"
_sF, // "F"
_sMBC, // "(BC)"
_sMDE, // "(DE)"
_sMSP, // "(SP)"
_sMIX, // "(IX+nn)"
_sMIY, // "(IY+nn)"
_sIND8, // "(%w)"
_sIMM8, // "%b"
_sIMM8A, // "%b"
_sPORT8, // "(%b)"
_sPORTC, // "(C)"
_sBC, // "BC"
_sDE, // "DE"
_sHL, // "HL"
_sSP, // "SP"
_sAF, // "AF"
_sPC, // "$"
_sIX, // "IX"
_sIY, // "IY"
_sPCHL, // "(HL)"
_sPCIX, // "(HL)"
_sPCIY, // "(HL)"
_sREL8, // "+%o"
_sREG1, // "BC,DE,HL"
_sREG2, // "BC',DE',HL'"
_sAF2, // "AF'"
_sIMM16, // "%w"
_sADR16, // "%w"
_sIND16, // "(%w)"
_sIMPL, // "?"
} SRC;
typedef enum tagCOND {
_c0, // ""
_cNZ, // "NZ"
_cZ, // "Z"
_cNC, // "NC"
_cC, // "C"
_cPO, // "PO"
_cPE, // "PE"
_cP, // "P"
_cM, // "M"
} COND;
typedef enum tagSPEC {
_x0, // ""
_xPC, // "(--SP)<-PC"
_xBIT0, // "0,"
_xBIT1, // "1,"
_xBIT2, // "2,"
_xBIT3, // "3,"
_xBIT4, // "4,"
_xBIT5, // "5,"
_xBIT6, // "6,"
_xBIT7, // "7,"
} SPEC;
typedef struct tagTABLE {
OPER oper:8;
DST dst:8;
SRC src:8;
CFLG cflg:3;
COND cond:5;
SPEC spec:8;
} TABLE;
extern TABLE dis_xx[256];
extern TABLE dis_cb[256];
extern TABLE dis_dd[256];
extern TABLE dis_ed[256];
extern TABLE dis_fd[256];
extern TABLE dis_ddcb[256];
extern TABLE dis_fdcb[256];