/***************************************************************************** * * Portable uPD7810/11, 7810H/11H, 78C10/C11/C14 disassembler * Copyright Juergen Buchmueller, all rights reserved. * * NS20030112: added 7807. * *****************************************************************************/ #include "debugger.h" #include "upd7810.h" struct dasm_s { UINT8 token; const void *args; }; enum { illegal=1, ACI, ADC, ADCW, ADCX, ADD, ADDNC, ADDNCW, ADDNCX, ADDW, ADDX, ADI, ADINC, ANA, ANAW, ANAX, AND, ANI, ANIW, BIT, BLOCK, CALB, CALF, CALL, CALT, CLC, CLR, /* 7807 */ CMC, /* 7807 */ DAA, DADC, DADD, DADDNC, DAN, DCR, DCRW, DCX, DEQ, DGT, DI, DIV, DLT, DMOV, DNE, DOFF, DON, DOR, DRLL, DRLR, DSBB, DSLL, DSLR, DSUB, DSUBNB, DXR, EADD, EI, EQA, EQAW, EQAX, EQI, EQIW, ESUB, EX, /* 7801 */ EXA, EXH, EXX, EXR, /* 7807 */ GTA, GTAW, GTAX, GTI, GTIW, HALT, IN, /* 7801 */ INR, INRW, INX, JB, JEA, JMP, JR, JRE, LBCD, LDAW, LDAX, LDEAX, LDED, LHLD, LSPD, LTA, LTAW, LTAX, LTI, LTIW, LXI, MOV, MUL, MVI, MVIW, MVIX, NEA, NEAW, NEAX, NEGA, NEI, NEIW, NOP, NOT, /* 7807 */ OFFA, OFFAW, OFFAX, OFFI, OFFIW, ONA, ONAW, ONAX, ONI, ONIW, OR, /* 7807 */ ORA, ORAW, ORAX, ORI, ORIW, OUT, /* 7801 */ PER, /* 7801 */ PEX, /* 7801 */ POP, PUSH, RET, RETI, RETS, RLD, RLL, RLR, RRD, SBB, SBBW, SBBX, SBCD, SBI, SDED, SETB, /* 7807 */ SHLD, SIO, /* 7801 */ SK, SKIT, SKN, SKNIT, SLL, SLLC, SLR, SLRC, SOFTI, SSPD, STAW, STAX, STC, STEAX, STM, /* 7801 */ STOP, SUB, SUBNB, SUBNBW, SUBNBX, SUBW, SUBX, SUI, SUINB, TABLE, XOR, /* 7807 */ XRA, XRAW, XRAX, XRI }; static const char *const token[] = { "", "illegal", "ACI", "ADC", "ADCW", "ADCX", "ADD", "ADDNC", "ADDNCW", "ADDNCX", "ADDW", "ADDX", "ADI", "ADINC", "ANA", "ANAW", "ANAX", "AND", "ANI", "ANIW", "BIT", "BLOCK", "CALB", "CALF", "CALL", "CALT", "CLC", "CLR", /* 7807 */ "CMC", /* 7807 */ "DAA", "DADC", "DADD", "DADDNC", "DAN", "DCR", "DCRW", "DCX", "DEQ", "DGT", "DI", "DIV", "DLT", "DMOV", "DNE", "DOFF", "DON", "DOR", "DRLL", "DRLR", "DSBB", "DSLL", "DSLR", "DSUB", "DSUBNB", "DXR", "EADD", "EI", "EQA", "EQAW", "EQAX", "EQI", "EQIW", "ESUB", "EX", /* 7801 */ "EXA", "EXH", "EXX", "EXR", /* 7807 */ "GTA", "GTAW", "GTAX", "GTI", "GTIW", "HALT", "IN", /* 7801 */ "INR", "INRW", "INX", "JB", "JEA", "JMP", "JR", "JRE", "LBCD", "LDAW", "LDAX", "LDEAX", "LDED", "LHLD", "LSPD", "LTA", "LTAW", "LTAX", "LTI", "LTIW", "LXI", "MOV", "MUL", "MVI", "MVIW", "MVIX", "NEA", "NEAW", "NEAX", "NEGA", "NEI", "NEIW", "NOP", "NOT", /* 7807 */ "OFFA", "OFFAW", "OFFAX", "OFFI", "OFFIW", "ONA", "ONAW", "ONAX", "ONI", "ONIW", "OR", /* 7807 */ "ORA", "ORAW", "ORAX", "ORI", "ORIW", "OUT", /* 7801 */ "PER", /* 7801 */ "PEX", /* 7801 */ "POP", "PUSH", "RET", "RETI", "RETS", "RLD", "RLL", "RLR", "RRD", "SBB", "SBBW", "SBBX", "SBCD", "SBI", "SDED", "SETB", /* 7807 */ "SHLD", "SIO", /* 7801 */ "SK", "SKIT", "SKN", "SKNIT", "SLL", "SLLC", "SLR", "SLRC", "SOFTI", "SSPD", "STAW", "STAX", "STC", "STEAX", "STM", /*7801 */ "STOP", "SUB", "SUBNB", "SUBNBW", "SUBNBX", "SUBW", "SUBX", "SUI", "SUINB", "TABLE", "XOR", /* 7807 */ "XRA", "XRAW", "XRAX", "XRI" }; /* prefix 48 */ static const struct dasm_s dasm48_7810[256] = { {illegal,0 }, /* 00: 0100 1000 0000 0000 */ {SLRC,"A" }, /* 01: 0100 1000 0000 0001 */ {SLRC,"B" }, /* 02: 0100 1000 0000 0010 */ {SLRC,"C" }, /* 03: 0100 1000 0000 0011 */ {illegal,0 }, /* 04: 0100 1000 0000 0100 */ {SLLC,"A" }, /* 05: 0100 1000 0000 0101 */ {SLLC,"B" }, /* 06: 0100 1000 0000 0110 */ {SLLC,"C" }, /* 07: 0100 1000 0000 0111 */ {SK,"NV" }, /* 08: 0100 1000 0000 1000 */ {illegal,0 }, /* 09: 0100 1000 0000 1001 */ {SK,"CY" }, /* 0a: 0100 1000 0000 1010 */ {SK,"HC" }, /* 0b: 0100 1000 0000 1011 */ {SK,"Z" }, /* 0c: 0100 1000 0000 1100 */ {illegal,0 }, /* 0d: 0100 1000 0000 1101 */ {illegal,0 }, /* 0e: 0100 1000 0000 1110 */ {illegal,0 }, /* 0f: 0100 1000 0000 1111 */ {illegal,0 }, /* 10: 0100 1000 0001 0000 */ {illegal,0 }, /* 11: 0100 1000 0001 0001 */ {illegal,0 }, /* 12: 0100 1000 0001 0010 */ {illegal,0 }, /* 13: 0100 1000 0001 0011 */ {illegal,0 }, /* 14: 0100 1000 0001 0100 */ {illegal,0 }, /* 15: 0100 1000 0001 0101 */ {illegal,0 }, /* 16: 0100 1000 0001 0110 */ {illegal,0 }, /* 17: 0100 1000 0001 0111 */ {SKN,"NV" }, /* 18: 0100 1000 0001 1000 */ {illegal,0 }, /* 19: 0100 1000 0001 1001 */ {SKN,"CY" }, /* 1a: 0100 1000 0001 1010 */ {SKN,"HC" }, /* 1b: 0100 1000 0001 1011 */ {SKN,"Z" }, /* 1c: 0100 1000 0001 1100 */ {illegal,0 }, /* 1d: 0100 1000 0001 1101 */ {illegal,0 }, /* 1e: 0100 1000 0001 1110 */ {illegal,0 }, /* 1f: 0100 1000 0001 1111 */ {illegal,0 }, /* 20: 0100 1000 0010 0000 */ {SLR,"A" }, /* 21: 0100 1000 0010 0001 */ {SLR,"B" }, /* 22: 0100 1000 0010 0010 */ {SLR,"C" }, /* 23: 0100 1000 0010 0011 */ {illegal,0 }, /* 24: 0100 1000 0010 0100 */ {SLL,"A" }, /* 25: 0100 1000 0010 0101 */ {SLL,"B" }, /* 26: 0100 1000 0010 0110 */ {SLL,"C" }, /* 27: 0100 1000 0010 0111 */ {JEA,0 }, /* 28: 0100 1000 0010 1000 */ {CALB,0 }, /* 29: 0100 1000 0010 1001 */ {CLC,0 }, /* 2a: 0100 1000 0010 1010 */ {STC,0 }, /* 2b: 0100 1000 0010 1011 */ {illegal,0 }, /* 2c: 0100 1000 0010 1100 */ {MUL,"A" }, /* 2d: 0100 1000 0010 1101 */ {MUL,"B" }, /* 2e: 0100 1000 0010 1110 */ {MUL,"C" }, /* 2f: 0100 1000 0010 1111 */ {illegal,0 }, /* 30: 0100 1000 0011 0000 */ {RLR,"A" }, /* 31: 0100 1000 0011 0001 */ {RLR,"B" }, /* 32: 0100 1000 0011 0010 */ {RLR,"C" }, /* 33: 0100 1000 0011 0011 */ {illegal,0 }, /* 34: 0100 1000 0011 0100 */ {RLL,"A" }, /* 35: 0100 1000 0011 0101 */ {RLL,"B" }, /* 36: 0100 1000 0011 0110 */ {RLL,"C" }, /* 37: 0100 1000 0011 0111 */ {RLD,0 }, /* 38: 0100 1000 0011 1000 */ {RRD,0 }, /* 39: 0100 1000 0011 1001 */ {NEGA,0 }, /* 3a: 0100 1000 0011 1010 */ {HALT,0 }, /* 3b: 0100 1000 0011 1011 */ {illegal,0 }, /* 3c: 0100 1000 0011 1100 */ {DIV,"A" }, /* 3d: 0100 1000 0011 1101 */ {DIV,"B" }, /* 3e: 0100 1000 0011 1110 */ {DIV,"C" }, /* 3f: 0100 1000 0011 1111 */ {SKIT,"NMI" }, /* 40: 0100 1000 0100 0000 */ {SKIT,"FT0" }, /* 41: 0100 1000 0100 0001 */ {SKIT,"FT1" }, /* 42: 0100 1000 0100 0010 */ {SKIT,"F1" }, /* 43: 0100 1000 0100 0011 */ {SKIT,"F2" }, /* 44: 0100 1000 0100 0100 */ {SKIT,"FE0" }, /* 45: 0100 1000 0100 0101 */ {SKIT,"FE1" }, /* 46: 0100 1000 0100 0110 */ {SKIT,"FEIN" }, /* 47: 0100 1000 0100 0111 */ {SKIT,"FAD" }, /* 48: 0100 1000 0100 1000 */ {SKIT,"FSR" }, /* 49: 0100 1000 0100 1001 */ {SKIT,"FST" }, /* 4a: 0100 1000 0100 1010 */ {SKIT,"ER" }, /* 4b: 0100 1000 0100 1011 */ {SKIT,"OV" }, /* 4c: 0100 1000 0100 1100 */ {illegal,0 }, /* 4d: 0100 1000 0100 1101 */ {illegal,0 }, /* 4e: 0100 1000 0100 1110 */ {illegal,0 }, /* 4f: 0100 1000 0100 1111 */ {SKIT,"AN4" }, /* 50: 0100 1000 0101 0000 */ {SKIT,"AN5" }, /* 51: 0100 1000 0101 0001 */ {SKIT,"AN6" }, /* 52: 0100 1000 0101 0010 */ {SKIT,"AN7" }, /* 53: 0100 1000 0101 0011 */ {SKIT,"SB" }, /* 54: 0100 1000 0101 0100 */ {illegal,0 }, /* 55: 0100 1000 0101 0101 */ {illegal,0 }, /* 56: 0100 1000 0101 0110 */ {illegal,0 }, /* 57: 0100 1000 0101 0111 */ {illegal,0 }, /* 58: 0100 1000 0101 1000 */ {illegal,0 }, /* 59: 0100 1000 0101 1001 */ {illegal,0 }, /* 5a: 0100 1000 0101 1010 */ {illegal,0 }, /* 5b: 0100 1000 0101 1011 */ {illegal,0 }, /* 5c: 0100 1000 0101 1100 */ {illegal,0 }, /* 5d: 0100 1000 0101 1101 */ {illegal,0 }, /* 5e: 0100 1000 0101 1110 */ {illegal,0 }, /* 5f: 0100 1000 0101 1111 */ {SKNIT,"NMI" }, /* 60: 0100 1000 0110 0000 */ {SKNIT,"FT0" }, /* 61: 0100 1000 0110 0001 */ {SKNIT,"FT1" }, /* 62: 0100 1000 0110 0010 */ {SKNIT,"F1" }, /* 63: 0100 1000 0110 0011 */ {SKNIT,"F2" }, /* 64: 0100 1000 0110 0100 */ {SKNIT,"FE0" }, /* 65: 0100 1000 0110 0101 */ {SKNIT,"FE1" }, /* 66: 0100 1000 0110 0110 */ {SKNIT,"FEIN" }, /* 67: 0100 1000 0110 0111 */ {SKNIT,"FAD" }, /* 68: 0100 1000 0110 1000 */ {SKNIT,"FSR" }, /* 69: 0100 1000 0110 1001 */ {SKNIT,"FST" }, /* 6a: 0100 1000 0110 1010 */ {SKNIT,"ER" }, /* 6b: 0100 1000 0110 1011 */ {SKNIT,"OV" }, /* 6c: 0100 1000 0110 1100 */ {illegal,0 }, /* 6d: 0100 1000 0110 1101 */ {illegal,0 }, /* 6e: 0100 1000 0110 1110 */ {illegal,0 }, /* 6f: 0100 1000 0110 1111 */ {SKNIT,"AN4" }, /* 70: 0100 1000 0111 0000 */ {SKNIT,"AN5" }, /* 71: 0100 1000 0111 0001 */ {SKNIT,"AN6" }, /* 72: 0100 1000 0111 0010 */ {SKNIT,"AN7" }, /* 73: 0100 1000 0111 0011 */ {SKNIT,"SB" }, /* 74: 0100 1000 0111 0100 */ {illegal,0 }, /* 75: 0100 1000 0111 0101 */ {illegal,0 }, /* 76: 0100 1000 0111 0110 */ {illegal,0 }, /* 77: 0100 1000 0111 0111 */ {illegal,0 }, /* 78: 0100 1000 0111 1000 */ {illegal,0 }, /* 79: 0100 1000 0111 1001 */ {illegal,0 }, /* 7a: 0100 1000 0111 1010 */ {illegal,0 }, /* 7b: 0100 1000 0111 1011 */ {illegal,0 }, /* 7c: 0100 1000 0111 1100 */ {illegal,0 }, /* 7d: 0100 1000 0111 1101 */ {illegal,0 }, /* 7e: 0100 1000 0111 1110 */ {illegal,0 }, /* 7f: 0100 1000 0111 1111 */ {illegal,0 }, /* 80: 0100 1000 1000 0000 */ {illegal,0 }, /* 81: 0100 1000 1000 0001 */ {LDEAX,"(DE)" }, /* 82: 0100 1000 1000 0010 */ {LDEAX,"(HL)" }, /* 83: 0100 1000 1000 0011 */ {LDEAX,"(DE++)" }, /* 84: 0100 1000 1000 0100 */ {LDEAX,"(HL++)" }, /* 85: 0100 1000 1000 0101 */ {illegal,0 }, /* 86: 0100 1000 1000 0110 */ {illegal,0 }, /* 87: 0100 1000 1000 0111 */ {illegal,0 }, /* 88: 0100 1000 1000 1000 */ {illegal,0 }, /* 89: 0100 1000 1000 1001 */ {illegal,0 }, /* 8a: 0100 1000 1000 1010 */ {LDEAX,"(DE+%b)"}, /* 8b: 0100 1000 1000 1011 xxxx xxxx */ {LDEAX,"(HL+A)" }, /* 8c: 0100 1000 1000 1100 */ {LDEAX,"(HL+B)" }, /* 8d: 0100 1000 1000 1101 */ {LDEAX,"(HL+EA)"}, /* 8e: 0100 1000 1000 1110 */ {LDEAX,"(HL+%b)"}, /* 8f: 0100 1000 1000 1111 xxxx xxxx */ {illegal,0 }, /* 90: 0100 1000 1000 0000 */ {illegal,0 }, /* 91: 0100 1000 1000 0001 */ {STEAX,"(DE)" }, /* 92: 0100 1000 1000 0010 */ {STEAX,"(HL)" }, /* 93: 0100 1000 1000 0011 */ {STEAX,"(DE++)" }, /* 94: 0100 1000 1000 0100 */ {STEAX,"(HL++)" }, /* 95: 0100 1000 1000 0101 */ {illegal,0 }, /* 96: 0100 1000 1000 0110 */ {illegal,0 }, /* 97: 0100 1000 1000 0111 */ {illegal,0 }, /* 98: 0100 1000 1000 1000 */ {illegal,0 }, /* 99: 0100 1000 1000 1001 */ {illegal,0 }, /* 9a: 0100 1000 1000 1010 */ {STEAX,"(DE+%b)"}, /* 9b: 0100 1000 1000 1011 xxxx xxxx */ {STEAX,"(HL+A)" }, /* 9c: 0100 1000 1000 1100 */ {STEAX,"(HL+B)" }, /* 9d: 0100 1000 1000 1101 */ {STEAX,"(HL+EA)"}, /* 9e: 0100 1000 1000 1110 */ {STEAX,"(HL+%b)"}, /* 9f: 0100 1000 1000 1111 xxxx xxxx */ {DSLR,"EA" }, /* a0: 0100 1000 1010 0000 */ {illegal,0 }, /* a1: 0100 1000 1010 0001 */ {illegal,0 }, /* a2: 0100 1000 1010 0010 */ {illegal,0 }, /* a3: 0100 1000 1010 0011 */ {DSLL,"EA" }, /* a4: 0100 1000 1010 0100 */ {illegal,0 }, /* a5: 0100 1000 1010 0101 */ {illegal,0 }, /* a6: 0100 1000 1010 0110 */ {illegal,0 }, /* a7: 0100 1000 1010 0111 */ {TABLE,0 }, /* a8: 0100 1000 1010 1000 */ {illegal,0 }, /* a9: 0100 1000 1010 1001 */ {illegal,0 }, /* aa: 0100 1000 1010 1010 */ {illegal,0 }, /* ab: 0100 1000 1010 1011 */ {illegal,0 }, /* ac: 0100 1000 1010 1100 */ {illegal,0 }, /* ad: 0100 1000 1010 1101 */ {illegal,0 }, /* ae: 0100 1000 1010 1110 */ {illegal,0 }, /* af: 0100 1000 1010 1111 */ {DRLR,"EA" }, /* b0: 0100 1000 1011 0000 */ {illegal,0 }, /* b1: 0100 1000 1011 0001 */ {illegal,0 }, /* b2: 0100 1000 1011 0010 */ {illegal,0 }, /* b3: 0100 1000 1011 0011 */ {DRLL,"EA" }, /* b4: 0100 1000 1011 0100 */ {illegal,0 }, /* b5: 0100 1000 1011 0101 */ {illegal,0 }, /* b6: 0100 1000 1011 0110 */ {illegal,0 }, /* b7: 0100 1000 1011 0111 */ {illegal,0 }, /* b8: 0100 1000 1011 1000 */ {illegal,0 }, /* b9: 0100 1000 1011 1001 */ {illegal,0 }, /* ba: 0100 1000 1011 1010 */ {STOP,0 }, /* bb: 0100 1000 1011 1011 */ /* 7810 */ {illegal,0 }, /* bc: 0100 1000 1011 1100 */ {illegal,0 }, /* bd: 0100 1000 1011 1101 */ {illegal,0 }, /* be: 0100 1000 1011 1110 */ {illegal,0 }, /* bf: 0100 1000 1011 1111 */ {DMOV,"EA,ECNT" }, /* c0: 0100 1000 1100 0000 */ {DMOV,"EA,ECPT" }, /* c1: 0100 1000 1100 0001 */ /* 7810 */ {illegal,0 }, /* c2: 0100 1000 1100 0010 */ {illegal,0 }, /* c3: 0100 1000 1100 0011 */ {illegal,0 }, /* c4: 0100 1000 1100 0100 */ {illegal,0 }, /* c5: 0100 1000 1100 0101 */ {illegal,0 }, /* c6: 0100 1000 1100 0110 */ {illegal,0 }, /* c7: 0100 1000 1100 0111 */ {illegal,0 }, /* c8: 0100 1000 1100 1000 */ {illegal,0 }, /* c9: 0100 1000 1100 1001 */ {illegal,0 }, /* ca: 0100 1000 1100 1010 */ {illegal,0 }, /* cb: 0100 1000 1100 1011 */ {illegal,0 }, /* cc: 0100 1000 1100 1100 */ {illegal,0 }, /* cd: 0100 1000 1100 1101 */ {illegal,0 }, /* ce: 0100 1000 1100 1110 */ {illegal,0 }, /* cf: 0100 1000 1100 1111 */ {illegal,0 }, /* d0: 0100 1000 1101 0000 */ {illegal,0 }, /* d1: 0100 1000 1101 0001 */ {DMOV,"ETM0,EA" }, /* d2: 0100 1000 1101 0010 */ {DMOV,"ETM1,EA" }, /* d3: 0100 1000 1101 0011 */ {illegal,0 }, /* d4: 0100 1000 1101 0100 */ {illegal,0 }, /* d5: 0100 1000 1101 0101 */ {illegal,0 }, /* d6: 0100 1000 1101 0110 */ {illegal,0 }, /* d7: 0100 1000 1101 0111 */ {illegal,0 }, /* d8: 0100 1000 1101 1000 */ {illegal,0 }, /* d9: 0100 1000 1101 1001 */ {illegal,0 }, /* da: 0100 1000 1101 1010 */ {illegal,0 }, /* db: 0100 1000 1101 1011 */ {illegal,0 }, /* dc: 0100 1000 1101 1100 */ {illegal,0 }, /* dd: 0100 1000 1101 1101 */ {illegal,0 }, /* de: 0100 1000 1101 1110 */ {illegal,0 }, /* df: 0100 1000 1101 1111 */ {illegal,0 }, /* e0: 0100 1000 1110 0000 */ {illegal,0 }, /* e1: 0100 1000 1110 0001 */ {illegal,0 }, /* e2: 0100 1000 1110 0010 */ {illegal,0 }, /* e3: 0100 1000 1110 0011 */ {illegal,0 }, /* e4: 0100 1000 1110 0100 */ {illegal,0 }, /* e5: 0100 1000 1110 0101 */ {illegal,0 }, /* e6: 0100 1000 1110 0110 */ {illegal,0 }, /* e7: 0100 1000 1110 0111 */ {illegal,0 }, /* e8: 0100 1000 1110 1000 */ {illegal,0 }, /* e9: 0100 1000 1110 1001 */ {illegal,0 }, /* ea: 0100 1000 1110 1010 */ {illegal,0 }, /* eb: 0100 1000 1110 1011 */ {illegal,0 }, /* ec: 0100 1000 1110 1100 */ {illegal,0 }, /* ed: 0100 1000 1110 1101 */ {illegal,0 }, /* ee: 0100 1000 1110 1110 */ {illegal,0 }, /* ef: 0100 1000 1110 1111 */ {illegal,0 }, /* f0: 0100 1000 1111 0000 */ {illegal,0 }, /* f1: 0100 1000 1111 0001 */ {illegal,0 }, /* f2: 0100 1000 1111 0010 */ {illegal,0 }, /* f3: 0100 1000 1111 0011 */ {illegal,0 }, /* f4: 0100 1000 1111 0100 */ {illegal,0 }, /* f5: 0100 1000 1111 0101 */ {illegal,0 }, /* f6: 0100 1000 1111 0110 */ {illegal,0 }, /* f7: 0100 1000 1111 0111 */ {illegal,0 }, /* f8: 0100 1000 1111 1000 */ {illegal,0 }, /* f9: 0100 1000 1111 1001 */ {illegal,0 }, /* fa: 0100 1000 1111 1010 */ {illegal,0 }, /* fb: 0100 1000 1111 1011 */ {illegal,0 }, /* fc: 0100 1000 1111 1100 */ {illegal,0 }, /* fd: 0100 1000 1111 1101 */ {illegal,0 }, /* fe: 0100 1000 1111 1110 */ {illegal,0 } /* ff: 0100 1000 1111 1111 */ }; static const struct dasm_s dasm48_7807[256] = { {illegal,0 }, /* 00: 0100 1000 0000 0000 */ {SLRC,"A" }, /* 01: 0100 1000 0000 0001 */ {SLRC,"B" }, /* 02: 0100 1000 0000 0010 */ {SLRC,"C" }, /* 03: 0100 1000 0000 0011 */ {illegal,0 }, /* 04: 0100 1000 0000 0100 */ {SLLC,"A" }, /* 05: 0100 1000 0000 0101 */ {SLLC,"B" }, /* 06: 0100 1000 0000 0110 */ {SLLC,"C" }, /* 07: 0100 1000 0000 0111 */ {SK,"NV" }, /* 08: 0100 1000 0000 1000 */ {illegal,0 }, /* 09: 0100 1000 0000 1001 */ {SK,"CY" }, /* 0a: 0100 1000 0000 1010 */ {SK,"HC" }, /* 0b: 0100 1000 0000 1011 */ {SK,"Z" }, /* 0c: 0100 1000 0000 1100 */ {illegal,0 }, /* 0d: 0100 1000 0000 1101 */ {illegal,0 }, /* 0e: 0100 1000 0000 1110 */ {illegal,0 }, /* 0f: 0100 1000 0000 1111 */ {illegal,0 }, /* 10: 0100 1000 0001 0000 */ {illegal,0 }, /* 11: 0100 1000 0001 0001 */ {illegal,0 }, /* 12: 0100 1000 0001 0010 */ {illegal,0 }, /* 13: 0100 1000 0001 0011 */ {illegal,0 }, /* 14: 0100 1000 0001 0100 */ {illegal,0 }, /* 15: 0100 1000 0001 0101 */ {illegal,0 }, /* 16: 0100 1000 0001 0110 */ {illegal,0 }, /* 17: 0100 1000 0001 0111 */ {SKN,"NV" }, /* 18: 0100 1000 0001 1000 */ {illegal,0 }, /* 19: 0100 1000 0001 1001 */ {SKN,"CY" }, /* 1a: 0100 1000 0001 1010 */ {SKN,"HC" }, /* 1b: 0100 1000 0001 1011 */ {SKN,"Z" }, /* 1c: 0100 1000 0001 1100 */ {illegal,0 }, /* 1d: 0100 1000 0001 1101 */ {illegal,0 }, /* 1e: 0100 1000 0001 1110 */ {illegal,0 }, /* 1f: 0100 1000 0001 1111 */ {illegal,0 }, /* 20: 0100 1000 0010 0000 */ {SLR,"A" }, /* 21: 0100 1000 0010 0001 */ {SLR,"B" }, /* 22: 0100 1000 0010 0010 */ {SLR,"C" }, /* 23: 0100 1000 0010 0011 */ {illegal,0 }, /* 24: 0100 1000 0010 0100 */ {SLL,"A" }, /* 25: 0100 1000 0010 0101 */ {SLL,"B" }, /* 26: 0100 1000 0010 0110 */ {SLL,"C" }, /* 27: 0100 1000 0010 0111 */ {JEA,0 }, /* 28: 0100 1000 0010 1000 */ {CALB,0 }, /* 29: 0100 1000 0010 1001 */ {CLC,0 }, /* 2a: 0100 1000 0010 1010 */ {STC,0 }, /* 2b: 0100 1000 0010 1011 */ {illegal,0 }, /* 2c: 0100 1000 0010 1100 */ {MUL,"A" }, /* 2d: 0100 1000 0010 1101 */ {MUL,"B" }, /* 2e: 0100 1000 0010 1110 */ {MUL,"C" }, /* 2f: 0100 1000 0010 1111 */ {illegal,0 }, /* 30: 0100 1000 0011 0000 */ {RLR,"A" }, /* 31: 0100 1000 0011 0001 */ {RLR,"B" }, /* 32: 0100 1000 0011 0010 */ {RLR,"C" }, /* 33: 0100 1000 0011 0011 */ {illegal,0 }, /* 34: 0100 1000 0011 0100 */ {RLL,"A" }, /* 35: 0100 1000 0011 0101 */ {RLL,"B" }, /* 36: 0100 1000 0011 0110 */ {RLL,"C" }, /* 37: 0100 1000 0011 0111 */ {RLD,0 }, /* 38: 0100 1000 0011 1000 */ {RRD,0 }, /* 39: 0100 1000 0011 1001 */ {NEGA,0 }, /* 3a: 0100 1000 0011 1010 */ {HALT,0 }, /* 3b: 0100 1000 0011 1011 */ {illegal,0 }, /* 3c: 0100 1000 0011 1100 */ {DIV,"A" }, /* 3d: 0100 1000 0011 1101 */ {DIV,"B" }, /* 3e: 0100 1000 0011 1110 */ {DIV,"C" }, /* 3f: 0100 1000 0011 1111 */ {SKIT,"NMI" }, /* 40: 0100 1000 0100 0000 */ {SKIT,"FT0" }, /* 41: 0100 1000 0100 0001 */ {SKIT,"FT1" }, /* 42: 0100 1000 0100 0010 */ {SKIT,"F1" }, /* 43: 0100 1000 0100 0011 */ {SKIT,"F2" }, /* 44: 0100 1000 0100 0100 */ {SKIT,"FE0" }, /* 45: 0100 1000 0100 0101 */ {SKIT,"FE1" }, /* 46: 0100 1000 0100 0110 */ {SKIT,"FEIN" }, /* 47: 0100 1000 0100 0111 */ {SKIT,"FAD" }, /* 48: 0100 1000 0100 1000 */ {SKIT,"FSR" }, /* 49: 0100 1000 0100 1001 */ {SKIT,"FST" }, /* 4a: 0100 1000 0100 1010 */ {SKIT,"ER" }, /* 4b: 0100 1000 0100 1011 */ {SKIT,"OV" }, /* 4c: 0100 1000 0100 1100 */ {illegal,0 }, /* 4d: 0100 1000 0100 1101 */ {illegal,0 }, /* 4e: 0100 1000 0100 1110 */ {illegal,0 }, /* 4f: 0100 1000 0100 1111 */ {SKIT,"AN4" }, /* 50: 0100 1000 0101 0000 */ {SKIT,"AN5" }, /* 51: 0100 1000 0101 0001 */ {SKIT,"AN6" }, /* 52: 0100 1000 0101 0010 */ {SKIT,"AN7" }, /* 53: 0100 1000 0101 0011 */ {SKIT,"SB" }, /* 54: 0100 1000 0101 0100 */ {illegal,0 }, /* 55: 0100 1000 0101 0101 */ {illegal,0 }, /* 56: 0100 1000 0101 0110 */ {illegal,0 }, /* 57: 0100 1000 0101 0111 */ {illegal,0 }, /* 58: 0100 1000 0101 1000 */ {illegal,0 }, /* 59: 0100 1000 0101 1001 */ {illegal,0 }, /* 5a: 0100 1000 0101 1010 */ {illegal,0 }, /* 5b: 0100 1000 0101 1011 */ {illegal,0 }, /* 5c: 0100 1000 0101 1100 */ {illegal,0 }, /* 5d: 0100 1000 0101 1101 */ {illegal,0 }, /* 5e: 0100 1000 0101 1110 */ {illegal,0 }, /* 5f: 0100 1000 0101 1111 */ {SKNIT,"NMI" }, /* 60: 0100 1000 0110 0000 */ {SKNIT,"FT0" }, /* 61: 0100 1000 0110 0001 */ {SKNIT,"FT1" }, /* 62: 0100 1000 0110 0010 */ {SKNIT,"F1" }, /* 63: 0100 1000 0110 0011 */ {SKNIT,"F2" }, /* 64: 0100 1000 0110 0100 */ {SKNIT,"FE0" }, /* 65: 0100 1000 0110 0101 */ {SKNIT,"FE1" }, /* 66: 0100 1000 0110 0110 */ {SKNIT,"FEIN" }, /* 67: 0100 1000 0110 0111 */ {SKNIT,"FAD" }, /* 68: 0100 1000 0110 1000 */ {SKNIT,"FSR" }, /* 69: 0100 1000 0110 1001 */ {SKNIT,"FST" }, /* 6a: 0100 1000 0110 1010 */ {SKNIT,"ER" }, /* 6b: 0100 1000 0110 1011 */ {SKNIT,"OV" }, /* 6c: 0100 1000 0110 1100 */ {illegal,0 }, /* 6d: 0100 1000 0110 1101 */ {illegal,0 }, /* 6e: 0100 1000 0110 1110 */ {illegal,0 }, /* 6f: 0100 1000 0110 1111 */ {SKNIT,"AN4" }, /* 70: 0100 1000 0111 0000 */ {SKNIT,"AN5" }, /* 71: 0100 1000 0111 0001 */ {SKNIT,"AN6" }, /* 72: 0100 1000 0111 0010 */ {SKNIT,"AN7" }, /* 73: 0100 1000 0111 0011 */ {SKNIT,"SB" }, /* 74: 0100 1000 0111 0100 */ {illegal,0 }, /* 75: 0100 1000 0111 0101 */ {illegal,0 }, /* 76: 0100 1000 0111 0110 */ {illegal,0 }, /* 77: 0100 1000 0111 0111 */ {illegal,0 }, /* 78: 0100 1000 0111 1000 */ {illegal,0 }, /* 79: 0100 1000 0111 1001 */ {illegal,0 }, /* 7a: 0100 1000 0111 1010 */ {illegal,0 }, /* 7b: 0100 1000 0111 1011 */ {illegal,0 }, /* 7c: 0100 1000 0111 1100 */ {illegal,0 }, /* 7d: 0100 1000 0111 1101 */ {illegal,0 }, /* 7e: 0100 1000 0111 1110 */ {illegal,0 }, /* 7f: 0100 1000 0111 1111 */ {illegal,0 }, /* 80: 0100 1000 1000 0000 */ {illegal,0 }, /* 81: 0100 1000 1000 0001 */ {LDEAX,"(DE)" }, /* 82: 0100 1000 1000 0010 */ {LDEAX,"(HL)" }, /* 83: 0100 1000 1000 0011 */ {LDEAX,"(DE++)" }, /* 84: 0100 1000 1000 0100 */ {LDEAX,"(HL++)" }, /* 85: 0100 1000 1000 0101 */ {illegal,0 }, /* 86: 0100 1000 1000 0110 */ {illegal,0 }, /* 87: 0100 1000 1000 0111 */ {illegal,0 }, /* 88: 0100 1000 1000 1000 */ {illegal,0 }, /* 89: 0100 1000 1000 1001 */ {illegal,0 }, /* 8a: 0100 1000 1000 1010 */ {LDEAX,"(DE+%b)"}, /* 8b: 0100 1000 1000 1011 xxxx xxxx */ {LDEAX,"(HL+A)" }, /* 8c: 0100 1000 1000 1100 */ {LDEAX,"(HL+B)" }, /* 8d: 0100 1000 1000 1101 */ {LDEAX,"(HL+EA)"}, /* 8e: 0100 1000 1000 1110 */ {LDEAX,"(HL+%b)"}, /* 8f: 0100 1000 1000 1111 xxxx xxxx */ {illegal,0 }, /* 90: 0100 1000 1000 0000 */ {illegal,0 }, /* 91: 0100 1000 1000 0001 */ {STEAX,"(DE)" }, /* 92: 0100 1000 1000 0010 */ {STEAX,"(HL)" }, /* 93: 0100 1000 1000 0011 */ {STEAX,"(DE++)" }, /* 94: 0100 1000 1000 0100 */ {STEAX,"(HL++)" }, /* 95: 0100 1000 1000 0101 */ {illegal,0 }, /* 96: 0100 1000 1000 0110 */ {illegal,0 }, /* 97: 0100 1000 1000 0111 */ {illegal,0 }, /* 98: 0100 1000 1000 1000 */ {illegal,0 }, /* 99: 0100 1000 1000 1001 */ {illegal,0 }, /* 9a: 0100 1000 1000 1010 */ {STEAX,"(DE+%b)"}, /* 9b: 0100 1000 1000 1011 xxxx xxxx */ {STEAX,"(HL+A)" }, /* 9c: 0100 1000 1000 1100 */ {STEAX,"(HL+B)" }, /* 9d: 0100 1000 1000 1101 */ {STEAX,"(HL+EA)"}, /* 9e: 0100 1000 1000 1110 */ {STEAX,"(HL+%b)"}, /* 9f: 0100 1000 1000 1111 xxxx xxxx */ {DSLR,"EA" }, /* a0: 0100 1000 1010 0000 */ {illegal,0 }, /* a1: 0100 1000 1010 0001 */ {illegal,0 }, /* a2: 0100 1000 1010 0010 */ {illegal,0 }, /* a3: 0100 1000 1010 0011 */ {DSLL,"EA" }, /* a4: 0100 1000 1010 0100 */ {illegal,0 }, /* a5: 0100 1000 1010 0101 */ {illegal,0 }, /* a6: 0100 1000 1010 0110 */ {illegal,0 }, /* a7: 0100 1000 1010 0111 */ {TABLE,0 }, /* a8: 0100 1000 1010 1000 */ {illegal,0 }, /* a9: 0100 1000 1010 1001 */ {CMC,0 }, /* aa: 0100 1000 1010 1010 */ /* 7807 */ {illegal,0 }, /* ab: 0100 1000 1010 1011 */ {EXA,0 }, /* ac: 0100 1000 1010 1100 */ /* 7807 */ {EXR,0 }, /* ad: 0100 1000 1010 1101 */ /* 7807 */ {EXH,0 }, /* ae: 0100 1000 1010 1110 */ /* 7807 */ {EXX,0 }, /* af: 0100 1000 1010 1111 */ /* 7807 */ {DRLR,"EA" }, /* b0: 0100 1000 1011 0000 */ {illegal,0 }, /* b1: 0100 1000 1011 0001 */ {illegal,0 }, /* b2: 0100 1000 1011 0010 */ {illegal,0 }, /* b3: 0100 1000 1011 0011 */ {DRLL,"EA" }, /* b4: 0100 1000 1011 0100 */ {illegal,0 }, /* b5: 0100 1000 1011 0101 */ {illegal,0 }, /* b6: 0100 1000 1011 0110 */ {illegal,0 }, /* b7: 0100 1000 1011 0111 */ {illegal,0 }, /* b8: 0100 1000 1011 1000 */ {illegal,0 }, /* b9: 0100 1000 1011 1001 */ {illegal,0 }, /* ba: 0100 1000 1011 1010 */ {illegal,0 }, /* bb: 0100 1000 1011 1011 */ {illegal,0 }, /* bc: 0100 1000 1011 1100 */ {illegal,0 }, /* bd: 0100 1000 1011 1101 */ {illegal,0 }, /* be: 0100 1000 1011 1110 */ {illegal,0 }, /* bf: 0100 1000 1011 1111 */ {DMOV,"EA,ECNT" }, /* c0: 0100 1000 1100 0000 */ {DMOV,"EA,ECPT0"}, /* c1: 0100 1000 1100 0001 */ /* 7807 */ {DMOV,"EA,ECPT1"}, /* c2: 0100 1000 1100 0010 */ /* 7807 */ {illegal,0 }, /* c3: 0100 1000 1100 0011 */ {illegal,0 }, /* c4: 0100 1000 1100 0100 */ {illegal,0 }, /* c5: 0100 1000 1100 0101 */ {illegal,0 }, /* c6: 0100 1000 1100 0110 */ {illegal,0 }, /* c7: 0100 1000 1100 0111 */ {illegal,0 }, /* c8: 0100 1000 1100 1000 */ {illegal,0 }, /* c9: 0100 1000 1100 1001 */ {illegal,0 }, /* ca: 0100 1000 1100 1010 */ {illegal,0 }, /* cb: 0100 1000 1100 1011 */ {illegal,0 }, /* cc: 0100 1000 1100 1100 */ {illegal,0 }, /* cd: 0100 1000 1100 1101 */ {illegal,0 }, /* ce: 0100 1000 1100 1110 */ {illegal,0 }, /* cf: 0100 1000 1100 1111 */ {illegal,0 }, /* d0: 0100 1000 1101 0000 */ {illegal,0 }, /* d1: 0100 1000 1101 0001 */ {DMOV,"ETM0,EA" }, /* d2: 0100 1000 1101 0010 */ {DMOV,"ETM1,EA" }, /* d3: 0100 1000 1101 0011 */ {illegal,0 }, /* d4: 0100 1000 1101 0100 */ {illegal,0 }, /* d5: 0100 1000 1101 0101 */ {illegal,0 }, /* d6: 0100 1000 1101 0110 */ {illegal,0 }, /* d7: 0100 1000 1101 0111 */ {illegal,0 }, /* d8: 0100 1000 1101 1000 */ {illegal,0 }, /* d9: 0100 1000 1101 1001 */ {illegal,0 }, /* da: 0100 1000 1101 1010 */ {illegal,0 }, /* db: 0100 1000 1101 1011 */ {illegal,0 }, /* dc: 0100 1000 1101 1100 */ {illegal,0 }, /* dd: 0100 1000 1101 1101 */ {illegal,0 }, /* de: 0100 1000 1101 1110 */ {illegal,0 }, /* df: 0100 1000 1101 1111 */ {illegal,0 }, /* e0: 0100 1000 1110 0000 */ {illegal,0 }, /* e1: 0100 1000 1110 0001 */ {illegal,0 }, /* e2: 0100 1000 1110 0010 */ {illegal,0 }, /* e3: 0100 1000 1110 0011 */ {illegal,0 }, /* e4: 0100 1000 1110 0100 */ {illegal,0 }, /* e5: 0100 1000 1110 0101 */ {illegal,0 }, /* e6: 0100 1000 1110 0110 */ {illegal,0 }, /* e7: 0100 1000 1110 0111 */ {illegal,0 }, /* e8: 0100 1000 1110 1000 */ {illegal,0 }, /* e9: 0100 1000 1110 1001 */ {illegal,0 }, /* ea: 0100 1000 1110 1010 */ {illegal,0 }, /* eb: 0100 1000 1110 1011 */ {illegal,0 }, /* ec: 0100 1000 1110 1100 */ {illegal,0 }, /* ed: 0100 1000 1110 1101 */ {illegal,0 }, /* ee: 0100 1000 1110 1110 */ {illegal,0 }, /* ef: 0100 1000 1110 1111 */ {illegal,0 }, /* f0: 0100 1000 1111 0000 */ {illegal,0 }, /* f1: 0100 1000 1111 0001 */ {illegal,0 }, /* f2: 0100 1000 1111 0010 */ {illegal,0 }, /* f3: 0100 1000 1111 0011 */ {illegal,0 }, /* f4: 0100 1000 1111 0100 */ {illegal,0 }, /* f5: 0100 1000 1111 0101 */ {illegal,0 }, /* f6: 0100 1000 1111 0110 */ {illegal,0 }, /* f7: 0100 1000 1111 0111 */ {illegal,0 }, /* f8: 0100 1000 1111 1000 */ {illegal,0 }, /* f9: 0100 1000 1111 1001 */ {illegal,0 }, /* fa: 0100 1000 1111 1010 */ {illegal,0 }, /* fb: 0100 1000 1111 1011 */ {illegal,0 }, /* fc: 0100 1000 1111 1100 */ {illegal,0 }, /* fd: 0100 1000 1111 1101 */ {illegal,0 }, /* fe: 0100 1000 1111 1110 */ {illegal,0 } /* ff: 0100 1000 1111 1111 */ }; /* prefix 4C */ static const struct dasm_s dasm4C_7810[256] = { {illegal,0 }, /* 00: 0100 1100 0000 0000 */ {illegal,0 }, /* 01: 0100 1100 0000 0001 */ {illegal,0 }, /* 02: 0100 1100 0000 0010 */ {illegal,0 }, /* 03: 0100 1100 0000 0011 */ {illegal,0 }, /* 04: 0100 1100 0000 0100 */ {illegal,0 }, /* 05: 0100 1100 0000 0101 */ {illegal,0 }, /* 06: 0100 1100 0000 0110 */ {illegal,0 }, /* 07: 0100 1100 0000 0111 */ {illegal,0 }, /* 08: 0100 1100 0000 1000 */ {illegal,0 }, /* 09: 0100 1100 0000 1001 */ {illegal,0 }, /* 0a: 0100 1100 0000 1010 */ {illegal,0 }, /* 0b: 0100 1100 0000 1011 */ {illegal,0 }, /* 0c: 0100 1100 0000 1100 */ {illegal,0 }, /* 0d: 0100 1100 0000 1101 */ {illegal,0 }, /* 0e: 0100 1100 0000 1110 */ {illegal,0 }, /* 0f: 0100 1100 0000 1111 */ {illegal,0 }, /* 10: 0100 1100 0001 0000 */ {illegal,0 }, /* 11: 0100 1100 0001 0001 */ {illegal,0 }, /* 12: 0100 1100 0001 0010 */ {illegal,0 }, /* 13: 0100 1100 0001 0011 */ {illegal,0 }, /* 14: 0100 1100 0001 0100 */ {illegal,0 }, /* 15: 0100 1100 0001 0101 */ {illegal,0 }, /* 16: 0100 1100 0001 0110 */ {illegal,0 }, /* 17: 0100 1100 0001 0111 */ {illegal,0 }, /* 18: 0100 1100 0001 1000 */ {illegal,0 }, /* 19: 0100 1100 0001 1001 */ {illegal,0 }, /* 1a: 0100 1100 0001 1010 */ {illegal,0 }, /* 1b: 0100 1100 0001 1011 */ {illegal,0 }, /* 1c: 0100 1100 0001 1100 */ {illegal,0 }, /* 1d: 0100 1100 0001 1101 */ {illegal,0 }, /* 1e: 0100 1100 0001 1110 */ {illegal,0 }, /* 1f: 0100 1100 0001 1111 */ {illegal,0 }, /* 20: 0100 1100 0010 0000 */ {illegal,0 }, /* 21: 0100 1100 0010 0001 */ {illegal,0 }, /* 22: 0100 1100 0010 0010 */ {illegal,0 }, /* 23: 0100 1100 0010 0011 */ {illegal,0 }, /* 24: 0100 1100 0010 0100 */ {illegal,0 }, /* 25: 0100 1100 0010 0101 */ {illegal,0 }, /* 26: 0100 1100 0010 0110 */ {illegal,0 }, /* 27: 0100 1100 0010 0111 */ {illegal,0 }, /* 28: 0100 1100 0010 1000 */ {illegal,0 }, /* 29: 0100 1100 0010 1001 */ {illegal,0 }, /* 2a: 0100 1100 0010 1010 */ {illegal,0 }, /* 2b: 0100 1100 0010 1011 */ {illegal,0 }, /* 2c: 0100 1100 0010 1100 */ {illegal,0 }, /* 2d: 0100 1100 0010 1101 */ {illegal,0 }, /* 2e: 0100 1100 0010 1110 */ {illegal,0 }, /* 2f: 0100 1100 0010 1111 */ {illegal,0 }, /* 30: 0100 1100 0011 0000 */ {illegal,0 }, /* 31: 0100 1100 0011 0001 */ {illegal,0 }, /* 32: 0100 1100 0011 0010 */ {illegal,0 }, /* 33: 0100 1100 0011 0011 */ {illegal,0 }, /* 34: 0100 1100 0011 0100 */ {illegal,0 }, /* 35: 0100 1100 0011 0101 */ {illegal,0 }, /* 36: 0100 1100 0011 0110 */ {illegal,0 }, /* 37: 0100 1100 0011 0111 */ {illegal,0 }, /* 38: 0100 1100 0011 1000 */ {illegal,0 }, /* 39: 0100 1100 0011 1001 */ {illegal,0 }, /* 3a: 0100 1100 0011 1010 */ {illegal,0 }, /* 3b: 0100 1100 0011 1011 */ {illegal,0 }, /* 3c: 0100 1100 0011 1100 */ {illegal,0 }, /* 3d: 0100 1100 0011 1101 */ {illegal,0 }, /* 3e: 0100 1100 0011 1110 */ {illegal,0 }, /* 3f: 0100 1100 0011 1111 */ {illegal,0 }, /* 40: 0100 1100 0100 0000 */ {illegal,0 }, /* 41: 0100 1100 0100 0001 */ {illegal,0 }, /* 42: 0100 1100 0100 0010 */ {illegal,0 }, /* 43: 0100 1100 0100 0011 */ {illegal,0 }, /* 44: 0100 1100 0100 0100 */ {illegal,0 }, /* 45: 0100 1100 0100 0101 */ {illegal,0 }, /* 46: 0100 1100 0100 0110 */ {illegal,0 }, /* 47: 0100 1100 0100 0111 */ {illegal,0 }, /* 48: 0100 1100 0100 1000 */ {illegal,0 }, /* 49: 0100 1100 0100 1001 */ {illegal,0 }, /* 4a: 0100 1100 0100 1010 */ {illegal,0 }, /* 4b: 0100 1100 0100 1011 */ {illegal,0 }, /* 4c: 0100 1100 0100 1100 */ {illegal,0 }, /* 4d: 0100 1100 0100 1101 */ {illegal,0 }, /* 4e: 0100 1100 0100 1110 */ {illegal,0 }, /* 4f: 0100 1100 0100 1111 */ {illegal,0 }, /* 50: 0100 1100 0101 0000 */ {illegal,0 }, /* 51: 0100 1100 0101 0001 */ {illegal,0 }, /* 52: 0100 1100 0101 0010 */ {illegal,0 }, /* 53: 0100 1100 0101 0011 */ {illegal,0 }, /* 54: 0100 1100 0101 0100 */ {illegal,0 }, /* 55: 0100 1100 0101 0101 */ {illegal,0 }, /* 56: 0100 1100 0101 0110 */ {illegal,0 }, /* 57: 0100 1100 0101 0111 */ {illegal,0 }, /* 58: 0100 1100 0101 1000 */ {illegal,0 }, /* 59: 0100 1100 0101 1001 */ {illegal,0 }, /* 5a: 0100 1100 0101 1010 */ {illegal,0 }, /* 5b: 0100 1100 0101 1011 */ {illegal,0 }, /* 5c: 0100 1100 0101 1100 */ {illegal,0 }, /* 5d: 0100 1100 0101 1101 */ {illegal,0 }, /* 5e: 0100 1100 0101 1110 */ {illegal,0 }, /* 5f: 0100 1100 0101 1111 */ {illegal,0 }, /* 60: 0100 1100 0110 0000 */ {illegal,0 }, /* 61: 0100 1100 0110 0001 */ {illegal,0 }, /* 62: 0100 1100 0110 0010 */ {illegal,0 }, /* 63: 0100 1100 0110 0011 */ {illegal,0 }, /* 64: 0100 1100 0110 0100 */ {illegal,0 }, /* 65: 0100 1100 0110 0101 */ {illegal,0 }, /* 66: 0100 1100 0110 0110 */ {illegal,0 }, /* 67: 0100 1100 0110 0111 */ {illegal,0 }, /* 68: 0100 1100 0110 1000 */ {illegal,0 }, /* 69: 0100 1100 0110 1001 */ {illegal,0 }, /* 6a: 0100 1100 0110 1010 */ {illegal,0 }, /* 6b: 0100 1100 0110 1011 */ {illegal,0 }, /* 6c: 0100 1100 0110 1100 */ {illegal,0 }, /* 6d: 0100 1100 0110 1101 */ {illegal,0 }, /* 6e: 0100 1100 0110 1110 */ {illegal,0 }, /* 6f: 0100 1100 0110 1111 */ {illegal,0 }, /* 70: 0100 1100 0111 0000 */ {illegal,0 }, /* 71: 0100 1100 0111 0001 */ {illegal,0 }, /* 72: 0100 1100 0111 0010 */ {illegal,0 }, /* 73: 0100 1100 0111 0011 */ {illegal,0 }, /* 74: 0100 1100 0111 0100 */ {illegal,0 }, /* 75: 0100 1100 0111 0101 */ {illegal,0 }, /* 76: 0100 1100 0111 0110 */ {illegal,0 }, /* 77: 0100 1100 0111 0111 */ {illegal,0 }, /* 78: 0100 1100 0111 1000 */ {illegal,0 }, /* 79: 0100 1100 0111 1001 */ {illegal,0 }, /* 7a: 0100 1100 0111 1010 */ {illegal,0 }, /* 7b: 0100 1100 0111 1011 */ {illegal,0 }, /* 7c: 0100 1100 0111 1100 */ {illegal,0 }, /* 7d: 0100 1100 0111 1101 */ {illegal,0 }, /* 7e: 0100 1100 0111 1110 */ {illegal,0 }, /* 7f: 0100 1100 0111 1111 */ {illegal,0 }, /* 80: 0100 1100 1000 0000 */ {illegal,0 }, /* 81: 0100 1100 1000 0001 */ {illegal,0 }, /* 82: 0100 1100 1000 0010 */ {illegal,0 }, /* 83: 0100 1100 1000 0011 */ {illegal,0 }, /* 84: 0100 1100 1000 0100 */ {illegal,0 }, /* 85: 0100 1100 1000 0101 */ {illegal,0 }, /* 86: 0100 1100 1000 0110 */ {illegal,0 }, /* 87: 0100 1100 1000 0111 */ {illegal,0 }, /* 88: 0100 1100 1000 1000 */ {illegal,0 }, /* 89: 0100 1100 1000 1001 */ {illegal,0 }, /* 8a: 0100 1100 1000 1010 */ {illegal,0 }, /* 8b: 0100 1100 1000 1011 */ {illegal,0 }, /* 8c: 0100 1100 1000 1100 */ {illegal,0 }, /* 8d: 0100 1100 1000 1101 */ {illegal,0 }, /* 8e: 0100 1100 1000 1110 */ {illegal,0 }, /* 8f: 0100 1100 1000 1111 */ {illegal,0 }, /* 90: 0100 1100 1001 0000 */ {illegal,0 }, /* 91: 0100 1100 1001 0001 */ {illegal,0 }, /* 92: 0100 1100 1001 0010 */ {illegal,0 }, /* 93: 0100 1100 1001 0011 */ {illegal,0 }, /* 94: 0100 1100 1001 0100 */ {illegal,0 }, /* 95: 0100 1100 1001 0101 */ {illegal,0 }, /* 96: 0100 1100 1001 0110 */ {illegal,0 }, /* 97: 0100 1100 1001 0111 */ {illegal,0 }, /* 98: 0100 1100 1001 1000 */ {illegal,0 }, /* 99: 0100 1100 1001 1001 */ {illegal,0 }, /* 9a: 0100 1100 1001 1010 */ {illegal,0 }, /* 9b: 0100 1100 1001 1011 */ {illegal,0 }, /* 9c: 0100 1100 1001 1100 */ {illegal,0 }, /* 9d: 0100 1100 1001 1101 */ {illegal,0 }, /* 9e: 0100 1100 1001 1110 */ {illegal,0 }, /* 9f: 0100 1100 1001 1111 */ {illegal,0 }, /* a0: 0100 1100 1010 0000 */ {illegal,0 }, /* a1: 0100 1100 1010 0001 */ {illegal,0 }, /* a2: 0100 1100 1010 0010 */ {illegal,0 }, /* a3: 0100 1100 1010 0011 */ {illegal,0 }, /* a4: 0100 1100 1010 0100 */ {illegal,0 }, /* a5: 0100 1100 1010 0101 */ {illegal,0 }, /* a6: 0100 1100 1010 0110 */ {illegal,0 }, /* a7: 0100 1100 1010 0111 */ {illegal,0 }, /* a8: 0100 1100 1010 1000 */ {illegal,0 }, /* a9: 0100 1100 1010 1001 */ {illegal,0 }, /* aa: 0100 1100 1010 1010 */ {illegal,0 }, /* ab: 0100 1100 1010 1011 */ {illegal,0 }, /* ac: 0100 1100 1010 1100 */ {illegal,0 }, /* ad: 0100 1100 1010 1101 */ {illegal,0 }, /* ae: 0100 1100 1010 1110 */ {illegal,0 }, /* af: 0100 1100 1010 1111 */ {illegal,0 }, /* b0: 0100 1100 1011 0000 */ {illegal,0 }, /* b1: 0100 1100 1011 0001 */ {illegal,0 }, /* b2: 0100 1100 1011 0010 */ {illegal,0 }, /* b3: 0100 1100 1011 0011 */ {illegal,0 }, /* b4: 0100 1100 1011 0100 */ {illegal,0 }, /* b5: 0100 1100 1011 0101 */ {illegal,0 }, /* b6: 0100 1100 1011 0110 */ {illegal,0 }, /* b7: 0100 1100 1011 0111 */ {illegal,0 }, /* b8: 0100 1100 1011 1000 */ {illegal,0 }, /* b9: 0100 1100 1011 1001 */ {illegal,0 }, /* ba: 0100 1100 1011 1010 */ {illegal,0 }, /* bb: 0100 1100 1011 1011 */ {illegal,0 }, /* bc: 0100 1100 1011 1100 */ {illegal,0 }, /* bd: 0100 1100 1011 1101 */ {illegal,0 }, /* be: 0100 1100 1011 1110 */ {illegal,0 }, /* bf: 0100 1100 1011 1111 */ {MOV,"A,PA" }, /* c0: 0100 1100 1100 0000 */ {MOV,"A,PB" }, /* c1: 0100 1100 1100 0001 */ {MOV,"A,PC" }, /* c2: 0100 1100 1100 0010 */ {MOV,"A,PD" }, /* c3: 0100 1100 1100 0011 */ {illegal,0 }, /* c4: 0100 1100 1100 0100 */ {MOV,"A,PF" }, /* c5: 0100 1100 1100 0101 */ {MOV,"A,MKH" }, /* c6: 0100 1100 1100 0110 */ {MOV,"A,MKL" }, /* c7: 0100 1100 1100 0111 */ {MOV,"A,ANM" }, /* c8: 0100 1100 1100 1000 */ /* 7810 */ {MOV,"A,SMH" }, /* c9: 0100 1100 1100 1001 */ {illegal,0 }, /* ca: 0100 1100 1100 1010 */ {MOV,"A,EOM" }, /* cb: 0100 1100 1100 1011 */ {illegal,0 }, /* cc: 0100 1100 1100 1100 */ {MOV,"A,TMM" }, /* cd: 0100 1100 1100 1101 */ {illegal,0 }, /* ce: 0100 1100 1100 1110 */ {illegal,0 }, /* cf: 0100 1100 1100 1111 */ {illegal,0 }, /* d0: 0100 1100 1101 0000 */ {illegal,0 }, /* d1: 0100 1100 1101 0001 */ {illegal,0 }, /* d2: 0100 1100 1101 0010 */ {illegal,0 }, /* d3: 0100 1100 1101 0011 */ {illegal,0 }, /* d4: 0100 1100 1101 0100 */ {illegal,0 }, /* d5: 0100 1100 1101 0101 */ {illegal,0 }, /* d6: 0100 1100 1101 0110 */ {illegal,0 }, /* d7: 0100 1100 1101 0111 */ {illegal,0 }, /* d8: 0100 1100 1101 1000 */ {MOV,"A,RXB" }, /* d9: 0100 1100 1101 1001 */ {illegal,0 }, /* da: 0100 1100 1101 1010 */ {illegal,0 }, /* db: 0100 1100 1101 1011 */ {illegal,0 }, /* dc: 0100 1100 1101 1100 */ {illegal,0 }, /* dd: 0100 1100 1101 1101 */ {illegal,0 }, /* de: 0100 1100 1101 1110 */ {illegal,0 }, /* df: 0100 1100 1101 1111 */ {MOV,"A,CR0" }, /* e0: 0100 1100 1110 0000 */ /* 7810 */ {MOV,"A,CR1" }, /* e1: 0100 1100 1110 0001 */ /* 7810 */ {MOV,"A,CR2" }, /* e2: 0100 1100 1110 0010 */ /* 7810 */ {MOV,"A,CR3" }, /* e3: 0100 1100 1110 0011 */ /* 7810 */ {illegal,0 }, /* e4: 0100 1100 1110 0100 */ {illegal,0 }, /* e5: 0100 1100 1110 0101 */ {illegal,0 }, /* e6: 0100 1100 1110 0110 */ {illegal,0 }, /* e7: 0100 1100 1110 0111 */ {illegal,0 }, /* e8: 0100 1100 1110 1000 */ {illegal,0 }, /* e9: 0100 1100 1110 1001 */ {illegal,0 }, /* ea: 0100 1100 1110 1010 */ {illegal,0 }, /* eb: 0100 1100 1110 1011 */ {illegal,0 }, /* ec: 0100 1100 1110 1100 */ {illegal,0 }, /* ed: 0100 1100 1110 1101 */ {illegal,0 }, /* ee: 0100 1100 1110 1110 */ {illegal,0 }, /* ef: 0100 1100 1110 1111 */ {illegal,0 }, /* f0: 0100 1100 1111 0000 */ {illegal,0 }, /* f1: 0100 1100 1111 0001 */ {illegal,0 }, /* f2: 0100 1100 1111 0010 */ {illegal,0 }, /* f3: 0100 1100 1111 0011 */ {illegal,0 }, /* f4: 0100 1100 1111 0100 */ {illegal,0 }, /* f5: 0100 1100 1111 0101 */ {illegal,0 }, /* f6: 0100 1100 1111 0110 */ {illegal,0 }, /* f7: 0100 1100 1111 0111 */ {illegal,0 }, /* f8: 0100 1100 1111 1000 */ {illegal,0 }, /* f9: 0100 1100 1111 1001 */ {illegal,0 }, /* fa: 0100 1100 1111 1010 */ {illegal,0 }, /* fb: 0100 1100 1111 1011 */ {illegal,0 }, /* fc: 0100 1100 1111 1100 */ {illegal,0 }, /* fd: 0100 1100 1111 1101 */ {illegal,0 }, /* fe: 0100 1100 1111 1110 */ {illegal,0 } /* ff: 0100 1100 1111 1111 */ }; static const struct dasm_s dasm4C_7807[256] = { {illegal,0 }, /* 00: 0100 1100 0000 0000 */ {illegal,0 }, /* 01: 0100 1100 0000 0001 */ {illegal,0 }, /* 02: 0100 1100 0000 0010 */ {illegal,0 }, /* 03: 0100 1100 0000 0011 */ {illegal,0 }, /* 04: 0100 1100 0000 0100 */ {illegal,0 }, /* 05: 0100 1100 0000 0101 */ {illegal,0 }, /* 06: 0100 1100 0000 0110 */ {illegal,0 }, /* 07: 0100 1100 0000 0111 */ {illegal,0 }, /* 08: 0100 1100 0000 1000 */ {illegal,0 }, /* 09: 0100 1100 0000 1001 */ {illegal,0 }, /* 0a: 0100 1100 0000 1010 */ {illegal,0 }, /* 0b: 0100 1100 0000 1011 */ {illegal,0 }, /* 0c: 0100 1100 0000 1100 */ {illegal,0 }, /* 0d: 0100 1100 0000 1101 */ {illegal,0 }, /* 0e: 0100 1100 0000 1110 */ {illegal,0 }, /* 0f: 0100 1100 0000 1111 */ {illegal,0 }, /* 10: 0100 1100 0001 0000 */ {illegal,0 }, /* 11: 0100 1100 0001 0001 */ {illegal,0 }, /* 12: 0100 1100 0001 0010 */ {illegal,0 }, /* 13: 0100 1100 0001 0011 */ {illegal,0 }, /* 14: 0100 1100 0001 0100 */ {illegal,0 }, /* 15: 0100 1100 0001 0101 */ {illegal,0 }, /* 16: 0100 1100 0001 0110 */ {illegal,0 }, /* 17: 0100 1100 0001 0111 */ {illegal,0 }, /* 18: 0100 1100 0001 1000 */ {illegal,0 }, /* 19: 0100 1100 0001 1001 */ {illegal,0 }, /* 1a: 0100 1100 0001 1010 */ {illegal,0 }, /* 1b: 0100 1100 0001 1011 */ {illegal,0 }, /* 1c: 0100 1100 0001 1100 */ {illegal,0 }, /* 1d: 0100 1100 0001 1101 */ {illegal,0 }, /* 1e: 0100 1100 0001 1110 */ {illegal,0 }, /* 1f: 0100 1100 0001 1111 */ {illegal,0 }, /* 20: 0100 1100 0010 0000 */ {illegal,0 }, /* 21: 0100 1100 0010 0001 */ {illegal,0 }, /* 22: 0100 1100 0010 0010 */ {illegal,0 }, /* 23: 0100 1100 0010 0011 */ {illegal,0 }, /* 24: 0100 1100 0010 0100 */ {illegal,0 }, /* 25: 0100 1100 0010 0101 */ {illegal,0 }, /* 26: 0100 1100 0010 0110 */ {illegal,0 }, /* 27: 0100 1100 0010 0111 */ {illegal,0 }, /* 28: 0100 1100 0010 1000 */ {illegal,0 }, /* 29: 0100 1100 0010 1001 */ {illegal,0 }, /* 2a: 0100 1100 0010 1010 */ {illegal,0 }, /* 2b: 0100 1100 0010 1011 */ {illegal,0 }, /* 2c: 0100 1100 0010 1100 */ {illegal,0 }, /* 2d: 0100 1100 0010 1101 */ {illegal,0 }, /* 2e: 0100 1100 0010 1110 */ {illegal,0 }, /* 2f: 0100 1100 0010 1111 */ {illegal,0 }, /* 30: 0100 1100 0011 0000 */ {illegal,0 }, /* 31: 0100 1100 0011 0001 */ {illegal,0 }, /* 32: 0100 1100 0011 0010 */ {illegal,0 }, /* 33: 0100 1100 0011 0011 */ {illegal,0 }, /* 34: 0100 1100 0011 0100 */ {illegal,0 }, /* 35: 0100 1100 0011 0101 */ {illegal,0 }, /* 36: 0100 1100 0011 0110 */ {illegal,0 }, /* 37: 0100 1100 0011 0111 */ {illegal,0 }, /* 38: 0100 1100 0011 1000 */ {illegal,0 }, /* 39: 0100 1100 0011 1001 */ {illegal,0 }, /* 3a: 0100 1100 0011 1010 */ {illegal,0 }, /* 3b: 0100 1100 0011 1011 */ {illegal,0 }, /* 3c: 0100 1100 0011 1100 */ {illegal,0 }, /* 3d: 0100 1100 0011 1101 */ {illegal,0 }, /* 3e: 0100 1100 0011 1110 */ {illegal,0 }, /* 3f: 0100 1100 0011 1111 */ {illegal,0 }, /* 40: 0100 1100 0100 0000 */ {illegal,0 }, /* 41: 0100 1100 0100 0001 */ {illegal,0 }, /* 42: 0100 1100 0100 0010 */ {illegal,0 }, /* 43: 0100 1100 0100 0011 */ {illegal,0 }, /* 44: 0100 1100 0100 0100 */ {illegal,0 }, /* 45: 0100 1100 0100 0101 */ {illegal,0 }, /* 46: 0100 1100 0100 0110 */ {illegal,0 }, /* 47: 0100 1100 0100 0111 */ {illegal,0 }, /* 48: 0100 1100 0100 1000 */ {illegal,0 }, /* 49: 0100 1100 0100 1001 */ {illegal,0 }, /* 4a: 0100 1100 0100 1010 */ {illegal,0 }, /* 4b: 0100 1100 0100 1011 */ {illegal,0 }, /* 4c: 0100 1100 0100 1100 */ {illegal,0 }, /* 4d: 0100 1100 0100 1101 */ {illegal,0 }, /* 4e: 0100 1100 0100 1110 */ {illegal,0 }, /* 4f: 0100 1100 0100 1111 */ {illegal,0 }, /* 50: 0100 1100 0101 0000 */ {illegal,0 }, /* 51: 0100 1100 0101 0001 */ {illegal,0 }, /* 52: 0100 1100 0101 0010 */ {illegal,0 }, /* 53: 0100 1100 0101 0011 */ {illegal,0 }, /* 54: 0100 1100 0101 0100 */ {illegal,0 }, /* 55: 0100 1100 0101 0101 */ {illegal,0 }, /* 56: 0100 1100 0101 0110 */ {illegal,0 }, /* 57: 0100 1100 0101 0111 */ {illegal,0 }, /* 58: 0100 1100 0101 1000 */ {illegal,0 }, /* 59: 0100 1100 0101 1001 */ {illegal,0 }, /* 5a: 0100 1100 0101 1010 */ {illegal,0 }, /* 5b: 0100 1100 0101 1011 */ {illegal,0 }, /* 5c: 0100 1100 0101 1100 */ {illegal,0 }, /* 5d: 0100 1100 0101 1101 */ {illegal,0 }, /* 5e: 0100 1100 0101 1110 */ {illegal,0 }, /* 5f: 0100 1100 0101 1111 */ {illegal,0 }, /* 60: 0100 1100 0110 0000 */ {illegal,0 }, /* 61: 0100 1100 0110 0001 */ {illegal,0 }, /* 62: 0100 1100 0110 0010 */ {illegal,0 }, /* 63: 0100 1100 0110 0011 */ {illegal,0 }, /* 64: 0100 1100 0110 0100 */ {illegal,0 }, /* 65: 0100 1100 0110 0101 */ {illegal,0 }, /* 66: 0100 1100 0110 0110 */ {illegal,0 }, /* 67: 0100 1100 0110 0111 */ {illegal,0 }, /* 68: 0100 1100 0110 1000 */ {illegal,0 }, /* 69: 0100 1100 0110 1001 */ {illegal,0 }, /* 6a: 0100 1100 0110 1010 */ {illegal,0 }, /* 6b: 0100 1100 0110 1011 */ {illegal,0 }, /* 6c: 0100 1100 0110 1100 */ {illegal,0 }, /* 6d: 0100 1100 0110 1101 */ {illegal,0 }, /* 6e: 0100 1100 0110 1110 */ {illegal,0 }, /* 6f: 0100 1100 0110 1111 */ {illegal,0 }, /* 70: 0100 1100 0111 0000 */ {illegal,0 }, /* 71: 0100 1100 0111 0001 */ {illegal,0 }, /* 72: 0100 1100 0111 0010 */ {illegal,0 }, /* 73: 0100 1100 0111 0011 */ {illegal,0 }, /* 74: 0100 1100 0111 0100 */ {illegal,0 }, /* 75: 0100 1100 0111 0101 */ {illegal,0 }, /* 76: 0100 1100 0111 0110 */ {illegal,0 }, /* 77: 0100 1100 0111 0111 */ {illegal,0 }, /* 78: 0100 1100 0111 1000 */ {illegal,0 }, /* 79: 0100 1100 0111 1001 */ {illegal,0 }, /* 7a: 0100 1100 0111 1010 */ {illegal,0 }, /* 7b: 0100 1100 0111 1011 */ {illegal,0 }, /* 7c: 0100 1100 0111 1100 */ {illegal,0 }, /* 7d: 0100 1100 0111 1101 */ {illegal,0 }, /* 7e: 0100 1100 0111 1110 */ {illegal,0 }, /* 7f: 0100 1100 0111 1111 */ {illegal,0 }, /* 80: 0100 1100 1000 0000 */ {illegal,0 }, /* 81: 0100 1100 1000 0001 */ {illegal,0 }, /* 82: 0100 1100 1000 0010 */ {illegal,0 }, /* 83: 0100 1100 1000 0011 */ {illegal,0 }, /* 84: 0100 1100 1000 0100 */ {illegal,0 }, /* 85: 0100 1100 1000 0101 */ {illegal,0 }, /* 86: 0100 1100 1000 0110 */ {illegal,0 }, /* 87: 0100 1100 1000 0111 */ {illegal,0 }, /* 88: 0100 1100 1000 1000 */ {illegal,0 }, /* 89: 0100 1100 1000 1001 */ {illegal,0 }, /* 8a: 0100 1100 1000 1010 */ {illegal,0 }, /* 8b: 0100 1100 1000 1011 */ {illegal,0 }, /* 8c: 0100 1100 1000 1100 */ {illegal,0 }, /* 8d: 0100 1100 1000 1101 */ {illegal,0 }, /* 8e: 0100 1100 1000 1110 */ {illegal,0 }, /* 8f: 0100 1100 1000 1111 */ {illegal,0 }, /* 90: 0100 1100 1001 0000 */ {illegal,0 }, /* 91: 0100 1100 1001 0001 */ {illegal,0 }, /* 92: 0100 1100 1001 0010 */ {illegal,0 }, /* 93: 0100 1100 1001 0011 */ {illegal,0 }, /* 94: 0100 1100 1001 0100 */ {illegal,0 }, /* 95: 0100 1100 1001 0101 */ {illegal,0 }, /* 96: 0100 1100 1001 0110 */ {illegal,0 }, /* 97: 0100 1100 1001 0111 */ {illegal,0 }, /* 98: 0100 1100 1001 1000 */ {illegal,0 }, /* 99: 0100 1100 1001 1001 */ {illegal,0 }, /* 9a: 0100 1100 1001 1010 */ {illegal,0 }, /* 9b: 0100 1100 1001 1011 */ {illegal,0 }, /* 9c: 0100 1100 1001 1100 */ {illegal,0 }, /* 9d: 0100 1100 1001 1101 */ {illegal,0 }, /* 9e: 0100 1100 1001 1110 */ {illegal,0 }, /* 9f: 0100 1100 1001 1111 */ {illegal,0 }, /* a0: 0100 1100 1010 0000 */ {illegal,0 }, /* a1: 0100 1100 1010 0001 */ {illegal,0 }, /* a2: 0100 1100 1010 0010 */ {illegal,0 }, /* a3: 0100 1100 1010 0011 */ {illegal,0 }, /* a4: 0100 1100 1010 0100 */ {illegal,0 }, /* a5: 0100 1100 1010 0101 */ {illegal,0 }, /* a6: 0100 1100 1010 0110 */ {illegal,0 }, /* a7: 0100 1100 1010 0111 */ {illegal,0 }, /* a8: 0100 1100 1010 1000 */ {illegal,0 }, /* a9: 0100 1100 1010 1001 */ {illegal,0 }, /* aa: 0100 1100 1010 1010 */ {illegal,0 }, /* ab: 0100 1100 1010 1011 */ {illegal,0 }, /* ac: 0100 1100 1010 1100 */ {illegal,0 }, /* ad: 0100 1100 1010 1101 */ {illegal,0 }, /* ae: 0100 1100 1010 1110 */ {illegal,0 }, /* af: 0100 1100 1010 1111 */ {illegal,0 }, /* b0: 0100 1100 1011 0000 */ {illegal,0 }, /* b1: 0100 1100 1011 0001 */ {illegal,0 }, /* b2: 0100 1100 1011 0010 */ {illegal,0 }, /* b3: 0100 1100 1011 0011 */ {illegal,0 }, /* b4: 0100 1100 1011 0100 */ {illegal,0 }, /* b5: 0100 1100 1011 0101 */ {illegal,0 }, /* b6: 0100 1100 1011 0110 */ {illegal,0 }, /* b7: 0100 1100 1011 0111 */ {illegal,0 }, /* b8: 0100 1100 1011 1000 */ {illegal,0 }, /* b9: 0100 1100 1011 1001 */ {illegal,0 }, /* ba: 0100 1100 1011 1010 */ {illegal,0 }, /* bb: 0100 1100 1011 1011 */ {illegal,0 }, /* bc: 0100 1100 1011 1100 */ {illegal,0 }, /* bd: 0100 1100 1011 1101 */ {illegal,0 }, /* be: 0100 1100 1011 1110 */ {illegal,0 }, /* bf: 0100 1100 1011 1111 */ {MOV,"A,PA" }, /* c0: 0100 1100 1100 0000 */ {MOV,"A,PB" }, /* c1: 0100 1100 1100 0001 */ {MOV,"A,PC" }, /* c2: 0100 1100 1100 0010 */ {MOV,"A,PD" }, /* c3: 0100 1100 1100 0011 */ {illegal,0 }, /* c4: 0100 1100 1100 0100 */ {MOV,"A,PF" }, /* c5: 0100 1100 1100 0101 */ {MOV,"A,MKH" }, /* c6: 0100 1100 1100 0110 */ {MOV,"A,MKL" }, /* c7: 0100 1100 1100 0111 */ {illegal,0 }, /* c8: 0100 1100 1100 1000 */ {MOV,"A,SMH" }, /* c9: 0100 1100 1100 1001 */ {illegal,0 }, /* ca: 0100 1100 1100 1010 */ {MOV,"A,EOM" }, /* cb: 0100 1100 1100 1011 */ {illegal,0 }, /* cc: 0100 1100 1100 1100 */ {MOV,"A,TMM" }, /* cd: 0100 1100 1100 1101 */ {MOV,"A,PT" }, /* ce: 0100 1100 1100 1110 */ /* 7807 */ {illegal,0 }, /* cf: 0100 1100 1100 1111 */ {illegal,0 }, /* d0: 0100 1100 1101 0000 */ {illegal,0 }, /* d1: 0100 1100 1101 0001 */ {illegal,0 }, /* d2: 0100 1100 1101 0010 */ {illegal,0 }, /* d3: 0100 1100 1101 0011 */ {illegal,0 }, /* d4: 0100 1100 1101 0100 */ {illegal,0 }, /* d5: 0100 1100 1101 0101 */ {illegal,0 }, /* d6: 0100 1100 1101 0110 */ {illegal,0 }, /* d7: 0100 1100 1101 0111 */ {illegal,0 }, /* d8: 0100 1100 1101 1000 */ {MOV,"A,RXB" }, /* d9: 0100 1100 1101 1001 */ {illegal,0 }, /* da: 0100 1100 1101 1010 */ {illegal,0 }, /* db: 0100 1100 1101 1011 */ {illegal,0 }, /* dc: 0100 1100 1101 1100 */ {illegal,0 }, /* dd: 0100 1100 1101 1101 */ {illegal,0 }, /* de: 0100 1100 1101 1110 */ {illegal,0 }, /* df: 0100 1100 1101 1111 */ {illegal,0 }, /* e0: 0100 1100 1110 0000 */ {illegal,0 }, /* e1: 0100 1100 1110 0001 */ {illegal,0 }, /* e2: 0100 1100 1110 0010 */ {illegal,0 }, /* e3: 0100 1100 1110 0011 */ {illegal,0 }, /* e4: 0100 1100 1110 0100 */ {illegal,0 }, /* e5: 0100 1100 1110 0101 */ {illegal,0 }, /* e6: 0100 1100 1110 0110 */ {illegal,0 }, /* e7: 0100 1100 1110 0111 */ {illegal,0 }, /* e8: 0100 1100 1110 1000 */ {illegal,0 }, /* e9: 0100 1100 1110 1001 */ {illegal,0 }, /* ea: 0100 1100 1110 1010 */ {illegal,0 }, /* eb: 0100 1100 1110 1011 */ {illegal,0 }, /* ec: 0100 1100 1110 1100 */ {illegal,0 }, /* ed: 0100 1100 1110 1101 */ {illegal,0 }, /* ee: 0100 1100 1110 1110 */ {illegal,0 }, /* ef: 0100 1100 1110 1111 */ {illegal,0 }, /* f0: 0100 1100 1111 0000 */ {illegal,0 }, /* f1: 0100 1100 1111 0001 */ {illegal,0 }, /* f2: 0100 1100 1111 0010 */ {illegal,0 }, /* f3: 0100 1100 1111 0011 */ {illegal,0 }, /* f4: 0100 1100 1111 0100 */ {illegal,0 }, /* f5: 0100 1100 1111 0101 */ {illegal,0 }, /* f6: 0100 1100 1111 0110 */ {illegal,0 }, /* f7: 0100 1100 1111 0111 */ {illegal,0 }, /* f8: 0100 1100 1111 1000 */ {illegal,0 }, /* f9: 0100 1100 1111 1001 */ {illegal,0 }, /* fa: 0100 1100 1111 1010 */ {illegal,0 }, /* fb: 0100 1100 1111 1011 */ {illegal,0 }, /* fc: 0100 1100 1111 1100 */ {illegal,0 }, /* fd: 0100 1100 1111 1101 */ {illegal,0 }, /* fe: 0100 1100 1111 1110 */ {illegal,0 } /* ff: 0100 1100 1111 1111 */ }; /* prefix 4D */ static const struct dasm_s dasm4D_7810[256] = { {illegal,0 }, /* 00: 0100 1101 0000 0000 */ {illegal,0 }, /* 01: 0100 1101 0000 0001 */ {illegal,0 }, /* 02: 0100 1101 0000 0010 */ {illegal,0 }, /* 03: 0100 1101 0000 0011 */ {illegal,0 }, /* 04: 0100 1101 0000 0100 */ {illegal,0 }, /* 05: 0100 1101 0000 0101 */ {illegal,0 }, /* 06: 0100 1101 0000 0110 */ {illegal,0 }, /* 07: 0100 1101 0000 0111 */ {illegal,0 }, /* 08: 0100 1101 0000 1000 */ {illegal,0 }, /* 09: 0100 1101 0000 1001 */ {illegal,0 }, /* 0a: 0100 1101 0000 1010 */ {illegal,0 }, /* 0b: 0100 1101 0000 1011 */ {illegal,0 }, /* 0c: 0100 1101 0000 1100 */ {illegal,0 }, /* 0d: 0100 1101 0000 1101 */ {illegal,0 }, /* 0e: 0100 1101 0000 1110 */ {illegal,0 }, /* 0f: 0100 1101 0000 1111 */ {illegal,0 }, /* 10: 0100 1101 0001 0000 */ {illegal,0 }, /* 11: 0100 1101 0001 0001 */ {illegal,0 }, /* 12: 0100 1101 0001 0010 */ {illegal,0 }, /* 13: 0100 1101 0001 0011 */ {illegal,0 }, /* 14: 0100 1101 0001 0100 */ {illegal,0 }, /* 15: 0100 1101 0001 0101 */ {illegal,0 }, /* 16: 0100 1101 0001 0110 */ {illegal,0 }, /* 17: 0100 1101 0001 0111 */ {illegal,0 }, /* 18: 0100 1101 0001 1000 */ {illegal,0 }, /* 19: 0100 1101 0001 1001 */ {illegal,0 }, /* 1a: 0100 1101 0001 1010 */ {illegal,0 }, /* 1b: 0100 1101 0001 1011 */ {illegal,0 }, /* 1c: 0100 1101 0001 1100 */ {illegal,0 }, /* 1d: 0100 1101 0001 1101 */ {illegal,0 }, /* 1e: 0100 1101 0001 1110 */ {illegal,0 }, /* 1f: 0100 1101 0001 1111 */ {illegal,0 }, /* 20: 0100 1101 0010 0000 */ {illegal,0 }, /* 21: 0100 1101 0010 0001 */ {illegal,0 }, /* 22: 0100 1101 0010 0010 */ {illegal,0 }, /* 23: 0100 1101 0010 0011 */ {illegal,0 }, /* 24: 0100 1101 0010 0100 */ {illegal,0 }, /* 25: 0100 1101 0010 0101 */ {illegal,0 }, /* 26: 0100 1101 0010 0110 */ {illegal,0 }, /* 27: 0100 1101 0010 0111 */ {illegal,0 }, /* 28: 0100 1101 0010 1000 */ {illegal,0 }, /* 29: 0100 1101 0010 1001 */ {illegal,0 }, /* 2a: 0100 1101 0010 1010 */ {illegal,0 }, /* 2b: 0100 1101 0010 1011 */ {illegal,0 }, /* 2c: 0100 1101 0010 1100 */ {illegal,0 }, /* 2d: 0100 1101 0010 1101 */ {illegal,0 }, /* 2e: 0100 1101 0010 1110 */ {illegal,0 }, /* 2f: 0100 1101 0010 1111 */ {illegal,0 }, /* 30: 0100 1101 0011 0000 */ {illegal,0 }, /* 31: 0100 1101 0011 0001 */ {illegal,0 }, /* 32: 0100 1101 0011 0010 */ {illegal,0 }, /* 33: 0100 1101 0011 0011 */ {illegal,0 }, /* 34: 0100 1101 0011 0100 */ {illegal,0 }, /* 35: 0100 1101 0011 0101 */ {illegal,0 }, /* 36: 0100 1101 0011 0110 */ {illegal,0 }, /* 37: 0100 1101 0011 0111 */ {illegal,0 }, /* 38: 0100 1101 0011 1000 */ {illegal,0 }, /* 39: 0100 1101 0011 1001 */ {illegal,0 }, /* 3a: 0100 1101 0011 1010 */ {illegal,0 }, /* 3b: 0100 1101 0011 1011 */ {illegal,0 }, /* 3c: 0100 1101 0011 1100 */ {illegal,0 }, /* 3d: 0100 1101 0011 1101 */ {illegal,0 }, /* 3e: 0100 1101 0011 1110 */ {illegal,0 }, /* 3f: 0100 1101 0011 1111 */ {illegal,0 }, /* 40: 0100 1101 0100 0000 */ {illegal,0 }, /* 41: 0100 1101 0100 0001 */ {illegal,0 }, /* 42: 0100 1101 0100 0010 */ {illegal,0 }, /* 43: 0100 1101 0100 0011 */ {illegal,0 }, /* 44: 0100 1101 0100 0100 */ {illegal,0 }, /* 45: 0100 1101 0100 0101 */ {illegal,0 }, /* 46: 0100 1101 0100 0110 */ {illegal,0 }, /* 47: 0100 1101 0100 0111 */ {illegal,0 }, /* 48: 0100 1101 0100 1000 */ {illegal,0 }, /* 49: 0100 1101 0100 1001 */ {illegal,0 }, /* 4a: 0100 1101 0100 1010 */ {illegal,0 }, /* 4b: 0100 1101 0100 1011 */ {illegal,0 }, /* 4c: 0100 1101 0100 1100 */ {illegal,0 }, /* 4d: 0100 1101 0100 1101 */ {illegal,0 }, /* 4e: 0100 1101 0100 1110 */ {illegal,0 }, /* 4f: 0100 1101 0100 1111 */ {illegal,0 }, /* 50: 0100 1101 0101 0000 */ {illegal,0 }, /* 51: 0100 1101 0101 0001 */ {illegal,0 }, /* 52: 0100 1101 0101 0010 */ {illegal,0 }, /* 53: 0100 1101 0101 0011 */ {illegal,0 }, /* 54: 0100 1101 0101 0100 */ {illegal,0 }, /* 55: 0100 1101 0101 0101 */ {illegal,0 }, /* 56: 0100 1101 0101 0110 */ {illegal,0 }, /* 57: 0100 1101 0101 0111 */ {illegal,0 }, /* 58: 0100 1101 0101 1000 */ {illegal,0 }, /* 59: 0100 1101 0101 1001 */ {illegal,0 }, /* 5a: 0100 1101 0101 1010 */ {illegal,0 }, /* 5b: 0100 1101 0101 1011 */ {illegal,0 }, /* 5c: 0100 1101 0101 1100 */ {illegal,0 }, /* 5d: 0100 1101 0101 1101 */ {illegal,0 }, /* 5e: 0100 1101 0101 1110 */ {illegal,0 }, /* 5f: 0100 1101 0101 1111 */ {illegal,0 }, /* 60: 0100 1101 0110 0000 */ {illegal,0 }, /* 61: 0100 1101 0110 0001 */ {illegal,0 }, /* 62: 0100 1101 0110 0010 */ {illegal,0 }, /* 63: 0100 1101 0110 0011 */ {illegal,0 }, /* 64: 0100 1101 0110 0100 */ {illegal,0 }, /* 65: 0100 1101 0110 0101 */ {illegal,0 }, /* 66: 0100 1101 0110 0110 */ {illegal,0 }, /* 67: 0100 1101 0110 0111 */ {illegal,0 }, /* 68: 0100 1101 0110 1000 */ {illegal,0 }, /* 69: 0100 1101 0110 1001 */ {illegal,0 }, /* 6a: 0100 1101 0110 1010 */ {illegal,0 }, /* 6b: 0100 1101 0110 1011 */ {illegal,0 }, /* 6c: 0100 1101 0110 1100 */ {illegal,0 }, /* 6d: 0100 1101 0110 1101 */ {illegal,0 }, /* 6e: 0100 1101 0110 1110 */ {illegal,0 }, /* 6f: 0100 1101 0110 1111 */ {illegal,0 }, /* 70: 0100 1101 0111 0000 */ {illegal,0 }, /* 71: 0100 1101 0111 0001 */ {illegal,0 }, /* 72: 0100 1101 0111 0010 */ {illegal,0 }, /* 73: 0100 1101 0111 0011 */ {illegal,0 }, /* 74: 0100 1101 0111 0100 */ {illegal,0 }, /* 75: 0100 1101 0111 0101 */ {illegal,0 }, /* 76: 0100 1101 0111 0110 */ {illegal,0 }, /* 77: 0100 1101 0111 0111 */ {illegal,0 }, /* 78: 0100 1101 0111 1000 */ {illegal,0 }, /* 79: 0100 1101 0111 1001 */ {illegal,0 }, /* 7a: 0100 1101 0111 1010 */ {illegal,0 }, /* 7b: 0100 1101 0111 1011 */ {illegal,0 }, /* 7c: 0100 1101 0111 1100 */ {illegal,0 }, /* 7d: 0100 1101 0111 1101 */ {illegal,0 }, /* 7e: 0100 1101 0111 1110 */ {illegal,0 }, /* 7f: 0100 1101 0111 1111 */ {illegal,0 }, /* 80: 0100 1101 1000 0000 */ {illegal,0 }, /* 81: 0100 1101 1000 0001 */ {illegal,0 }, /* 82: 0100 1101 1000 0010 */ {illegal,0 }, /* 83: 0100 1101 1000 0011 */ {illegal,0 }, /* 84: 0100 1101 1000 0100 */ {illegal,0 }, /* 85: 0100 1101 1000 0101 */ {illegal,0 }, /* 86: 0100 1101 1000 0110 */ {illegal,0 }, /* 87: 0100 1101 1000 0111 */ {illegal,0 }, /* 88: 0100 1101 1000 1000 */ {illegal,0 }, /* 89: 0100 1101 1000 1001 */ {illegal,0 }, /* 8a: 0100 1101 1000 1010 */ {illegal,0 }, /* 8b: 0100 1101 1000 1011 */ {illegal,0 }, /* 8c: 0100 1101 1000 1100 */ {illegal,0 }, /* 8d: 0100 1101 1000 1101 */ {illegal,0 }, /* 8e: 0100 1101 1000 1110 */ {illegal,0 }, /* 8f: 0100 1101 1000 1111 */ {illegal,0 }, /* 90: 0100 1101 1001 0000 */ {illegal,0 }, /* 91: 0100 1101 1001 0001 */ {illegal,0 }, /* 92: 0100 1101 1001 0010 */ {illegal,0 }, /* 93: 0100 1101 1001 0011 */ {illegal,0 }, /* 94: 0100 1101 1001 0100 */ {illegal,0 }, /* 95: 0100 1101 1001 0101 */ {illegal,0 }, /* 96: 0100 1101 1001 0110 */ {illegal,0 }, /* 97: 0100 1101 1001 0111 */ {illegal,0 }, /* 98: 0100 1101 1001 1000 */ {illegal,0 }, /* 99: 0100 1101 1001 1001 */ {illegal,0 }, /* 9a: 0100 1101 1001 1010 */ {illegal,0 }, /* 9b: 0100 1101 1001 1011 */ {illegal,0 }, /* 9c: 0100 1101 1001 1100 */ {illegal,0 }, /* 9d: 0100 1101 1001 1101 */ {illegal,0 }, /* 9e: 0100 1101 1001 1110 */ {illegal,0 }, /* 9f: 0100 1101 1001 1111 */ {illegal,0 }, /* a0: 0100 1101 1010 0000 */ {illegal,0 }, /* a1: 0100 1101 1010 0001 */ {illegal,0 }, /* a2: 0100 1101 1010 0010 */ {illegal,0 }, /* a3: 0100 1101 1010 0011 */ {illegal,0 }, /* a4: 0100 1101 1010 0100 */ {illegal,0 }, /* a5: 0100 1101 1010 0101 */ {illegal,0 }, /* a6: 0100 1101 1010 0110 */ {illegal,0 }, /* a7: 0100 1101 1010 0111 */ {illegal,0 }, /* a8: 0100 1101 1010 1000 */ {illegal,0 }, /* a9: 0100 1101 1010 1001 */ {illegal,0 }, /* aa: 0100 1101 1010 1010 */ {illegal,0 }, /* ab: 0100 1101 1010 1011 */ {illegal,0 }, /* ac: 0100 1101 1010 1100 */ {illegal,0 }, /* ad: 0100 1101 1010 1101 */ {illegal,0 }, /* ae: 0100 1101 1010 1110 */ {illegal,0 }, /* af: 0100 1101 1010 1111 */ {illegal,0 }, /* b0: 0100 1101 1011 0000 */ {illegal,0 }, /* b1: 0100 1101 1011 0001 */ {illegal,0 }, /* b2: 0100 1101 1011 0010 */ {illegal,0 }, /* b3: 0100 1101 1011 0011 */ {illegal,0 }, /* b4: 0100 1101 1011 0100 */ {illegal,0 }, /* b5: 0100 1101 1011 0101 */ {illegal,0 }, /* b6: 0100 1101 1011 0110 */ {illegal,0 }, /* b7: 0100 1101 1011 0111 */ {illegal,0 }, /* b8: 0100 1101 1011 1000 */ {illegal,0 }, /* b9: 0100 1101 1011 1001 */ {illegal,0 }, /* ba: 0100 1101 1011 1010 */ {illegal,0 }, /* bb: 0100 1101 1011 1011 */ {illegal,0 }, /* bc: 0100 1101 1011 1100 */ {illegal,0 }, /* bd: 0100 1101 1011 1101 */ {illegal,0 }, /* be: 0100 1101 1011 1110 */ {illegal,0 }, /* bf: 0100 1101 1011 1111 */ {MOV,"PA,A" }, /* c0: 0100 1101 1100 0000 */ {MOV,"PB,A" }, /* c1: 0100 1101 1100 0001 */ {MOV,"PC,A" }, /* c2: 0100 1101 1100 0010 */ {MOV,"PD,A" }, /* c3: 0100 1101 1100 0011 */ {illegal,0 }, /* c4: 0100 1101 1100 0100 */ {MOV,"PF,A" }, /* c5: 0100 1101 1100 0101 */ {MOV,"MKH,A" }, /* c6: 0100 1101 1100 0110 */ {MOV,"MKL,A" }, /* c7: 0100 1101 1100 0111 */ {MOV,"ANM,A" }, /* c8: 0100 1101 1100 1000 */ /* 7810 */ {MOV,"SMH,A" }, /* c9: 0100 1101 1100 1001 */ {MOV,"SML,A" }, /* ca: 0100 1101 1100 1010 */ {MOV,"EOM,A" }, /* cb: 0100 1101 1100 1011 */ {MOV,"ETMM,A" }, /* cc: 0100 1101 1100 1100 */ {MOV,"TMM,A" }, /* cd: 0100 1101 1100 1101 */ {illegal,0 }, /* ce: 0100 1101 1100 1110 */ {illegal,0 }, /* cf: 0100 1101 1100 1111 */ {MOV,"MM,A" }, /* d0: 0100 1101 1101 0000 */ {MOV,"MCC,A" }, /* d1: 0100 1101 1101 0001 */ {MOV,"MA,A" }, /* d2: 0100 1101 1101 0010 */ {MOV,"MB,A" }, /* d3: 0100 1101 1101 0011 */ {MOV,"MC,A" }, /* d4: 0100 1101 1101 0100 */ {illegal,0 }, /* d5: 0100 1101 1101 0101 */ {illegal,0 }, /* d6: 0100 1101 1101 0110 */ {MOV,"MF,A" }, /* d7: 0100 1101 1101 0111 */ {MOV,"TXB,A" }, /* d8: 0100 1101 1101 1000 */ {illegal,0 }, /* d9: 0100 1101 1101 1001 */ {MOV,"TM0,A" }, /* da: 0100 1101 1101 1010 */ {MOV,"TM1,A" }, /* db: 0100 1101 1101 1011 */ {illegal,0 }, /* dc: 0100 1101 1101 1100 */ {illegal,0 }, /* dd: 0100 1101 1101 1101 */ {illegal,0 }, /* de: 0100 1101 1101 1110 */ {illegal,0 }, /* df: 0100 1101 1101 1111 */ {illegal,0 }, /* e0: 0100 1101 1110 0000 */ {illegal,0 }, /* e1: 0100 1101 1110 0001 */ {illegal,0 }, /* e2: 0100 1101 1110 0010 */ {illegal,0 }, /* e3: 0100 1101 1110 0011 */ {illegal,0 }, /* e4: 0100 1101 1110 0100 */ {illegal,0 }, /* e5: 0100 1101 1110 0101 */ {illegal,0 }, /* e6: 0100 1101 1110 0110 */ {illegal,0 }, /* e7: 0100 1101 1110 0111 */ {MOV,"ZCM,A" }, /* e8: 0100 1101 1110 1000 */ /* 7810 */ {illegal,0 }, /* e9: 0100 1101 1110 1001 */ {illegal,0 }, /* ea: 0100 1101 1110 1010 */ {illegal,0 }, /* eb: 0100 1101 1110 1011 */ {illegal,0 }, /* ec: 0100 1101 1110 1100 */ {illegal,0 }, /* ed: 0100 1101 1110 1101 */ {illegal,0 }, /* ee: 0100 1101 1110 1110 */ {illegal,0 }, /* ef: 0100 1101 1110 1111 */ {illegal,0 }, /* f0: 0100 1101 1111 0000 */ {illegal,0 }, /* f1: 0100 1101 1111 0001 */ {illegal,0 }, /* f2: 0100 1101 1111 0010 */ {illegal,0 }, /* f3: 0100 1101 1111 0011 */ {illegal,0 }, /* f4: 0100 1101 1111 0100 */ {illegal,0 }, /* f5: 0100 1101 1111 0101 */ {illegal,0 }, /* f6: 0100 1101 1111 0110 */ {illegal,0 }, /* f7: 0100 1101 1111 0111 */ {illegal,0 }, /* f8: 0100 1101 1111 1000 */ {illegal,0 }, /* f9: 0100 1101 1111 1001 */ {illegal,0 }, /* fa: 0100 1101 1111 1010 */ {illegal,0 }, /* fb: 0100 1101 1111 1011 */ {illegal,0 }, /* fc: 0100 1101 1111 1100 */ {illegal,0 }, /* fd: 0100 1101 1111 1101 */ {illegal,0 }, /* fe: 0100 1101 1111 1110 */ {illegal,0 } /* ff: 0100 1101 1111 1111 */ }; static const struct dasm_s dasm4D_7807[256] = { {illegal,0 }, /* 00: 0100 1101 0000 0000 */ {illegal,0 }, /* 01: 0100 1101 0000 0001 */ {illegal,0 }, /* 02: 0100 1101 0000 0010 */ {illegal,0 }, /* 03: 0100 1101 0000 0011 */ {illegal,0 }, /* 04: 0100 1101 0000 0100 */ {illegal,0 }, /* 05: 0100 1101 0000 0101 */ {illegal,0 }, /* 06: 0100 1101 0000 0110 */ {illegal,0 }, /* 07: 0100 1101 0000 0111 */ {illegal,0 }, /* 08: 0100 1101 0000 1000 */ {illegal,0 }, /* 09: 0100 1101 0000 1001 */ {illegal,0 }, /* 0a: 0100 1101 0000 1010 */ {illegal,0 }, /* 0b: 0100 1101 0000 1011 */ {illegal,0 }, /* 0c: 0100 1101 0000 1100 */ {illegal,0 }, /* 0d: 0100 1101 0000 1101 */ {illegal,0 }, /* 0e: 0100 1101 0000 1110 */ {illegal,0 }, /* 0f: 0100 1101 0000 1111 */ {illegal,0 }, /* 10: 0100 1101 0001 0000 */ {illegal,0 }, /* 11: 0100 1101 0001 0001 */ {illegal,0 }, /* 12: 0100 1101 0001 0010 */ {illegal,0 }, /* 13: 0100 1101 0001 0011 */ {illegal,0 }, /* 14: 0100 1101 0001 0100 */ {illegal,0 }, /* 15: 0100 1101 0001 0101 */ {illegal,0 }, /* 16: 0100 1101 0001 0110 */ {illegal,0 }, /* 17: 0100 1101 0001 0111 */ {illegal,0 }, /* 18: 0100 1101 0001 1000 */ {illegal,0 }, /* 19: 0100 1101 0001 1001 */ {illegal,0 }, /* 1a: 0100 1101 0001 1010 */ {illegal,0 }, /* 1b: 0100 1101 0001 1011 */ {illegal,0 }, /* 1c: 0100 1101 0001 1100 */ {illegal,0 }, /* 1d: 0100 1101 0001 1101 */ {illegal,0 }, /* 1e: 0100 1101 0001 1110 */ {illegal,0 }, /* 1f: 0100 1101 0001 1111 */ {illegal,0 }, /* 20: 0100 1101 0010 0000 */ {illegal,0 }, /* 21: 0100 1101 0010 0001 */ {illegal,0 }, /* 22: 0100 1101 0010 0010 */ {illegal,0 }, /* 23: 0100 1101 0010 0011 */ {illegal,0 }, /* 24: 0100 1101 0010 0100 */ {illegal,0 }, /* 25: 0100 1101 0010 0101 */ {illegal,0 }, /* 26: 0100 1101 0010 0110 */ {illegal,0 }, /* 27: 0100 1101 0010 0111 */ {illegal,0 }, /* 28: 0100 1101 0010 1000 */ {illegal,0 }, /* 29: 0100 1101 0010 1001 */ {illegal,0 }, /* 2a: 0100 1101 0010 1010 */ {illegal,0 }, /* 2b: 0100 1101 0010 1011 */ {illegal,0 }, /* 2c: 0100 1101 0010 1100 */ {illegal,0 }, /* 2d: 0100 1101 0010 1101 */ {illegal,0 }, /* 2e: 0100 1101 0010 1110 */ {illegal,0 }, /* 2f: 0100 1101 0010 1111 */ {illegal,0 }, /* 30: 0100 1101 0011 0000 */ {illegal,0 }, /* 31: 0100 1101 0011 0001 */ {illegal,0 }, /* 32: 0100 1101 0011 0010 */ {illegal,0 }, /* 33: 0100 1101 0011 0011 */ {illegal,0 }, /* 34: 0100 1101 0011 0100 */ {illegal,0 }, /* 35: 0100 1101 0011 0101 */ {illegal,0 }, /* 36: 0100 1101 0011 0110 */ {illegal,0 }, /* 37: 0100 1101 0011 0111 */ {illegal,0 }, /* 38: 0100 1101 0011 1000 */ {illegal,0 }, /* 39: 0100 1101 0011 1001 */ {illegal,0 }, /* 3a: 0100 1101 0011 1010 */ {illegal,0 }, /* 3b: 0100 1101 0011 1011 */ {illegal,0 }, /* 3c: 0100 1101 0011 1100 */ {illegal,0 }, /* 3d: 0100 1101 0011 1101 */ {illegal,0 }, /* 3e: 0100 1101 0011 1110 */ {illegal,0 }, /* 3f: 0100 1101 0011 1111 */ {illegal,0 }, /* 40: 0100 1101 0100 0000 */ {illegal,0 }, /* 41: 0100 1101 0100 0001 */ {illegal,0 }, /* 42: 0100 1101 0100 0010 */ {illegal,0 }, /* 43: 0100 1101 0100 0011 */ {illegal,0 }, /* 44: 0100 1101 0100 0100 */ {illegal,0 }, /* 45: 0100 1101 0100 0101 */ {illegal,0 }, /* 46: 0100 1101 0100 0110 */ {illegal,0 }, /* 47: 0100 1101 0100 0111 */ {illegal,0 }, /* 48: 0100 1101 0100 1000 */ {illegal,0 }, /* 49: 0100 1101 0100 1001 */ {illegal,0 }, /* 4a: 0100 1101 0100 1010 */ {illegal,0 }, /* 4b: 0100 1101 0100 1011 */ {illegal,0 }, /* 4c: 0100 1101 0100 1100 */ {illegal,0 }, /* 4d: 0100 1101 0100 1101 */ {illegal,0 }, /* 4e: 0100 1101 0100 1110 */ {illegal,0 }, /* 4f: 0100 1101 0100 1111 */ {illegal,0 }, /* 50: 0100 1101 0101 0000 */ {illegal,0 }, /* 51: 0100 1101 0101 0001 */ {illegal,0 }, /* 52: 0100 1101 0101 0010 */ {illegal,0 }, /* 53: 0100 1101 0101 0011 */ {illegal,0 }, /* 54: 0100 1101 0101 0100 */ {illegal,0 }, /* 55: 0100 1101 0101 0101 */ {illegal,0 }, /* 56: 0100 1101 0101 0110 */ {illegal,0 }, /* 57: 0100 1101 0101 0111 */ {illegal,0 }, /* 58: 0100 1101 0101 1000 */ {illegal,0 }, /* 59: 0100 1101 0101 1001 */ {illegal,0 }, /* 5a: 0100 1101 0101 1010 */ {illegal,0 }, /* 5b: 0100 1101 0101 1011 */ {illegal,0 }, /* 5c: 0100 1101 0101 1100 */ {illegal,0 }, /* 5d: 0100 1101 0101 1101 */ {illegal,0 }, /* 5e: 0100 1101 0101 1110 */ {illegal,0 }, /* 5f: 0100 1101 0101 1111 */ {illegal,0 }, /* 60: 0100 1101 0110 0000 */ {illegal,0 }, /* 61: 0100 1101 0110 0001 */ {illegal,0 }, /* 62: 0100 1101 0110 0010 */ {illegal,0 }, /* 63: 0100 1101 0110 0011 */ {illegal,0 }, /* 64: 0100 1101 0110 0100 */ {illegal,0 }, /* 65: 0100 1101 0110 0101 */ {illegal,0 }, /* 66: 0100 1101 0110 0110 */ {illegal,0 }, /* 67: 0100 1101 0110 0111 */ {illegal,0 }, /* 68: 0100 1101 0110 1000 */ {illegal,0 }, /* 69: 0100 1101 0110 1001 */ {illegal,0 }, /* 6a: 0100 1101 0110 1010 */ {illegal,0 }, /* 6b: 0100 1101 0110 1011 */ {illegal,0 }, /* 6c: 0100 1101 0110 1100 */ {illegal,0 }, /* 6d: 0100 1101 0110 1101 */ {illegal,0 }, /* 6e: 0100 1101 0110 1110 */ {illegal,0 }, /* 6f: 0100 1101 0110 1111 */ {illegal,0 }, /* 70: 0100 1101 0111 0000 */ {illegal,0 }, /* 71: 0100 1101 0111 0001 */ {illegal,0 }, /* 72: 0100 1101 0111 0010 */ {illegal,0 }, /* 73: 0100 1101 0111 0011 */ {illegal,0 }, /* 74: 0100 1101 0111 0100 */ {illegal,0 }, /* 75: 0100 1101 0111 0101 */ {illegal,0 }, /* 76: 0100 1101 0111 0110 */ {illegal,0 }, /* 77: 0100 1101 0111 0111 */ {illegal,0 }, /* 78: 0100 1101 0111 1000 */ {illegal,0 }, /* 79: 0100 1101 0111 1001 */ {illegal,0 }, /* 7a: 0100 1101 0111 1010 */ {illegal,0 }, /* 7b: 0100 1101 0111 1011 */ {illegal,0 }, /* 7c: 0100 1101 0111 1100 */ {illegal,0 }, /* 7d: 0100 1101 0111 1101 */ {illegal,0 }, /* 7e: 0100 1101 0111 1110 */ {illegal,0 }, /* 7f: 0100 1101 0111 1111 */ {illegal,0 }, /* 80: 0100 1101 1000 0000 */ {illegal,0 }, /* 81: 0100 1101 1000 0001 */ {illegal,0 }, /* 82: 0100 1101 1000 0010 */ {illegal,0 }, /* 83: 0100 1101 1000 0011 */ {illegal,0 }, /* 84: 0100 1101 1000 0100 */ {illegal,0 }, /* 85: 0100 1101 1000 0101 */ {illegal,0 }, /* 86: 0100 1101 1000 0110 */ {illegal,0 }, /* 87: 0100 1101 1000 0111 */ {illegal,0 }, /* 88: 0100 1101 1000 1000 */ {illegal,0 }, /* 89: 0100 1101 1000 1001 */ {illegal,0 }, /* 8a: 0100 1101 1000 1010 */ {illegal,0 }, /* 8b: 0100 1101 1000 1011 */ {illegal,0 }, /* 8c: 0100 1101 1000 1100 */ {illegal,0 }, /* 8d: 0100 1101 1000 1101 */ {illegal,0 }, /* 8e: 0100 1101 1000 1110 */ {illegal,0 }, /* 8f: 0100 1101 1000 1111 */ {illegal,0 }, /* 90: 0100 1101 1001 0000 */ {illegal,0 }, /* 91: 0100 1101 1001 0001 */ {illegal,0 }, /* 92: 0100 1101 1001 0010 */ {illegal,0 }, /* 93: 0100 1101 1001 0011 */ {illegal,0 }, /* 94: 0100 1101 1001 0100 */ {illegal,0 }, /* 95: 0100 1101 1001 0101 */ {illegal,0 }, /* 96: 0100 1101 1001 0110 */ {illegal,0 }, /* 97: 0100 1101 1001 0111 */ {illegal,0 }, /* 98: 0100 1101 1001 1000 */ {illegal,0 }, /* 99: 0100 1101 1001 1001 */ {illegal,0 }, /* 9a: 0100 1101 1001 1010 */ {illegal,0 }, /* 9b: 0100 1101 1001 1011 */ {illegal,0 }, /* 9c: 0100 1101 1001 1100 */ {illegal,0 }, /* 9d: 0100 1101 1001 1101 */ {illegal,0 }, /* 9e: 0100 1101 1001 1110 */ {illegal,0 }, /* 9f: 0100 1101 1001 1111 */ {illegal,0 }, /* a0: 0100 1101 1010 0000 */ {illegal,0 }, /* a1: 0100 1101 1010 0001 */ {illegal,0 }, /* a2: 0100 1101 1010 0010 */ {illegal,0 }, /* a3: 0100 1101 1010 0011 */ {illegal,0 }, /* a4: 0100 1101 1010 0100 */ {illegal,0 }, /* a5: 0100 1101 1010 0101 */ {illegal,0 }, /* a6: 0100 1101 1010 0110 */ {illegal,0 }, /* a7: 0100 1101 1010 0111 */ {illegal,0 }, /* a8: 0100 1101 1010 1000 */ {illegal,0 }, /* a9: 0100 1101 1010 1001 */ {illegal,0 }, /* aa: 0100 1101 1010 1010 */ {illegal,0 }, /* ab: 0100 1101 1010 1011 */ {illegal,0 }, /* ac: 0100 1101 1010 1100 */ {illegal,0 }, /* ad: 0100 1101 1010 1101 */ {illegal,0 }, /* ae: 0100 1101 1010 1110 */ {illegal,0 }, /* af: 0100 1101 1010 1111 */ {illegal,0 }, /* b0: 0100 1101 1011 0000 */ {illegal,0 }, /* b1: 0100 1101 1011 0001 */ {illegal,0 }, /* b2: 0100 1101 1011 0010 */ {illegal,0 }, /* b3: 0100 1101 1011 0011 */ {illegal,0 }, /* b4: 0100 1101 1011 0100 */ {illegal,0 }, /* b5: 0100 1101 1011 0101 */ {illegal,0 }, /* b6: 0100 1101 1011 0110 */ {illegal,0 }, /* b7: 0100 1101 1011 0111 */ {illegal,0 }, /* b8: 0100 1101 1011 1000 */ {illegal,0 }, /* b9: 0100 1101 1011 1001 */ {illegal,0 }, /* ba: 0100 1101 1011 1010 */ {illegal,0 }, /* bb: 0100 1101 1011 1011 */ {illegal,0 }, /* bc: 0100 1101 1011 1100 */ {illegal,0 }, /* bd: 0100 1101 1011 1101 */ {illegal,0 }, /* be: 0100 1101 1011 1110 */ {illegal,0 }, /* bf: 0100 1101 1011 1111 */ {MOV,"PA,A" }, /* c0: 0100 1101 1100 0000 */ {MOV,"PB,A" }, /* c1: 0100 1101 1100 0001 */ {MOV,"PC,A" }, /* c2: 0100 1101 1100 0010 */ {MOV,"PD,A" }, /* c3: 0100 1101 1100 0011 */ {illegal,0 }, /* c4: 0100 1101 1100 0100 */ {MOV,"PF,A" }, /* c5: 0100 1101 1100 0101 */ {MOV,"MKH,A" }, /* c6: 0100 1101 1100 0110 */ {MOV,"MKL,A" }, /* c7: 0100 1101 1100 0111 */ {illegal,0 }, /* c8: 0100 1101 1100 1000 */ {MOV,"SMH,A" }, /* c9: 0100 1101 1100 1001 */ {MOV,"SML,A" }, /* ca: 0100 1101 1100 1010 */ {MOV,"EOM,A" }, /* cb: 0100 1101 1100 1011 */ {MOV,"ETMM,A" }, /* cc: 0100 1101 1100 1100 */ {MOV,"TMM,A" }, /* cd: 0100 1101 1100 1101 */ {illegal,0 }, /* ce: 0100 1101 1100 1110 */ {illegal,0 }, /* cf: 0100 1101 1100 1111 */ {MOV,"MM,A" }, /* d0: 0100 1101 1101 0000 */ {MOV,"MCC,A" }, /* d1: 0100 1101 1101 0001 */ {MOV,"MA,A" }, /* d2: 0100 1101 1101 0010 */ {MOV,"MB,A" }, /* d3: 0100 1101 1101 0011 */ {MOV,"MC,A" }, /* d4: 0100 1101 1101 0100 */ {illegal,0 }, /* d5: 0100 1101 1101 0101 */ {illegal,0 }, /* d6: 0100 1101 1101 0110 */ {MOV,"MF,A" }, /* d7: 0100 1101 1101 0111 */ {MOV,"TXB,A" }, /* d8: 0100 1101 1101 1000 */ {illegal,0 }, /* d9: 0100 1101 1101 1001 */ {MOV,"TM0,A" }, /* da: 0100 1101 1101 1010 */ {MOV,"TM1,A" }, /* db: 0100 1101 1101 1011 */ {illegal,0 }, /* dc: 0100 1101 1101 1100 */ {illegal,0 }, /* dd: 0100 1101 1101 1101 */ {illegal,0 }, /* de: 0100 1101 1101 1110 */ {illegal,0 }, /* df: 0100 1101 1101 1111 */ {illegal,0 }, /* e0: 0100 1101 1110 0000 */ {illegal,0 }, /* e1: 0100 1101 1110 0001 */ {illegal,0 }, /* e2: 0100 1101 1110 0010 */ {illegal,0 }, /* e3: 0100 1101 1110 0011 */ {illegal,0 }, /* e4: 0100 1101 1110 0100 */ {MOV,"MT,A" }, /* e5: 0100 1101 1110 0101 */ /* 7807 */ {illegal,0 }, /* e6: 0100 1101 1110 0110 */ {illegal,0 }, /* e7: 0100 1101 1110 0111 */ {illegal,0 }, /* e8: 0100 1101 1110 1000 */ {illegal,0 }, /* e9: 0100 1101 1110 1001 */ {illegal,0 }, /* ea: 0100 1101 1110 1010 */ {illegal,0 }, /* eb: 0100 1101 1110 1011 */ {illegal,0 }, /* ec: 0100 1101 1110 1100 */ {illegal,0 }, /* ed: 0100 1101 1110 1101 */ {illegal,0 }, /* ee: 0100 1101 1110 1110 */ {illegal,0 }, /* ef: 0100 1101 1110 1111 */ {illegal,0 }, /* f0: 0100 1101 1111 0000 */ {illegal,0 }, /* f1: 0100 1101 1111 0001 */ {illegal,0 }, /* f2: 0100 1101 1111 0010 */ {illegal,0 }, /* f3: 0100 1101 1111 0011 */ {illegal,0 }, /* f4: 0100 1101 1111 0100 */ {illegal,0 }, /* f5: 0100 1101 1111 0101 */ {illegal,0 }, /* f6: 0100 1101 1111 0110 */ {illegal,0 }, /* f7: 0100 1101 1111 0111 */ {illegal,0 }, /* f8: 0100 1101 1111 1000 */ {illegal,0 }, /* f9: 0100 1101 1111 1001 */ {illegal,0 }, /* fa: 0100 1101 1111 1010 */ {illegal,0 }, /* fb: 0100 1101 1111 1011 */ {illegal,0 }, /* fc: 0100 1101 1111 1100 */ {illegal,0 }, /* fd: 0100 1101 1111 1101 */ {illegal,0 }, /* fe: 0100 1101 1111 1110 */ {illegal,0 } /* ff: 0100 1101 1111 1111 */ }; /* prefix 60 */ static const struct dasm_s dasm60[256] = { {illegal,0 }, /* 00: 0110 0000 0000 0000 */ {illegal,0 }, /* 01: 0110 0000 0000 0001 */ {illegal,0 }, /* 02: 0110 0000 0000 0010 */ {illegal,0 }, /* 03: 0110 0000 0000 0011 */ {illegal,0 }, /* 04: 0110 0000 0000 0100 */ {illegal,0 }, /* 05: 0110 0000 0000 0101 */ {illegal,0 }, /* 06: 0110 0000 0000 0110 */ {illegal,0 }, /* 07: 0110 0000 0000 0111 */ {ANA,"V,A" }, /* 08: 0110 0000 0000 1000 */ {ANA,"A,A" }, /* 09: 0110 0000 0000 1001 */ {ANA,"B,A" }, /* 0a: 0110 0000 0000 1010 */ {ANA,"C,A" }, /* 0b: 0110 0000 0000 1011 */ {ANA,"D,A" }, /* 0c: 0110 0000 0000 1100 */ {ANA,"E,A" }, /* 0d: 0110 0000 0000 1101 */ {ANA,"H,A" }, /* 0e: 0110 0000 0000 1110 */ {ANA,"L,A" }, /* 0f: 0110 0000 0000 1111 */ {XRA,"V,A" }, /* 10: 0110 0000 0001 0000 */ {XRA,"A,A" }, /* 11: 0110 0000 0001 0001 */ {XRA,"B,A" }, /* 12: 0110 0000 0001 0010 */ {XRA,"C,A" }, /* 13: 0110 0000 0001 0011 */ {XRA,"D,A" }, /* 14: 0110 0000 0001 0100 */ {XRA,"E,A" }, /* 15: 0110 0000 0001 0101 */ {XRA,"H,A" }, /* 16: 0110 0000 0001 0110 */ {XRA,"L,A" }, /* 17: 0110 0000 0001 0111 */ {ORA,"V,A" }, /* 18: 0110 0000 0001 1000 */ {ORA,"A,A" }, /* 19: 0110 0000 0001 1001 */ {ORA,"B,A" }, /* 1a: 0110 0000 0001 1010 */ {ORA,"C,A" }, /* 1b: 0110 0000 0001 1011 */ {ORA,"D,A" }, /* 1c: 0110 0000 0001 1100 */ {ORA,"E,A" }, /* 1d: 0110 0000 0001 1101 */ {ORA,"H,A" }, /* 1e: 0110 0000 0001 1110 */ {ORA,"L,A" }, /* 1f: 0110 0000 0001 1111 */ {ADDNC,"V,A" }, /* 20: 0110 0000 0010 0000 */ {ADDNC,"A,A" }, /* 21: 0110 0000 0010 0001 */ {ADDNC,"B,A" }, /* 22: 0110 0000 0010 0010 */ {ADDNC,"C,A" }, /* 23: 0110 0000 0010 0011 */ {ADDNC,"D,A" }, /* 24: 0110 0000 0010 0100 */ {ADDNC,"E,A" }, /* 25: 0110 0000 0010 0101 */ {ADDNC,"H,A" }, /* 26: 0110 0000 0010 0110 */ {ADDNC,"L,A" }, /* 27: 0110 0000 0010 0111 */ {GTA,"V,A" }, /* 28: 0110 0000 0010 1000 */ {GTA,"A,A" }, /* 29: 0110 0000 0010 1001 */ {GTA,"B,A" }, /* 2a: 0110 0000 0010 1010 */ {GTA,"C,A" }, /* 2b: 0110 0000 0010 1011 */ {GTA,"D,A" }, /* 2c: 0110 0000 0010 1100 */ {GTA,"E,A" }, /* 2d: 0110 0000 0010 1101 */ {GTA,"H,A" }, /* 2e: 0110 0000 0010 1110 */ {GTA,"L,A" }, /* 2f: 0110 0000 0010 1111 */ {SUBNB,"V,A" }, /* 30: 0110 0000 0011 0000 */ {SUBNB,"A,A" }, /* 31: 0110 0000 0011 0001 */ {SUBNB,"B,A" }, /* 32: 0110 0000 0011 0010 */ {SUBNB,"C,A" }, /* 33: 0110 0000 0011 0011 */ {SUBNB,"D,A" }, /* 34: 0110 0000 0011 0100 */ {SUBNB,"E,A" }, /* 35: 0110 0000 0011 0101 */ {SUBNB,"H,A" }, /* 36: 0110 0000 0011 0110 */ {SUBNB,"L,A" }, /* 37: 0110 0000 0011 0111 */ {LTA,"V,A" }, /* 38: 0110 0000 0011 1000 */ {LTA,"A,A" }, /* 39: 0110 0000 0011 1001 */ {LTA,"B,A" }, /* 3a: 0110 0000 0011 1010 */ {LTA,"C,A" }, /* 3b: 0110 0000 0011 1011 */ {LTA,"D,A" }, /* 3c: 0110 0000 0011 1100 */ {LTA,"E,A" }, /* 3d: 0110 0000 0011 1101 */ {LTA,"H,A" }, /* 3e: 0110 0000 0011 1110 */ {LTA,"L,A" }, /* 3f: 0110 0000 0011 1111 */ {ADD,"V,A" }, /* 40: 0110 0000 0100 0000 */ {ADD,"A,A" }, /* 41: 0110 0000 0100 0001 */ {ADD,"B,A" }, /* 42: 0110 0000 0100 0010 */ {ADD,"C,A" }, /* 43: 0110 0000 0100 0011 */ {ADD,"D,A" }, /* 44: 0110 0000 0100 0100 */ {ADD,"E,A" }, /* 45: 0110 0000 0100 0101 */ {ADD,"H,A" }, /* 46: 0110 0000 0100 0110 */ {ADD,"L,A" }, /* 47: 0110 0000 0100 0111 */ {illegal,0 }, /* 48: 0110 0000 0100 1000 */ {illegal,0 }, /* 49: 0110 0000 0100 1001 */ {illegal,0 }, /* 4a: 0110 0000 0100 1010 */ {illegal,0 }, /* 4b: 0110 0000 0100 1011 */ {illegal,0 }, /* 4c: 0110 0000 0100 1100 */ {illegal,0 }, /* 4d: 0110 0000 0100 1101 */ {illegal,0 }, /* 4e: 0110 0000 0100 1110 */ {illegal,0 }, /* 4f: 0110 0000 0100 1111 */ {ADC,"V,A" }, /* 50: 0110 0000 0101 0000 */ {ADC,"A,A" }, /* 51: 0110 0000 0101 0001 */ {ADC,"B,A" }, /* 52: 0110 0000 0101 0010 */ {ADC,"C,A" }, /* 53: 0110 0000 0101 0011 */ {ADC,"D,A" }, /* 54: 0110 0000 0101 0100 */ {ADC,"E,A" }, /* 55: 0110 0000 0101 0101 */ {ADC,"H,A" }, /* 56: 0110 0000 0101 0110 */ {ADC,"L,A" }, /* 57: 0110 0000 0101 0111 */ {illegal,0 }, /* 58: 0110 0000 0101 1000 */ {illegal,0 }, /* 59: 0110 0000 0101 1001 */ {illegal,0 }, /* 5a: 0110 0000 0101 1010 */ {illegal,0 }, /* 5b: 0110 0000 0101 1011 */ {illegal,0 }, /* 5c: 0110 0000 0101 1100 */ {illegal,0 }, /* 5d: 0110 0000 0101 1101 */ {illegal,0 }, /* 5e: 0110 0000 0101 1110 */ {illegal,0 }, /* 5f: 0110 0000 0101 1111 */ {SUB,"V,A" }, /* 60: 0110 0000 0110 0000 */ {SUB,"A,A" }, /* 61: 0110 0000 0110 0001 */ {SUB,"B,A" }, /* 62: 0110 0000 0110 0010 */ {SUB,"C,A" }, /* 63: 0110 0000 0110 0011 */ {SUB,"D,A" }, /* 64: 0110 0000 0110 0100 */ {SUB,"E,A" }, /* 65: 0110 0000 0110 0101 */ {SUB,"H,A" }, /* 66: 0110 0000 0110 0110 */ {SUB,"L,A" }, /* 67: 0110 0000 0110 0111 */ {NEA,"V,A" }, /* 68: 0110 0000 0110 1000 */ {NEA,"A,A" }, /* 69: 0110 0000 0110 1001 */ {NEA,"B,A" }, /* 6a: 0110 0000 0110 1010 */ {NEA,"C,A" }, /* 6b: 0110 0000 0110 1011 */ {NEA,"D,A" }, /* 6c: 0110 0000 0110 1100 */ {NEA,"E,A" }, /* 6d: 0110 0000 0110 1101 */ {NEA,"H,A" }, /* 6e: 0110 0000 0110 1110 */ {NEA,"L,A" }, /* 6f: 0110 0000 0110 1111 */ {SBB,"V,A" }, /* 70: 0110 0000 0111 0000 */ {SBB,"A,A" }, /* 71: 0110 0000 0111 0001 */ {SBB,"B,A" }, /* 72: 0110 0000 0111 0010 */ {SBB,"C,A" }, /* 73: 0110 0000 0111 0011 */ {SBB,"D,A" }, /* 74: 0110 0000 0111 0100 */ {SBB,"E,A" }, /* 75: 0110 0000 0111 0101 */ {SBB,"H,A" }, /* 76: 0110 0000 0111 0110 */ {SBB,"L,A" }, /* 77: 0110 0000 0111 0111 */ {EQA,"V,A" }, /* 78: 0110 0000 0111 1000 */ {EQA,"A,A" }, /* 79: 0110 0000 0111 1001 */ {EQA,"B,A" }, /* 7a: 0110 0000 0111 1010 */ {EQA,"C,A" }, /* 7b: 0110 0000 0111 1011 */ {EQA,"D,A" }, /* 7c: 0110 0000 0111 1100 */ {EQA,"E,A" }, /* 7d: 0110 0000 0111 1101 */ {EQA,"H,A" }, /* 7e: 0110 0000 0111 1110 */ {EQA,"L,A" }, /* 7f: 0110 0000 0111 1111 */ {illegal,0 }, /* 80: 0110 0000 1000 0000 */ {illegal,0 }, /* 81: 0110 0000 1000 0001 */ {illegal,0 }, /* 82: 0110 0000 1000 0010 */ {illegal,0 }, /* 83: 0110 0000 1000 0011 */ {illegal,0 }, /* 84: 0110 0000 1000 0100 */ {illegal,0 }, /* 85: 0110 0000 1000 0101 */ {illegal,0 }, /* 86: 0110 0000 1000 0110 */ {illegal,0 }, /* 87: 0110 0000 1000 0111 */ {ANA,"A,V" }, /* 88: 0110 0000 1000 1000 */ {ANA,"A,A" }, /* 89: 0110 0000 1000 1001 */ {ANA,"A,B" }, /* 8a: 0110 0000 1000 1010 */ {ANA,"A,C" }, /* 8b: 0110 0000 1000 1011 */ {ANA,"A,D" }, /* 8c: 0110 0000 1000 1100 */ {ANA,"A,E" }, /* 8d: 0110 0000 1000 1101 */ {ANA,"A,H" }, /* 8e: 0110 0000 1000 1110 */ {ANA,"A,L" }, /* 8f: 0110 0000 1000 1111 */ {XRA,"A,V" }, /* 90: 0110 0000 1001 0000 */ {XRA,"A,A" }, /* 91: 0110 0000 1001 0001 */ {XRA,"A,B" }, /* 92: 0110 0000 1001 0010 */ {XRA,"A,C" }, /* 93: 0110 0000 1001 0011 */ {XRA,"A,D" }, /* 94: 0110 0000 1001 0100 */ {XRA,"A,E" }, /* 95: 0110 0000 1001 0101 */ {XRA,"A,H" }, /* 96: 0110 0000 1001 0110 */ {XRA,"A,L" }, /* 97: 0110 0000 1001 0111 */ {ORA,"A,V" }, /* 98: 0110 0000 1001 1000 */ {ORA,"A,A" }, /* 99: 0110 0000 1001 1001 */ {ORA,"A,B" }, /* 9a: 0110 0000 1001 1010 */ {ORA,"A,C" }, /* 9b: 0110 0000 1001 1011 */ {ORA,"A,D" }, /* 9c: 0110 0000 1001 1100 */ {ORA,"A,E" }, /* 9d: 0110 0000 1001 1101 */ {ORA,"A,H" }, /* 9e: 0110 0000 1001 1110 */ {ORA,"A,L" }, /* 9f: 0110 0000 1001 1111 */ {ADDNC,"A,V" }, /* a0: 0110 0000 1010 0000 */ {ADDNC,"A,A" }, /* a1: 0110 0000 1010 0001 */ {ADDNC,"A,B" }, /* a2: 0110 0000 1010 0010 */ {ADDNC,"A,C" }, /* a3: 0110 0000 1010 0011 */ {ADDNC,"A,D" }, /* a4: 0110 0000 1010 0100 */ {ADDNC,"A,E" }, /* a5: 0110 0000 1010 0101 */ {ADDNC,"A,H" }, /* a6: 0110 0000 1010 0110 */ {ADDNC,"A,L" }, /* a7: 0110 0000 1010 0111 */ {GTA,"A,V" }, /* a8: 0110 0000 1010 1000 */ {GTA,"A,A" }, /* a9: 0110 0000 1010 1001 */ {GTA,"A,B" }, /* aa: 0110 0000 1010 1010 */ {GTA,"A,C" }, /* ab: 0110 0000 1010 1011 */ {GTA,"A,D" }, /* ac: 0110 0000 1010 1100 */ {GTA,"A,E" }, /* ad: 0110 0000 1010 1101 */ {GTA,"A,H" }, /* ae: 0110 0000 1010 1110 */ {GTA,"A,L" }, /* af: 0110 0000 1010 1111 */ {SUBNB,"A,V" }, /* b0: 0110 0000 1011 0000 */ {SUBNB,"A,A" }, /* b1: 0110 0000 1011 0001 */ {SUBNB,"A,B" }, /* b2: 0110 0000 1011 0010 */ {SUBNB,"A,C" }, /* b3: 0110 0000 1011 0011 */ {SUBNB,"A,D" }, /* b4: 0110 0000 1011 0100 */ {SUBNB,"A,E" }, /* b5: 0110 0000 1011 0101 */ {SUBNB,"A,H" }, /* b6: 0110 0000 1011 0110 */ {SUBNB,"A,L" }, /* b7: 0110 0000 1011 0111 */ {LTA,"A,V" }, /* b8: 0110 0000 1011 1000 */ {LTA,"A,A" }, /* b9: 0110 0000 1011 1001 */ {LTA,"A,B" }, /* ba: 0110 0000 1011 1010 */ {LTA,"A,C" }, /* bb: 0110 0000 1011 1011 */ {LTA,"A,D" }, /* bc: 0110 0000 1011 1100 */ {LTA,"A,E" }, /* bd: 0110 0000 1011 1101 */ {LTA,"A,H" }, /* be: 0110 0000 1011 1110 */ {LTA,"A,L" }, /* bf: 0110 0000 1011 1111 */ {ADD,"A,V" }, /* c0: 0110 0000 1100 0000 */ {ADD,"A,A" }, /* c1: 0110 0000 1100 0001 */ {ADD,"A,B" }, /* c2: 0110 0000 1100 0010 */ {ADD,"A,C" }, /* c3: 0110 0000 1100 0011 */ {ADD,"A,D" }, /* c4: 0110 0000 1100 0100 */ {ADD,"A,E" }, /* c5: 0110 0000 1100 0101 */ {ADD,"A,H" }, /* c6: 0110 0000 1100 0110 */ {ADD,"A,L" }, /* c7: 0110 0000 1100 0111 */ {ONA,"A,V" }, /* c8: 0110 0000 1100 1000 */ {ONA,"A,A" }, /* c9: 0110 0000 1100 1001 */ {ONA,"A,B" }, /* ca: 0110 0000 1100 1010 */ {ONA,"A,C" }, /* cb: 0110 0000 1100 1011 */ {ONA,"A,D" }, /* cc: 0110 0000 1100 1100 */ {ONA,"A,E" }, /* cd: 0110 0000 1100 1101 */ {ONA,"A,H" }, /* ce: 0110 0000 1100 1110 */ {ONA,"A,L" }, /* cf: 0110 0000 1100 1111 */ {ADC,"A,V" }, /* d0: 0110 0000 1101 0000 */ {ADC,"A,A" }, /* d1: 0110 0000 1101 0001 */ {ADC,"A,B" }, /* d2: 0110 0000 1101 0010 */ {ADC,"A,C" }, /* d3: 0110 0000 1101 0011 */ {ADC,"A,D" }, /* d4: 0110 0000 1101 0100 */ {ADC,"A,E" }, /* d5: 0110 0000 1101 0101 */ {ADC,"A,H" }, /* d6: 0110 0000 1101 0110 */ {ADC,"A,L" }, /* d7: 0110 0000 1101 0111 */ {OFFA,"A,V" }, /* d8: 0110 0000 1101 1000 */ {OFFA,"A,A" }, /* d9: 0110 0000 1101 1001 */ {OFFA,"A,B" }, /* da: 0110 0000 1101 1010 */ {OFFA,"A,C" }, /* db: 0110 0000 1101 1011 */ {OFFA,"A,D" }, /* dc: 0110 0000 1101 1100 */ {OFFA,"A,E" }, /* dd: 0110 0000 1101 1101 */ {OFFA,"A,H" }, /* de: 0110 0000 1101 1110 */ {OFFA,"A,L" }, /* df: 0110 0000 1101 1111 */ {SUB,"A,V" }, /* e0: 0110 0000 1110 0000 */ {SUB,"A,A" }, /* e1: 0110 0000 1110 0001 */ {SUB,"A,B" }, /* e2: 0110 0000 1110 0010 */ {SUB,"A,C" }, /* e3: 0110 0000 1110 0011 */ {SUB,"A,D" }, /* e4: 0110 0000 1110 0100 */ {SUB,"A,E" }, /* e5: 0110 0000 1110 0101 */ {SUB,"A,H" }, /* e6: 0110 0000 1110 0110 */ {SUB,"A,L" }, /* e7: 0110 0000 1110 0111 */ {NEA,"A,V" }, /* e8: 0110 0000 1110 1000 */ {NEA,"A,A" }, /* e9: 0110 0000 1110 1001 */ {NEA,"A,B" }, /* ea: 0110 0000 1110 1010 */ {NEA,"A,C" }, /* eb: 0110 0000 1110 1011 */ {NEA,"A,D" }, /* ec: 0110 0000 1110 1100 */ {NEA,"A,E" }, /* ed: 0110 0000 1110 1101 */ {NEA,"A,H" }, /* ee: 0110 0000 1110 1110 */ {NEA,"A,L" }, /* ef: 0110 0000 1110 1111 */ {SBB,"A,V" }, /* f0: 0110 0000 1111 0000 */ {SBB,"A,A" }, /* f1: 0110 0000 1111 0001 */ {SBB,"A,B" }, /* f2: 0110 0000 1111 0010 */ {SBB,"A,C" }, /* f3: 0110 0000 1111 0011 */ {SBB,"A,D" }, /* f4: 0110 0000 1111 0100 */ {SBB,"A,E" }, /* f5: 0110 0000 1111 0101 */ {SBB,"A,H" }, /* f6: 0110 0000 1111 0110 */ {SBB,"A,L" }, /* f7: 0110 0000 1111 0111 */ {EQA,"A,V" }, /* f8: 0110 0000 1111 1000 */ {EQA,"A,A" }, /* f9: 0110 0000 1111 1001 */ {EQA,"A,B" }, /* fa: 0110 0000 1111 1010 */ {EQA,"A,C" }, /* fb: 0110 0000 1111 1011 */ {EQA,"A,D" }, /* fc: 0110 0000 1111 1100 */ {EQA,"A,E" }, /* fd: 0110 0000 1111 1101 */ {EQA,"A,H" }, /* fe: 0110 0000 1111 1110 */ {EQA,"A,L" } /* ff: 0110 0000 1111 1111 */ }; /* prefix 64 */ static const struct dasm_s dasm64_7810[256] = { {MVI,"PA,%b" }, /* 00: 0110 0100 0000 0000 xxxx xxxx */ {MVI,"PB,%b" }, /* 01: 0110 0100 0000 0001 xxxx xxxx */ {MVI,"PC,%b" }, /* 02: 0110 0100 0000 0010 xxxx xxxx */ {MVI,"PD,%b" }, /* 03: 0110 0100 0000 0011 xxxx xxxx */ {illegal,0 }, /* 04: 0110 0100 0000 0100 xxxx xxxx */ {MVI,"PF,%b" }, /* 05: 0110 0100 0000 0101 xxxx xxxx */ {MVI,"MKH,%b" }, /* 06: 0110 0100 0000 0110 xxxx xxxx */ {MVI,"MKL,%b" }, /* 07: 0110 0100 0000 0111 xxxx xxxx */ {ANI,"PA,%b" }, /* 08: 0110 0100 0000 1000 xxxx xxxx */ {ANI,"PB,%b" }, /* 09: 0110 0100 0000 1001 xxxx xxxx */ {ANI,"PC,%b" }, /* 0a: 0110 0100 0000 1010 xxxx xxxx */ {ANI,"PD,%b" }, /* 0b: 0110 0100 0000 1011 xxxx xxxx */ {illegal,0 }, /* 0c: 0110 0100 0000 1100 xxxx xxxx */ {ANI,"PF,%b" }, /* 0d: 0110 0100 0000 1101 xxxx xxxx */ {ANI,"MKH,%b" }, /* 0e: 0110 0100 0000 1110 xxxx xxxx */ {ANI,"MKL,%b" }, /* 0f: 0110 0100 0000 1111 xxxx xxxx */ {XRI,"PA,%b" }, /* 10: 0110 0100 0001 0000 xxxx xxxx */ {XRI,"PB,%b" }, /* 11: 0110 0100 0001 0001 xxxx xxxx */ {XRI,"PC,%b" }, /* 12: 0110 0100 0001 0010 xxxx xxxx */ {XRI,"PD,%b" }, /* 13: 0110 0100 0001 0011 xxxx xxxx */ {illegal,0 }, /* 14: 0110 0100 0001 0100 xxxx xxxx */ {XRI,"PF,%b" }, /* 15: 0110 0100 0001 0101 xxxx xxxx */ {XRI,"MKH,%b" }, /* 16: 0110 0100 0001 0110 xxxx xxxx */ {XRI,"MKL,%b" }, /* 17: 0110 0100 0001 0111 xxxx xxxx */ {ORI,"PA,%b" }, /* 18: 0110 0100 0001 1000 xxxx xxxx */ {ORI,"PB,%b" }, /* 19: 0110 0100 0001 1001 xxxx xxxx */ {ORI,"PC,%b" }, /* 1a: 0110 0100 0001 1010 xxxx xxxx */ {ORI,"PD,%b" }, /* 1b: 0110 0100 0001 1011 xxxx xxxx */ {illegal,0 }, /* 1c: 0110 0100 0001 1100 xxxx xxxx */ {ORI,"PF,%b" }, /* 1d: 0110 0100 0001 1101 xxxx xxxx */ {ORI,"MKH,%b" }, /* 1e: 0110 0100 0001 1110 xxxx xxxx */ {ORI,"MKL,%b" }, /* 1f: 0110 0100 0001 1111 xxxx xxxx */ {ADINC,"PA,%b" }, /* 20: 0110 0100 0010 0000 xxxx xxxx */ {ADINC,"PB,%b" }, /* 21: 0110 0100 0010 0001 xxxx xxxx */ {ADINC,"PC,%b" }, /* 22: 0110 0100 0010 0010 xxxx xxxx */ {ADINC,"PD,%b" }, /* 23: 0110 0100 0010 0011 xxxx xxxx */ {illegal,0 }, /* 24: 0110 0100 0010 0100 xxxx xxxx */ {ADINC,"PF,%b" }, /* 25: 0110 0100 0010 0101 xxxx xxxx */ {ADINC,"MKH,%b" }, /* 26: 0110 0100 0010 0110 xxxx xxxx */ {ADINC,"MKL,%b" }, /* 27: 0110 0100 0010 0111 xxxx xxxx */ {GTI,"PA,%b" }, /* 28: 0110 0100 0010 1000 xxxx xxxx */ {GTI,"PB,%b" }, /* 29: 0110 0100 0010 1001 xxxx xxxx */ {GTI,"PC,%b" }, /* 2a: 0110 0100 0010 1010 xxxx xxxx */ {GTI,"PD,%b" }, /* 2b: 0110 0100 0010 1011 xxxx xxxx */ {illegal,0 }, /* 2c: 0110 0100 0010 1100 xxxx xxxx */ {GTI,"PF,%b" }, /* 2d: 0110 0100 0010 1101 xxxx xxxx */ {GTI,"MKH,%b" }, /* 2e: 0110 0100 0010 1110 xxxx xxxx */ {GTI,"MKL,%b" }, /* 2f: 0110 0100 0010 1111 xxxx xxxx */ {SUINB,"PA,%b" }, /* 30: 0110 0100 0011 0000 xxxx xxxx */ {SUINB,"PB,%b" }, /* 31: 0110 0100 0011 0001 xxxx xxxx */ {SUINB,"PC,%b" }, /* 32: 0110 0100 0011 0010 xxxx xxxx */ {SUINB,"PD,%b" }, /* 33: 0110 0100 0011 0011 xxxx xxxx */ {illegal,0 }, /* 34: 0110 0100 0011 0100 xxxx xxxx */ {SUINB,"PF,%b" }, /* 35: 0110 0100 0011 0101 xxxx xxxx */ {SUINB,"MKH,%b" }, /* 36: 0110 0100 0011 0110 xxxx xxxx */ {SUINB,"MKL,%b" }, /* 37: 0110 0100 0011 0111 xxxx xxxx */ {LTI,"PA,%b" }, /* 38: 0110 0100 0011 1000 xxxx xxxx */ {LTI,"PB,%b" }, /* 39: 0110 0100 0011 1001 xxxx xxxx */ {LTI,"PC,%b" }, /* 3a: 0110 0100 0011 1010 xxxx xxxx */ {LTI,"PD,%b" }, /* 3b: 0110 0100 0011 1011 xxxx xxxx */ {illegal,0 }, /* 3c: 0110 0100 0011 1100 xxxx xxxx */ {LTI,"PF,%b" }, /* 3d: 0110 0100 0011 1101 xxxx xxxx */ {LTI,"MKH,%b" }, /* 3e: 0110 0100 0011 1110 xxxx xxxx */ {LTI,"MKL,%b" }, /* 3f: 0110 0100 0011 1111 xxxx xxxx */ {ADI,"PA,%b" }, /* 40: 0110 0100 0100 0000 xxxx xxxx */ {ADI,"PB,%b" }, /* 41: 0110 0100 0100 0001 xxxx xxxx */ {ADI,"PC,%b" }, /* 42: 0110 0100 0100 0010 xxxx xxxx */ {ADI,"PD,%b" }, /* 43: 0110 0100 0100 0011 xxxx xxxx */ {illegal,0 }, /* 44: 0110 0100 0100 0100 xxxx xxxx */ {ADI,"PF,%b" }, /* 45: 0110 0100 0100 0101 xxxx xxxx */ {ADI,"MKH,%b" }, /* 46: 0110 0100 0100 0110 xxxx xxxx */ {ADI,"MKL,%b" }, /* 47: 0110 0100 0100 0111 xxxx xxxx */ {ONI,"PA,%b" }, /* 48: 0110 0100 0100 1000 xxxx xxxx */ {ONI,"PB,%b" }, /* 49: 0110 0100 0100 1001 xxxx xxxx */ {ONI,"PC,%b" }, /* 4a: 0110 0100 0100 1010 xxxx xxxx */ {ONI,"PD,%b" }, /* 4b: 0110 0100 0100 1011 xxxx xxxx */ {illegal,0 }, /* 4c: 0110 0100 0100 1100 xxxx xxxx */ {ONI,"PF,%b" }, /* 4d: 0110 0100 0100 1101 xxxx xxxx */ {ONI,"MKH,%b" }, /* 4e: 0110 0100 0100 1110 xxxx xxxx */ {ONI,"MKL,%b" }, /* 4f: 0110 0100 0100 1111 xxxx xxxx */ {ACI,"PA,%b" }, /* 50: 0110 0100 0101 0000 xxxx xxxx */ {ACI,"PB,%b" }, /* 51: 0110 0100 0101 0001 xxxx xxxx */ {ACI,"PC,%b" }, /* 52: 0110 0100 0101 0010 xxxx xxxx */ {ACI,"PD,%b" }, /* 53: 0110 0100 0101 0011 xxxx xxxx */ {illegal,0 }, /* 54: 0110 0100 0101 0100 xxxx xxxx */ {ACI,"PF,%b" }, /* 55: 0110 0100 0101 0101 xxxx xxxx */ {ACI,"MKH,%b" }, /* 56: 0110 0100 0101 0110 xxxx xxxx */ {ACI,"MKL,%b" }, /* 57: 0110 0100 0101 0111 xxxx xxxx */ {OFFI,"PA,%b" }, /* 58: 0110 0100 0101 1000 xxxx xxxx */ {OFFI,"PB,%b" }, /* 59: 0110 0100 0101 1001 xxxx xxxx */ {OFFI,"PC,%b" }, /* 5a: 0110 0100 0101 1010 xxxx xxxx */ {OFFI,"PD,%b" }, /* 5b: 0110 0100 0101 1011 xxxx xxxx */ {illegal,0 }, /* 5c: 0110 0100 0101 1100 xxxx xxxx */ {OFFI,"PF,%b" }, /* 5d: 0110 0100 0101 1101 xxxx xxxx */ {OFFI,"MKH,%b" }, /* 5e: 0110 0100 0101 1110 xxxx xxxx */ {OFFI,"MKL,%b" }, /* 5f: 0110 0100 0101 1111 xxxx xxxx */ {SUI,"PA,%b" }, /* 60: 0110 0100 0110 0000 xxxx xxxx */ {SUI,"PB,%b" }, /* 61: 0110 0100 0110 0001 xxxx xxxx */ {SUI,"PC,%b" }, /* 62: 0110 0100 0110 0010 xxxx xxxx */ {SUI,"PD,%b" }, /* 63: 0110 0100 0110 0011 xxxx xxxx */ {illegal,0 }, /* 64: 0110 0100 0110 0100 xxxx xxxx */ {SUI,"PF,%b" }, /* 65: 0110 0100 0110 0101 xxxx xxxx */ {SUI,"MKH,%b" }, /* 66: 0110 0100 0110 0110 xxxx xxxx */ {SUI,"MKL,%b" }, /* 67: 0110 0100 0110 0111 xxxx xxxx */ {NEI,"PA,%b" }, /* 68: 0110 0100 0110 1000 xxxx xxxx */ {NEI,"PB,%b" }, /* 69: 0110 0100 0110 1001 xxxx xxxx */ {NEI,"PC,%b" }, /* 6a: 0110 0100 0110 1010 xxxx xxxx */ {NEI,"PD,%b" }, /* 6b: 0110 0100 0110 1011 xxxx xxxx */ {illegal,0 }, /* 6c: 0110 0100 0110 1100 xxxx xxxx */ {NEI,"PF,%b" }, /* 6d: 0110 0100 0110 1101 xxxx xxxx */ {NEI,"MKH,%b" }, /* 6e: 0110 0100 0110 1110 xxxx xxxx */ {NEI,"MKL,%b" }, /* 6f: 0110 0100 0110 1111 xxxx xxxx */ {SBI,"PA,%b" }, /* 70: 0110 0100 0111 0000 xxxx xxxx */ {SBI,"PB,%b" }, /* 71: 0110 0100 0111 0001 xxxx xxxx */ {SBI,"PC,%b" }, /* 72: 0110 0100 0111 0010 xxxx xxxx */ {SBI,"PD,%b" }, /* 73: 0110 0100 0111 0011 xxxx xxxx */ {illegal,0 }, /* 74: 0110 0100 0111 0100 xxxx xxxx */ {SBI,"PF,%b" }, /* 75: 0110 0100 0111 0101 xxxx xxxx */ {SBI,"MKH,%b" }, /* 76: 0110 0100 0111 0110 xxxx xxxx */ {SBI,"MKL,%b" }, /* 77: 0110 0100 0111 0111 xxxx xxxx */ {EQI,"PA,%b" }, /* 78: 0110 0100 0111 1000 xxxx xxxx */ {EQI,"PB,%b" }, /* 79: 0110 0100 0111 1001 xxxx xxxx */ {EQI,"PC,%b" }, /* 7a: 0110 0100 0111 1010 xxxx xxxx */ {EQI,"PD,%b" }, /* 7b: 0110 0100 0111 1011 xxxx xxxx */ {illegal,0 }, /* 7c: 0110 0100 0111 1100 xxxx xxxx */ {EQI,"PF,%b" }, /* 7d: 0110 0100 0111 1101 xxxx xxxx */ {EQI,"MKH,%b" }, /* 7e: 0110 0100 0111 1110 xxxx xxxx */ {EQI,"MKL,%b" }, /* 7f: 0110 0100 0111 1111 xxxx xxxx */ {MVI,"ANM,%b" }, /* 80: 0110 0100 1000 0000 xxxx xxxx */ /* 7810 */ {MVI,"SMH,%b" }, /* 81: 0110 0100 1000 0001 xxxx xxxx */ {illegal,0 }, /* 82: 0110 0100 1000 0010 xxxx xxxx */ {MVI,"EOM,%b" }, /* 83: 0110 0100 1000 0011 xxxx xxxx */ {illegal,0 }, /* 84: 0110 0100 1000 0100 xxxx xxxx */ {MVI,"TMM,%b" }, /* 85: 0110 0100 1000 0101 xxxx xxxx */ {illegal,0 }, /* 86: 0110 0100 1000 0110 xxxx xxxx */ {illegal,0 }, /* 87: 0110 0100 1000 0111 xxxx xxxx */ {ANI,"ANM,%b" }, /* 88: 0110 0100 1000 1000 xxxx xxxx */ /* 7810 */ {ANI,"SMH,%b" }, /* 89: 0110 0100 1000 1001 xxxx xxxx */ {illegal,0 }, /* 8a: 0110 0100 1000 1010 xxxx xxxx */ {ANI,"EOM,%b" }, /* 8b: 0110 0100 1000 1011 xxxx xxxx */ {illegal,0 }, /* 8c: 0110 0100 1000 1100 xxxx xxxx */ {ANI,"TMM,%b" }, /* 8d: 0110 0100 1000 1101 xxxx xxxx */ {illegal,0 }, /* 8e: 0110 0100 1000 1110 xxxx xxxx */ {illegal,0 }, /* 8f: 0110 0100 1000 1111 xxxx xxxx */ {XRI,"ANM,%b" }, /* 90: 0110 0100 1001 0000 xxxx xxxx */ /* 7810 */ {XRI,"SMH,%b" }, /* 91: 0110 0100 1001 0001 xxxx xxxx */ {illegal,0 }, /* 92: 0110 0100 1001 0010 xxxx xxxx */ {XRI,"EOM,%b" }, /* 93: 0110 0100 1001 0011 xxxx xxxx */ {illegal,0 }, /* 94: 0110 0100 1001 0100 xxxx xxxx */ {XRI,"TMM,%b" }, /* 95: 0110 0100 1001 0101 xxxx xxxx */ {illegal,0 }, /* 96: 0110 0100 1001 0110 xxxx xxxx */ {illegal,0 }, /* 97: 0110 0100 1001 0111 xxxx xxxx */ {ORI,"ANM,%b" }, /* 98: 0110 0100 1001 1000 xxxx xxxx */ /* 7810 */ {ORI,"SMH,%b" }, /* 99: 0110 0100 1001 1001 xxxx xxxx */ {illegal,0 }, /* 9a: 0110 0100 1001 1010 xxxx xxxx */ {ORI,"EOM,%b" }, /* 9b: 0110 0100 1001 1011 xxxx xxxx */ {illegal,0 }, /* 9c: 0110 0100 1001 1100 xxxx xxxx */ {ORI,"TMM,%b" }, /* 9d: 0110 0100 1001 1101 xxxx xxxx */ {illegal,0 }, /* 9e: 0110 0100 1001 1110 xxxx xxxx */ {illegal,0 }, /* 9f: 0110 0100 1001 1111 xxxx xxxx */ {ADINC,"ANM,%b" }, /* a0: 0110 0100 1010 0000 xxxx xxxx */ /* 7810 */ {ADINC,"SMH,%b" }, /* a1: 0110 0100 1010 0001 xxxx xxxx */ {illegal,0 }, /* a2: 0110 0100 1010 0010 xxxx xxxx */ {ADINC,"EOM,%b" }, /* a3: 0110 0100 1010 0011 xxxx xxxx */ {illegal,0 }, /* a4: 0110 0100 1010 0100 xxxx xxxx */ {ADINC,"TMM,%b" }, /* a5: 0110 0100 1010 0101 xxxx xxxx */ {illegal,0 }, /* a6: 0110 0100 1010 0110 xxxx xxxx */ {illegal,0 }, /* a7: 0110 0100 1010 0111 xxxx xxxx */ {GTI,"ANM,%b" }, /* a8: 0110 0100 1010 1000 xxxx xxxx */ /* 7810 */ {GTI,"SMH,%b" }, /* a9: 0110 0100 1010 1001 xxxx xxxx */ {illegal,0 }, /* aa: 0110 0100 1010 1010 xxxx xxxx */ {GTI,"EOM,%b" }, /* ab: 0110 0100 1010 1011 xxxx xxxx */ {illegal,0 }, /* ac: 0110 0100 1010 1100 xxxx xxxx */ {GTI,"TMM,%b" }, /* ad: 0110 0100 1010 1101 xxxx xxxx */ {illegal,0 }, /* ae: 0110 0100 1010 1110 xxxx xxxx */ {illegal,0 }, /* af: 0110 0100 1010 1111 xxxx xxxx */ {SUINB,"ANM,%b" }, /* b0: 0110 0100 1011 0000 xxxx xxxx */ /* 7810 */ {SUINB,"SMH,%b" }, /* b1: 0110 0100 1011 0001 xxxx xxxx */ {illegal,0 }, /* b2: 0110 0100 1011 0010 xxxx xxxx */ {SUINB,"EOM,%b" }, /* b3: 0110 0100 1011 0011 xxxx xxxx */ {illegal,0 }, /* b4: 0110 0100 1011 0100 xxxx xxxx */ {SUINB,"TMM,%b" }, /* b5: 0110 0100 1011 0101 xxxx xxxx */ {illegal,0 }, /* b6: 0110 0100 1011 0110 xxxx xxxx */ {illegal,0 }, /* b7: 0110 0100 1011 0111 xxxx xxxx */ {LTI,"ANM,%b" }, /* b8: 0110 0100 1011 1000 xxxx xxxx */ /* 7810 */ {LTI,"SMH,%b" }, /* b9: 0110 0100 1011 1001 xxxx xxxx */ {illegal,0 }, /* ba: 0110 0100 1011 1010 xxxx xxxx */ {LTI,"EOM,%b" }, /* bb: 0110 0100 1011 1011 xxxx xxxx */ {illegal,0 }, /* bc: 0110 0100 1011 1100 xxxx xxxx */ {LTI,"TMM,%b" }, /* bd: 0110 0100 1011 1101 xxxx xxxx */ {illegal,0 }, /* be: 0110 0100 1011 1110 xxxx xxxx */ {illegal,0 }, /* bf: 0110 0100 1011 1111 xxxx xxxx */ {ADI,"ANM,%b" }, /* c0: 0110 0100 1100 0000 xxxx xxxx */ /* 7810 */ {ADI,"SMH,%b" }, /* c1: 0110 0100 1100 0001 xxxx xxxx */ {illegal,0 }, /* c2: 0110 0100 1100 0010 xxxx xxxx */ {ADI,"EOM,%b" }, /* c3: 0110 0100 1100 0011 xxxx xxxx */ {illegal,0 }, /* c4: 0110 0100 1100 0100 xxxx xxxx */ {ADI,"TMM,%b" }, /* c5: 0110 0100 1100 0101 xxxx xxxx */ {illegal,0 }, /* c6: 0110 0100 1100 0110 xxxx xxxx */ {illegal,0 }, /* c7: 0110 0100 1100 0111 xxxx xxxx */ {ONI,"ANM,%b" }, /* c8: 0110 0100 1100 1000 xxxx xxxx */ /* 7810 */ {ONI,"SMH,%b" }, /* c9: 0110 0100 1100 1001 xxxx xxxx */ {illegal,0 }, /* ca: 0110 0100 1100 1010 xxxx xxxx */ {ONI,"EOM,%b" }, /* cb: 0110 0100 1100 1011 xxxx xxxx */ {illegal,0 }, /* cc: 0110 0100 1100 1100 xxxx xxxx */ {ONI,"TMM,%b" }, /* cd: 0110 0100 1100 1101 xxxx xxxx */ {illegal,0 }, /* ce: 0110 0100 1100 1110 xxxx xxxx */ {illegal,0 }, /* cf: 0110 0100 1100 1111 xxxx xxxx */ {ACI,"ANM,%b" }, /* d0: 0110 0100 1101 0000 xxxx xxxx */ /* 7810 */ {ACI,"SMH,%b" }, /* d1: 0110 0100 1101 0001 xxxx xxxx */ {illegal,0 }, /* d2: 0110 0100 1101 0010 xxxx xxxx */ {ACI,"EOM,%b" }, /* d3: 0110 0100 1101 0011 xxxx xxxx */ {illegal,0 }, /* d4: 0110 0100 1101 0100 xxxx xxxx */ {ACI,"TMM,%b" }, /* d5: 0110 0100 1101 0101 xxxx xxxx */ {illegal,0 }, /* d6: 0110 0100 1101 0110 xxxx xxxx */ {illegal,0 }, /* d7: 0110 0100 1101 0111 xxxx xxxx */ {OFFI,"ANM,%b" }, /* d8: 0110 0100 1101 1000 xxxx xxxx */ /* 7810 */ {OFFI,"SMH,%b" }, /* d9: 0110 0100 1101 1001 xxxx xxxx */ {illegal,0 }, /* da: 0110 0100 1101 1010 xxxx xxxx */ {OFFI,"EOM,%b" }, /* db: 0110 0100 1101 1011 xxxx xxxx */ {illegal,0 }, /* dc: 0110 0100 1101 1100 xxxx xxxx */ {OFFI,"TMM,%b" }, /* dd: 0110 0100 1101 1101 xxxx xxxx */ {illegal,0 }, /* de: 0110 0100 1101 1110 xxxx xxxx */ {illegal,0 }, /* df: 0110 0100 1101 1111 xxxx xxxx */ {SUI,"ANM,%b" }, /* e0: 0110 0100 1110 0000 xxxx xxxx */ /* 7810 */ {SUI,"SMH,%b" }, /* e1: 0110 0100 1110 0001 xxxx xxxx */ {illegal,0 }, /* e2: 0110 0100 1110 0010 xxxx xxxx */ {SUI,"EOM,%b" }, /* e3: 0110 0100 1110 0011 xxxx xxxx */ {illegal,0 }, /* e4: 0110 0100 1110 0100 xxxx xxxx */ {SUI,"TMM,%b" }, /* e5: 0110 0100 1110 0101 xxxx xxxx */ {illegal,0 }, /* e6: 0110 0100 1110 0110 xxxx xxxx */ {illegal,0 }, /* e7: 0110 0100 1110 0111 xxxx xxxx */ {NEI,"ANM,%b" }, /* e8: 0110 0100 1110 1000 xxxx xxxx */ /* 7810 */ {NEI,"SMH,%b" }, /* e9: 0110 0100 1110 1001 xxxx xxxx */ {illegal,0 }, /* ea: 0110 0100 1110 1010 xxxx xxxx */ {NEI,"EOM,%b" }, /* eb: 0110 0100 1110 1011 xxxx xxxx */ {illegal,0 }, /* ec: 0110 0100 1110 1100 xxxx xxxx */ {NEI,"TMM,%b" }, /* ed: 0110 0100 1110 1101 xxxx xxxx */ {illegal,0 }, /* ee: 0110 0100 1110 1110 xxxx xxxx */ {illegal,0 }, /* ef: 0110 0100 1110 1111 xxxx xxxx */ {SBI,"ANM,%b" }, /* f0: 0110 0100 1111 0000 xxxx xxxx */ /* 7810 */ {SBI,"SMH,%b" }, /* f1: 0110 0100 1111 0001 xxxx xxxx */ {illegal,0 }, /* f2: 0110 0100 1111 0010 xxxx xxxx */ {SBI,"EOM,%b" }, /* f3: 0110 0100 1111 0011 xxxx xxxx */ {illegal,0 }, /* f4: 0110 0100 1111 0100 xxxx xxxx */ {SBI,"TMM,%b" }, /* f5: 0110 0100 1111 0101 xxxx xxxx */ {illegal,0 }, /* f6: 0110 0100 1111 0110 xxxx xxxx */ {illegal,0 }, /* f7: 0110 0100 1111 0111 xxxx xxxx */ {EQI,"ANM,%b" }, /* f8: 0110 0100 1111 1000 xxxx xxxx */ /* 7810 */ {EQI,"SMH,%b" }, /* f9: 0110 0100 1111 1001 xxxx xxxx */ {illegal,0 }, /* fa: 0110 0100 1111 1010 xxxx xxxx */ {EQI,"EOM,%b" }, /* fb: 0110 0100 1111 1011 xxxx xxxx */ {illegal,0 }, /* fc: 0110 0100 1111 1100 xxxx xxxx */ {EQI,"TMM,%b" }, /* fd: 0110 0100 1111 1101 xxxx xxxx */ {illegal,0 }, /* fe: 0110 0100 1111 1110 xxxx xxxx */ {illegal,0 } /* ff: 0110 0100 1111 1111 xxxx xxxx */ }; static const struct dasm_s dasm64_7807[256] = { {MVI,"PA,%b" }, /* 00: 0110 0100 0000 0000 xxxx xxxx */ {MVI,"PB,%b" }, /* 01: 0110 0100 0000 0001 xxxx xxxx */ {MVI,"PC,%b" }, /* 02: 0110 0100 0000 0010 xxxx xxxx */ {MVI,"PD,%b" }, /* 03: 0110 0100 0000 0011 xxxx xxxx */ {illegal,0 }, /* 04: 0110 0100 0000 0100 xxxx xxxx */ {MVI,"PF,%b" }, /* 05: 0110 0100 0000 0101 xxxx xxxx */ {MVI,"MKH,%b" }, /* 06: 0110 0100 0000 0110 xxxx xxxx */ {MVI,"MKL,%b" }, /* 07: 0110 0100 0000 0111 xxxx xxxx */ {ANI,"PA,%b" }, /* 08: 0110 0100 0000 1000 xxxx xxxx */ {ANI,"PB,%b" }, /* 09: 0110 0100 0000 1001 xxxx xxxx */ {ANI,"PC,%b" }, /* 0a: 0110 0100 0000 1010 xxxx xxxx */ {ANI,"PD,%b" }, /* 0b: 0110 0100 0000 1011 xxxx xxxx */ {illegal,0 }, /* 0c: 0110 0100 0000 1100 xxxx xxxx */ {ANI,"PF,%b" }, /* 0d: 0110 0100 0000 1101 xxxx xxxx */ {ANI,"MKH,%b" }, /* 0e: 0110 0100 0000 1110 xxxx xxxx */ {ANI,"MKL,%b" }, /* 0f: 0110 0100 0000 1111 xxxx xxxx */ {XRI,"PA,%b" }, /* 10: 0110 0100 0001 0000 xxxx xxxx */ {XRI,"PB,%b" }, /* 11: 0110 0100 0001 0001 xxxx xxxx */ {XRI,"PC,%b" }, /* 12: 0110 0100 0001 0010 xxxx xxxx */ {XRI,"PD,%b" }, /* 13: 0110 0100 0001 0011 xxxx xxxx */ {illegal,0 }, /* 14: 0110 0100 0001 0100 xxxx xxxx */ {XRI,"PF,%b" }, /* 15: 0110 0100 0001 0101 xxxx xxxx */ {XRI,"MKH,%b" }, /* 16: 0110 0100 0001 0110 xxxx xxxx */ {XRI,"MKL,%b" }, /* 17: 0110 0100 0001 0111 xxxx xxxx */ {ORI,"PA,%b" }, /* 18: 0110 0100 0001 1000 xxxx xxxx */ {ORI,"PB,%b" }, /* 19: 0110 0100 0001 1001 xxxx xxxx */ {ORI,"PC,%b" }, /* 1a: 0110 0100 0001 1010 xxxx xxxx */ {ORI,"PD,%b" }, /* 1b: 0110 0100 0001 1011 xxxx xxxx */ {illegal,0 }, /* 1c: 0110 0100 0001 1100 xxxx xxxx */ {ORI,"PF,%b" }, /* 1d: 0110 0100 0001 1101 xxxx xxxx */ {ORI,"MKH,%b" }, /* 1e: 0110 0100 0001 1110 xxxx xxxx */ {ORI,"MKL,%b" }, /* 1f: 0110 0100 0001 1111 xxxx xxxx */ {ADINC,"PA,%b" }, /* 20: 0110 0100 0010 0000 xxxx xxxx */ {ADINC,"PB,%b" }, /* 21: 0110 0100 0010 0001 xxxx xxxx */ {ADINC,"PC,%b" }, /* 22: 0110 0100 0010 0010 xxxx xxxx */ {ADINC,"PD,%b" }, /* 23: 0110 0100 0010 0011 xxxx xxxx */ {illegal,0 }, /* 24: 0110 0100 0010 0100 xxxx xxxx */ {ADINC,"PF,%b" }, /* 25: 0110 0100 0010 0101 xxxx xxxx */ {ADINC,"MKH,%b" }, /* 26: 0110 0100 0010 0110 xxxx xxxx */ {ADINC,"MKL,%b" }, /* 27: 0110 0100 0010 0111 xxxx xxxx */ {GTI,"PA,%b" }, /* 28: 0110 0100 0010 1000 xxxx xxxx */ {GTI,"PB,%b" }, /* 29: 0110 0100 0010 1001 xxxx xxxx */ {GTI,"PC,%b" }, /* 2a: 0110 0100 0010 1010 xxxx xxxx */ {GTI,"PD,%b" }, /* 2b: 0110 0100 0010 1011 xxxx xxxx */ {illegal,0 }, /* 2c: 0110 0100 0010 1100 xxxx xxxx */ {GTI,"PF,%b" }, /* 2d: 0110 0100 0010 1101 xxxx xxxx */ {GTI,"MKH,%b" }, /* 2e: 0110 0100 0010 1110 xxxx xxxx */ {GTI,"MKL,%b" }, /* 2f: 0110 0100 0010 1111 xxxx xxxx */ {SUINB,"PA,%b" }, /* 30: 0110 0100 0011 0000 xxxx xxxx */ {SUINB,"PB,%b" }, /* 31: 0110 0100 0011 0001 xxxx xxxx */ {SUINB,"PC,%b" }, /* 32: 0110 0100 0011 0010 xxxx xxxx */ {SUINB,"PD,%b" }, /* 33: 0110 0100 0011 0011 xxxx xxxx */ {illegal,0 }, /* 34: 0110 0100 0011 0100 xxxx xxxx */ {SUINB,"PF,%b" }, /* 35: 0110 0100 0011 0101 xxxx xxxx */ {SUINB,"MKH,%b" }, /* 36: 0110 0100 0011 0110 xxxx xxxx */ {SUINB,"MKL,%b" }, /* 37: 0110 0100 0011 0111 xxxx xxxx */ {LTI,"PA,%b" }, /* 38: 0110 0100 0011 1000 xxxx xxxx */ {LTI,"PB,%b" }, /* 39: 0110 0100 0011 1001 xxxx xxxx */ {LTI,"PC,%b" }, /* 3a: 0110 0100 0011 1010 xxxx xxxx */ {LTI,"PD,%b" }, /* 3b: 0110 0100 0011 1011 xxxx xxxx */ {illegal,0 }, /* 3c: 0110 0100 0011 1100 xxxx xxxx */ {LTI,"PF,%b" }, /* 3d: 0110 0100 0011 1101 xxxx xxxx */ {LTI,"MKH,%b" }, /* 3e: 0110 0100 0011 1110 xxxx xxxx */ {LTI,"MKL,%b" }, /* 3f: 0110 0100 0011 1111 xxxx xxxx */ {ADI,"PA,%b" }, /* 40: 0110 0100 0100 0000 xxxx xxxx */ {ADI,"PB,%b" }, /* 41: 0110 0100 0100 0001 xxxx xxxx */ {ADI,"PC,%b" }, /* 42: 0110 0100 0100 0010 xxxx xxxx */ {ADI,"PD,%b" }, /* 43: 0110 0100 0100 0011 xxxx xxxx */ {illegal,0 }, /* 44: 0110 0100 0100 0100 xxxx xxxx */ {ADI,"PF,%b" }, /* 45: 0110 0100 0100 0101 xxxx xxxx */ {ADI,"MKH,%b" }, /* 46: 0110 0100 0100 0110 xxxx xxxx */ {ADI,"MKL,%b" }, /* 47: 0110 0100 0100 0111 xxxx xxxx */ {ONI,"PA,%b" }, /* 48: 0110 0100 0100 1000 xxxx xxxx */ {ONI,"PB,%b" }, /* 49: 0110 0100 0100 1001 xxxx xxxx */ {ONI,"PC,%b" }, /* 4a: 0110 0100 0100 1010 xxxx xxxx */ {ONI,"PD,%b" }, /* 4b: 0110 0100 0100 1011 xxxx xxxx */ {illegal,0 }, /* 4c: 0110 0100 0100 1100 xxxx xxxx */ {ONI,"PF,%b" }, /* 4d: 0110 0100 0100 1101 xxxx xxxx */ {ONI,"MKH,%b" }, /* 4e: 0110 0100 0100 1110 xxxx xxxx */ {ONI,"MKL,%b" }, /* 4f: 0110 0100 0100 1111 xxxx xxxx */ {ACI,"PA,%b" }, /* 50: 0110 0100 0101 0000 xxxx xxxx */ {ACI,"PB,%b" }, /* 51: 0110 0100 0101 0001 xxxx xxxx */ {ACI,"PC,%b" }, /* 52: 0110 0100 0101 0010 xxxx xxxx */ {ACI,"PD,%b" }, /* 53: 0110 0100 0101 0011 xxxx xxxx */ {illegal,0 }, /* 54: 0110 0100 0101 0100 xxxx xxxx */ {ACI,"PF,%b" }, /* 55: 0110 0100 0101 0101 xxxx xxxx */ {ACI,"MKH,%b" }, /* 56: 0110 0100 0101 0110 xxxx xxxx */ {ACI,"MKL,%b" }, /* 57: 0110 0100 0101 0111 xxxx xxxx */ {OFFI,"PA,%b" }, /* 58: 0110 0100 0101 1000 xxxx xxxx */ {OFFI,"PB,%b" }, /* 59: 0110 0100 0101 1001 xxxx xxxx */ {OFFI,"PC,%b" }, /* 5a: 0110 0100 0101 1010 xxxx xxxx */ {OFFI,"PD,%b" }, /* 5b: 0110 0100 0101 1011 xxxx xxxx */ {illegal,0 }, /* 5c: 0110 0100 0101 1100 xxxx xxxx */ {OFFI,"PF,%b" }, /* 5d: 0110 0100 0101 1101 xxxx xxxx */ {OFFI,"MKH,%b" }, /* 5e: 0110 0100 0101 1110 xxxx xxxx */ {OFFI,"MKL,%b" }, /* 5f: 0110 0100 0101 1111 xxxx xxxx */ {SUI,"PA,%b" }, /* 60: 0110 0100 0110 0000 xxxx xxxx */ {SUI,"PB,%b" }, /* 61: 0110 0100 0110 0001 xxxx xxxx */ {SUI,"PC,%b" }, /* 62: 0110 0100 0110 0010 xxxx xxxx */ {SUI,"PD,%b" }, /* 63: 0110 0100 0110 0011 xxxx xxxx */ {illegal,0 }, /* 64: 0110 0100 0110 0100 xxxx xxxx */ {SUI,"PF,%b" }, /* 65: 0110 0100 0110 0101 xxxx xxxx */ {SUI,"MKH,%b" }, /* 66: 0110 0100 0110 0110 xxxx xxxx */ {SUI,"MKL,%b" }, /* 67: 0110 0100 0110 0111 xxxx xxxx */ {NEI,"PA,%b" }, /* 68: 0110 0100 0110 1000 xxxx xxxx */ {NEI,"PB,%b" }, /* 69: 0110 0100 0110 1001 xxxx xxxx */ {NEI,"PC,%b" }, /* 6a: 0110 0100 0110 1010 xxxx xxxx */ {NEI,"PD,%b" }, /* 6b: 0110 0100 0110 1011 xxxx xxxx */ {illegal,0 }, /* 6c: 0110 0100 0110 1100 xxxx xxxx */ {NEI,"PF,%b" }, /* 6d: 0110 0100 0110 1101 xxxx xxxx */ {NEI,"MKH,%b" }, /* 6e: 0110 0100 0110 1110 xxxx xxxx */ {NEI,"MKL,%b" }, /* 6f: 0110 0100 0110 1111 xxxx xxxx */ {SBI,"PA,%b" }, /* 70: 0110 0100 0111 0000 xxxx xxxx */ {SBI,"PB,%b" }, /* 71: 0110 0100 0111 0001 xxxx xxxx */ {SBI,"PC,%b" }, /* 72: 0110 0100 0111 0010 xxxx xxxx */ {SBI,"PD,%b" }, /* 73: 0110 0100 0111 0011 xxxx xxxx */ {illegal,0 }, /* 74: 0110 0100 0111 0100 xxxx xxxx */ {SBI,"PF,%b" }, /* 75: 0110 0100 0111 0101 xxxx xxxx */ {SBI,"MKH,%b" }, /* 76: 0110 0100 0111 0110 xxxx xxxx */ {SBI,"MKL,%b" }, /* 77: 0110 0100 0111 0111 xxxx xxxx */ {EQI,"PA,%b" }, /* 78: 0110 0100 0111 1000 xxxx xxxx */ {EQI,"PB,%b" }, /* 79: 0110 0100 0111 1001 xxxx xxxx */ {EQI,"PC,%b" }, /* 7a: 0110 0100 0111 1010 xxxx xxxx */ {EQI,"PD,%b" }, /* 7b: 0110 0100 0111 1011 xxxx xxxx */ {illegal,0 }, /* 7c: 0110 0100 0111 1100 xxxx xxxx */ {EQI,"PF,%b" }, /* 7d: 0110 0100 0111 1101 xxxx xxxx */ {EQI,"MKH,%b" }, /* 7e: 0110 0100 0111 1110 xxxx xxxx */ {EQI,"MKL,%b" }, /* 7f: 0110 0100 0111 1111 xxxx xxxx */ {illegal,0 }, /* 80: 0110 0100 1000 0000 xxxx xxxx */ {MVI,"SMH,%b" }, /* 81: 0110 0100 1000 0001 xxxx xxxx */ {illegal,0 }, /* 82: 0110 0100 1000 0010 xxxx xxxx */ {MVI,"EOM,%b" }, /* 83: 0110 0100 1000 0011 xxxx xxxx */ {illegal,0 }, /* 84: 0110 0100 1000 0100 xxxx xxxx */ {MVI,"TMM,%b" }, /* 85: 0110 0100 1000 0101 xxxx xxxx */ {illegal,0 }, /* 86: 0110 0100 1000 0110 xxxx xxxx */ {illegal,0 }, /* 87: 0110 0100 1000 0111 xxxx xxxx */ {illegal,0 }, /* 88: 0110 0100 1000 1000 xxxx xxxx */ {ANI,"SMH,%b" }, /* 89: 0110 0100 1000 1001 xxxx xxxx */ {illegal,0 }, /* 8a: 0110 0100 1000 1010 xxxx xxxx */ {ANI,"EOM,%b" }, /* 8b: 0110 0100 1000 1011 xxxx xxxx */ {illegal,0 }, /* 8c: 0110 0100 1000 1100 xxxx xxxx */ {ANI,"TMM,%b" }, /* 8d: 0110 0100 1000 1101 xxxx xxxx */ {illegal,0 }, /* 8e: 0110 0100 1000 1110 xxxx xxxx */ {illegal,0 }, /* 8f: 0110 0100 1000 1111 xxxx xxxx */ {illegal,0 }, /* 90: 0110 0100 1001 0000 xxxx xxxx */ {XRI,"SMH,%b" }, /* 91: 0110 0100 1001 0001 xxxx xxxx */ {illegal,0 }, /* 92: 0110 0100 1001 0010 xxxx xxxx */ {XRI,"EOM,%b" }, /* 93: 0110 0100 1001 0011 xxxx xxxx */ {illegal,0 }, /* 94: 0110 0100 1001 0100 xxxx xxxx */ {XRI,"TMM,%b" }, /* 95: 0110 0100 1001 0101 xxxx xxxx */ {illegal,0 }, /* 96: 0110 0100 1001 0110 xxxx xxxx */ {illegal,0 }, /* 97: 0110 0100 1001 0111 xxxx xxxx */ {illegal,0 }, /* 98: 0110 0100 1001 1000 xxxx xxxx */ {ORI,"SMH,%b" }, /* 99: 0110 0100 1001 1001 xxxx xxxx */ {illegal,0 }, /* 9a: 0110 0100 1001 1010 xxxx xxxx */ {ORI,"EOM,%b" }, /* 9b: 0110 0100 1001 1011 xxxx xxxx */ {illegal,0 }, /* 9c: 0110 0100 1001 1100 xxxx xxxx */ {ORI,"TMM,%b" }, /* 9d: 0110 0100 1001 1101 xxxx xxxx */ {illegal,0 }, /* 9e: 0110 0100 1001 1110 xxxx xxxx */ {illegal,0 }, /* 9f: 0110 0100 1001 1111 xxxx xxxx */ {illegal,0 }, /* a0: 0110 0100 1010 0000 xxxx xxxx */ {ADINC,"SMH,%b" }, /* a1: 0110 0100 1010 0001 xxxx xxxx */ {illegal,0 }, /* a2: 0110 0100 1010 0010 xxxx xxxx */ {ADINC,"EOM,%b" }, /* a3: 0110 0100 1010 0011 xxxx xxxx */ {illegal,0 }, /* a4: 0110 0100 1010 0100 xxxx xxxx */ {ADINC,"TMM,%b" }, /* a5: 0110 0100 1010 0101 xxxx xxxx */ {illegal,0 }, /* a6: 0110 0100 1010 0110 xxxx xxxx */ {illegal,0 }, /* a7: 0110 0100 1010 0111 xxxx xxxx */ {illegal,0 }, /* a8: 0110 0100 1010 1000 xxxx xxxx */ {GTI,"SMH,%b" }, /* a9: 0110 0100 1010 1001 xxxx xxxx */ {illegal,0 }, /* aa: 0110 0100 1010 1010 xxxx xxxx */ {GTI,"EOM,%b" }, /* ab: 0110 0100 1010 1011 xxxx xxxx */ {illegal,0 }, /* ac: 0110 0100 1010 1100 xxxx xxxx */ {GTI,"TMM,%b" }, /* ad: 0110 0100 1010 1101 xxxx xxxx */ {GTI,"PT,%b" }, /* ae: 0110 0100 1010 1110 xxxx xxxx */ {illegal,0 }, /* af: 0110 0100 1010 1111 xxxx xxxx */ {illegal,0 }, /* b0: 0110 0100 1011 0000 xxxx xxxx */ {SUINB,"SMH,%b" }, /* b1: 0110 0100 1011 0001 xxxx xxxx */ {illegal,0 }, /* b2: 0110 0100 1011 0010 xxxx xxxx */ {SUINB,"EOM,%b" }, /* b3: 0110 0100 1011 0011 xxxx xxxx */ {illegal,0 }, /* b4: 0110 0100 1011 0100 xxxx xxxx */ {SUINB,"TMM,%b" }, /* b5: 0110 0100 1011 0101 xxxx xxxx */ {illegal,0 }, /* b6: 0110 0100 1011 0110 xxxx xxxx */ {illegal,0 }, /* b7: 0110 0100 1011 0111 xxxx xxxx */ {illegal,0 }, /* b8: 0110 0100 1011 1000 xxxx xxxx */ {LTI,"SMH,%b" }, /* b9: 0110 0100 1011 1001 xxxx xxxx */ {illegal,0 }, /* ba: 0110 0100 1011 1010 xxxx xxxx */ {LTI,"EOM,%b" }, /* bb: 0110 0100 1011 1011 xxxx xxxx */ {illegal,0 }, /* bc: 0110 0100 1011 1100 xxxx xxxx */ {LTI,"TMM,%b" }, /* bd: 0110 0100 1011 1101 xxxx xxxx */ {LTI,"PT,%b" }, /* be: 0110 0100 1011 1110 xxxx xxxx */ {illegal,0 }, /* bf: 0110 0100 1011 1111 xxxx xxxx */ {illegal,0 }, /* c0: 0110 0100 1100 0000 xxxx xxxx */ {ADI,"SMH,%b" }, /* c1: 0110 0100 1100 0001 xxxx xxxx */ {illegal,0 }, /* c2: 0110 0100 1100 0010 xxxx xxxx */ {ADI,"EOM,%b" }, /* c3: 0110 0100 1100 0011 xxxx xxxx */ {illegal,0 }, /* c4: 0110 0100 1100 0100 xxxx xxxx */ {ADI,"TMM,%b" }, /* c5: 0110 0100 1100 0101 xxxx xxxx */ {illegal,0 }, /* c6: 0110 0100 1100 0110 xxxx xxxx */ {illegal,0 }, /* c7: 0110 0100 1100 0111 xxxx xxxx */ {illegal,0 }, /* c8: 0110 0100 1100 1000 xxxx xxxx */ {ONI,"SMH,%b" }, /* c9: 0110 0100 1100 1001 xxxx xxxx */ {illegal,0 }, /* ca: 0110 0100 1100 1010 xxxx xxxx */ {ONI,"EOM,%b" }, /* cb: 0110 0100 1100 1011 xxxx xxxx */ {illegal,0 }, /* cc: 0110 0100 1100 1100 xxxx xxxx */ {ONI,"TMM,%b" }, /* cd: 0110 0100 1100 1101 xxxx xxxx */ {ONI,"PT,%b" }, /* ce: 0110 0100 1100 1110 xxxx xxxx */ {illegal,0 }, /* cf: 0110 0100 1100 1111 xxxx xxxx */ {illegal,0 }, /* d0: 0110 0100 1101 0000 xxxx xxxx */ {ACI,"SMH,%b" }, /* d1: 0110 0100 1101 0001 xxxx xxxx */ {illegal,0 }, /* d2: 0110 0100 1101 0010 xxxx xxxx */ {ACI,"EOM,%b" }, /* d3: 0110 0100 1101 0011 xxxx xxxx */ {illegal,0 }, /* d4: 0110 0100 1101 0100 xxxx xxxx */ {ACI,"TMM,%b" }, /* d5: 0110 0100 1101 0101 xxxx xxxx */ {illegal,0 }, /* d6: 0110 0100 1101 0110 xxxx xxxx */ {illegal,0 }, /* d7: 0110 0100 1101 0111 xxxx xxxx */ {illegal,0 }, /* d8: 0110 0100 1101 1000 xxxx xxxx */ {OFFI,"SMH,%b" }, /* d9: 0110 0100 1101 1001 xxxx xxxx */ {illegal,0 }, /* da: 0110 0100 1101 1010 xxxx xxxx */ {OFFI,"EOM,%b" }, /* db: 0110 0100 1101 1011 xxxx xxxx */ {illegal,0 }, /* dc: 0110 0100 1101 1100 xxxx xxxx */ {OFFI,"TMM,%b" }, /* dd: 0110 0100 1101 1101 xxxx xxxx */ {OFFI,"PT,%b" }, /* de: 0110 0100 1101 1110 xxxx xxxx */ {illegal,0 }, /* df: 0110 0100 1101 1111 xxxx xxxx */ {illegal,0 }, /* e0: 0110 0100 1110 0000 xxxx xxxx */ {SUI,"SMH,%b" }, /* e1: 0110 0100 1110 0001 xxxx xxxx */ {illegal,0 }, /* e2: 0110 0100 1110 0010 xxxx xxxx */ {SUI,"EOM,%b" }, /* e3: 0110 0100 1110 0011 xxxx xxxx */ {illegal,0 }, /* e4: 0110 0100 1110 0100 xxxx xxxx */ {SUI,"TMM,%b" }, /* e5: 0110 0100 1110 0101 xxxx xxxx */ {illegal,0 }, /* e6: 0110 0100 1110 0110 xxxx xxxx */ {illegal,0 }, /* e7: 0110 0100 1110 0111 xxxx xxxx */ {illegal,0 }, /* e8: 0110 0100 1110 1000 xxxx xxxx */ {NEI,"SMH,%b" }, /* e9: 0110 0100 1110 1001 xxxx xxxx */ {illegal,0 }, /* ea: 0110 0100 1110 1010 xxxx xxxx */ {NEI,"EOM,%b" }, /* eb: 0110 0100 1110 1011 xxxx xxxx */ {illegal,0 }, /* ec: 0110 0100 1110 1100 xxxx xxxx */ {NEI,"TMM,%b" }, /* ed: 0110 0100 1110 1101 xxxx xxxx */ {NEI,"PT,%b" }, /* ee: 0110 0100 1110 1110 xxxx xxxx */ {illegal,0 }, /* ef: 0110 0100 1110 1111 xxxx xxxx */ {illegal,0 }, /* f0: 0110 0100 1111 0000 xxxx xxxx */ {SBI,"SMH,%b" }, /* f1: 0110 0100 1111 0001 xxxx xxxx */ {illegal,0 }, /* f2: 0110 0100 1111 0010 xxxx xxxx */ {SBI,"EOM,%b" }, /* f3: 0110 0100 1111 0011 xxxx xxxx */ {illegal,0 }, /* f4: 0110 0100 1111 0100 xxxx xxxx */ {SBI,"TMM,%b" }, /* f5: 0110 0100 1111 0101 xxxx xxxx */ {illegal,0 }, /* f6: 0110 0100 1111 0110 xxxx xxxx */ {illegal,0 }, /* f7: 0110 0100 1111 0111 xxxx xxxx */ {illegal,0 }, /* f8: 0110 0100 1111 1000 xxxx xxxx */ {EQI,"SMH,%b" }, /* f9: 0110 0100 1111 1001 xxxx xxxx */ {illegal,0 }, /* fa: 0110 0100 1111 1010 xxxx xxxx */ {EQI,"EOM,%b" }, /* fb: 0110 0100 1111 1011 xxxx xxxx */ {illegal,0 }, /* fc: 0110 0100 1111 1100 xxxx xxxx */ {EQI,"TMM,%b" }, /* fd: 0110 0100 1111 1101 xxxx xxxx */ {EQI,"PT,%b" }, /* fe: 0110 0100 1111 1110 xxxx xxxx */ {illegal,0 } /* ff: 0110 0100 1111 1111 xxxx xxxx */ }; /* prefix 70 */ static const struct dasm_s dasm70[256] = { {illegal,0 }, /* 00: 0111 0000 0000 0000 */ {illegal,0 }, /* 01: 0111 0000 0000 0001 */ {illegal,0 }, /* 02: 0111 0000 0000 0010 */ {illegal,0 }, /* 03: 0111 0000 0000 0011 */ {illegal,0 }, /* 04: 0111 0000 0000 0100 */ {illegal,0 }, /* 05: 0111 0000 0000 0101 */ {illegal,0 }, /* 06: 0111 0000 0000 0110 */ {illegal,0 }, /* 07: 0111 0000 0000 0111 */ {illegal,0 }, /* 08: 0111 0000 0000 1000 */ {illegal,0 }, /* 09: 0111 0000 0000 1001 */ {illegal,0 }, /* 0a: 0111 0000 0000 1010 */ {illegal,0 }, /* 0b: 0111 0000 0000 1011 */ {illegal,0 }, /* 0c: 0111 0000 0000 1100 */ {illegal,0 }, /* 0d: 0111 0000 0000 1101 */ {SSPD,"%w" }, /* 0e: 0111 0000 0000 1110 llll llll hhhh hhhh */ {LSPD,"%w" }, /* 0f: 0111 0000 0000 1111 llll llll hhhh hhhh */ {illegal,0 }, /* 10: 0111 0000 0001 0000 */ {illegal,0 }, /* 11: 0111 0000 0001 0001 */ {illegal,0 }, /* 12: 0111 0000 0001 0010 */ {illegal,0 }, /* 13: 0111 0000 0001 0011 */ {illegal,0 }, /* 14: 0111 0000 0001 0100 */ {illegal,0 }, /* 15: 0111 0000 0001 0101 */ {illegal,0 }, /* 16: 0111 0000 0001 0110 */ {illegal,0 }, /* 17: 0111 0000 0001 0111 */ {illegal,0 }, /* 18: 0111 0000 0001 1000 */ {illegal,0 }, /* 19: 0111 0000 0001 1001 */ {illegal,0 }, /* 1a: 0111 0000 0001 1010 */ {illegal,0 }, /* 1b: 0111 0000 0001 1011 */ {illegal,0 }, /* 1c: 0111 0000 0001 1100 */ {illegal,0 }, /* 1d: 0111 0000 0001 1101 */ {SBCD,"%w" }, /* 1e: 0111 0000 0001 1110 llll llll hhhh hhhh */ {LBCD,"%w" }, /* 1f: 0111 0000 0001 1111 llll llll hhhh hhhh */ {illegal,0 }, /* 20: 0111 0000 0010 0000 */ {illegal,0 }, /* 21: 0111 0000 0010 0001 */ {illegal,0 }, /* 22: 0111 0000 0010 0010 */ {illegal,0 }, /* 23: 0111 0000 0010 0011 */ {illegal,0 }, /* 24: 0111 0000 0010 0100 */ {illegal,0 }, /* 25: 0111 0000 0010 0101 */ {illegal,0 }, /* 26: 0111 0000 0010 0110 */ {illegal,0 }, /* 27: 0111 0000 0010 0111 */ {illegal,0 }, /* 28: 0111 0000 0010 1000 */ {illegal,0 }, /* 29: 0111 0000 0010 1001 */ {illegal,0 }, /* 2a: 0111 0000 0010 1010 */ {illegal,0 }, /* 2b: 0111 0000 0010 1011 */ {illegal,0 }, /* 2c: 0111 0000 0010 1100 */ {illegal,0 }, /* 2d: 0111 0000 0010 1101 */ {SDED,"%w" }, /* 2e: 0111 0000 0010 1110 llll llll hhhh hhhh */ {LDED,"%w" }, /* 2f: 0111 0000 0010 1111 llll llll hhhh hhhh */ {illegal,0 }, /* 30: 0111 0000 0011 0000 */ {illegal,0 }, /* 31: 0111 0000 0011 0001 */ {illegal,0 }, /* 32: 0111 0000 0011 0010 */ {illegal,0 }, /* 33: 0111 0000 0011 0011 */ {illegal,0 }, /* 34: 0111 0000 0011 0100 */ {illegal,0 }, /* 35: 0111 0000 0011 0101 */ {illegal,0 }, /* 36: 0111 0000 0011 0110 */ {illegal,0 }, /* 37: 0111 0000 0011 0111 */ {illegal,0 }, /* 38: 0111 0000 0011 1000 */ {illegal,0 }, /* 39: 0111 0000 0011 1001 */ {illegal,0 }, /* 3a: 0111 0000 0011 1010 */ {illegal,0 }, /* 3b: 0111 0000 0011 1011 */ {illegal,0 }, /* 3c: 0111 0000 0011 1100 */ {illegal,0 }, /* 3d: 0111 0000 0011 1101 */ {SHLD,"%w" }, /* 3e: 0111 0000 0011 1110 llll llll hhhh hhhh */ {LHLD,"%w" }, /* 3f: 0111 0000 0011 1111 llll llll hhhh hhhh */ {EADD,"EA,V" }, /* 40: 0111 0000 0100 0000 */ {EADD,"EA,A" }, /* 41: 0111 0000 0100 0001 */ {EADD,"EA,B" }, /* 42: 0111 0000 0100 0010 */ {EADD,"EA,C" }, /* 43: 0111 0000 0100 0011 */ {illegal,0 }, /* 44: 0111 0000 0100 0100 */ {illegal,0 }, /* 45: 0111 0000 0100 0101 */ {illegal,0 }, /* 46: 0111 0000 0100 0110 */ {illegal,0 }, /* 47: 0111 0000 0100 0111 */ {illegal,0 }, /* 48: 0111 0000 0100 1000 */ {illegal,0 }, /* 49: 0111 0000 0100 1001 */ {illegal,0 }, /* 4a: 0111 0000 0100 1010 */ {illegal,0 }, /* 4b: 0111 0000 0100 1011 */ {illegal,0 }, /* 4c: 0111 0000 0100 1100 */ {illegal,0 }, /* 4d: 0111 0000 0100 1101 */ {illegal,0 }, /* 4e: 0111 0000 0100 1110 */ {illegal,0 }, /* 4f: 0111 0000 0100 1111 */ {illegal,0 }, /* 50: 0111 0000 0101 0000 */ {illegal,0 }, /* 51: 0111 0000 0101 0001 */ {illegal,0 }, /* 52: 0111 0000 0101 0010 */ {illegal,0 }, /* 53: 0111 0000 0101 0011 */ {illegal,0 }, /* 54: 0111 0000 0101 0100 */ {illegal,0 }, /* 55: 0111 0000 0101 0101 */ {illegal,0 }, /* 56: 0111 0000 0101 0110 */ {illegal,0 }, /* 57: 0111 0000 0101 0111 */ {illegal,0 }, /* 58: 0111 0000 0101 1000 */ {illegal,0 }, /* 59: 0111 0000 0101 1001 */ {illegal,0 }, /* 5a: 0111 0000 0101 1010 */ {illegal,0 }, /* 5b: 0111 0000 0101 1011 */ {illegal,0 }, /* 5c: 0111 0000 0101 1100 */ {illegal,0 }, /* 5d: 0111 0000 0101 1101 */ {illegal,0 }, /* 5e: 0111 0000 0101 1110 */ {illegal,0 }, /* 5f: 0111 0000 0101 1111 */ {ESUB,"EA,V" }, /* 60: 0111 0000 0110 0000 */ {ESUB,"EA,A" }, /* 61: 0111 0000 0110 0001 */ {ESUB,"EA,B" }, /* 62: 0111 0000 0110 0010 */ {ESUB,"EA,C" }, /* 63: 0111 0000 0110 0011 */ {illegal,0 }, /* 64: 0111 0000 0110 0100 */ {illegal,0 }, /* 65: 0111 0000 0110 0101 */ {illegal,0 }, /* 66: 0111 0000 0110 0110 */ {illegal,0 }, /* 67: 0111 0000 0110 0111 */ {MOV,"V,(%w)" }, /* 68: 0111 0000 0110 1000 llll llll hhhh hhhh */ {MOV,"A,(%w)" }, /* 69: 0111 0000 0110 1001 llll llll hhhh hhhh */ {MOV,"B,(%w)" }, /* 6a: 0111 0000 0110 1010 llll llll hhhh hhhh */ {MOV,"C,(%w)" }, /* 6b: 0111 0000 0110 1011 llll llll hhhh hhhh */ {MOV,"D,(%w)" }, /* 6c: 0111 0000 0110 1100 llll llll hhhh hhhh */ {MOV,"E,(%w)" }, /* 6d: 0111 0000 0110 1101 llll llll hhhh hhhh */ {MOV,"H,(%w)" }, /* 6e: 0111 0000 0110 1110 llll llll hhhh hhhh */ {MOV,"L,(%w)" }, /* 6f: 0111 0000 0110 1111 llll llll hhhh hhhh */ {illegal,0 }, /* 70: 0111 0000 0111 0000 */ {illegal,0 }, /* 71: 0111 0000 0111 0001 */ {illegal,0 }, /* 72: 0111 0000 0111 0010 */ {illegal,0 }, /* 73: 0111 0000 0111 0011 */ {illegal,0 }, /* 74: 0111 0000 0111 0100 */ {illegal,0 }, /* 75: 0111 0000 0111 0101 */ {illegal,0 }, /* 76: 0111 0000 0111 0110 */ {illegal,0 }, /* 77: 0111 0000 0111 0111 */ {MOV,"(%w),V" }, /* 78: 0111 0000 0111 1000 llll llll hhhh hhhh */ {MOV,"(%w),A" }, /* 79: 0111 0000 0111 1001 llll llll hhhh hhhh */ {MOV,"(%w),B" }, /* 7a: 0111 0000 0111 1010 llll llll hhhh hhhh */ {MOV,"(%w),C" }, /* 7b: 0111 0000 0111 1011 llll llll hhhh hhhh */ {MOV,"(%w),D" }, /* 7c: 0111 0000 0111 1100 llll llll hhhh hhhh */ {MOV,"(%w),E" }, /* 7d: 0111 0000 0111 1101 llll llll hhhh hhhh */ {MOV,"(%w),H" }, /* 7e: 0111 0000 0111 1110 llll llll hhhh hhhh */ {MOV,"(%w),L" }, /* 7f: 0111 0000 0111 1111 llll llll hhhh hhhh */ {illegal,0 }, /* 80: 0111 0000 1000 0000 */ {illegal,0 }, /* 81: 0111 0000 1000 0001 */ {illegal,0 }, /* 82: 0111 0000 1000 0010 */ {illegal,0 }, /* 83: 0111 0000 1000 0011 */ {illegal,0 }, /* 84: 0111 0000 1000 0100 */ {illegal,0 }, /* 85: 0111 0000 1000 0101 */ {illegal,0 }, /* 86: 0111 0000 1000 0110 */ {illegal,0 }, /* 87: 0111 0000 1000 0111 */ {illegal,0 }, /* 88: 0111 0000 1000 1000 */ {ANAX,"(BC)" }, /* 89: 0111 0000 1000 1001 */ {ANAX,"(DE)" }, /* 8a: 0111 0000 1000 1010 */ {ANAX,"(HL)" }, /* 8b: 0111 0000 1000 1011 */ {ANAX,"(DE+)" }, /* 8c: 0111 0000 1000 1100 */ {ANAX,"(HL+)" }, /* 8d: 0111 0000 1000 1101 */ {ANAX,"(DE-)" }, /* 8e: 0111 0000 1000 1110 */ {ANAX,"(HL-)" }, /* 8f: 0111 0000 1000 1111 */ {illegal,0 }, /* 90: 0111 0000 1001 0000 */ {XRAX,"(BC)" }, /* 91: 0111 0000 1001 0001 */ {XRAX,"(DE)" }, /* 92: 0111 0000 1001 0010 */ {XRAX,"(HL)" }, /* 93: 0111 0000 1001 0011 */ {XRAX,"(DE+)" }, /* 94: 0111 0000 1001 0100 */ {XRAX,"(HL+)" }, /* 95: 0111 0000 1001 0101 */ {XRAX,"(DE-)" }, /* 96: 0111 0000 1001 0110 */ {XRAX,"(HL-)" }, /* 97: 0111 0000 1001 0111 */ {illegal,0 }, /* 98: 0111 0000 1001 1000 */ {ORAX,"(BC)" }, /* 99: 0111 0000 1001 1001 */ {ORAX,"(DE)" }, /* 9a: 0111 0000 1001 1010 */ {ORAX,"(HL)" }, /* 9b: 0111 0000 1001 1011 */ {ORAX,"(DE+)" }, /* 9c: 0111 0000 1001 1100 */ {ORAX,"(HL+)" }, /* 9d: 0111 0000 1001 1101 */ {ORAX,"(DE-)" }, /* 9e: 0111 0000 1001 1110 */ {ORAX,"(HL-)" }, /* 9f: 0111 0000 1001 1111 */ {illegal,0 }, /* a0: 0111 0000 1010 0000 */ {ADDNCX,"(BC)" }, /* a1: 0111 0000 1010 0001 */ {ADDNCX,"(DE)" }, /* a2: 0111 0000 1010 0010 */ {ADDNCX,"(HL)" }, /* a3: 0111 0000 1010 0011 */ {ADDNCX,"(DE+)" }, /* a4: 0111 0000 1010 0100 */ {ADDNCX,"(HL+)" }, /* a5: 0111 0000 1010 0101 */ {ADDNCX,"(DE-)" }, /* a6: 0111 0000 1010 0110 */ {ADDNCX,"(HL-)" }, /* a7: 0111 0000 1010 0111 */ {illegal,0 }, /* a8: 0111 0000 1010 1000 */ {GTAX,"(BC)" }, /* a9: 0111 0000 1010 1001 */ {GTAX,"(DE)" }, /* aa: 0111 0000 1010 1010 */ {GTAX,"(HL)" }, /* ab: 0111 0000 1010 1011 */ {GTAX,"(DE+)" }, /* ac: 0111 0000 1010 1100 */ {GTAX,"(HL+)" }, /* ad: 0111 0000 1010 1101 */ {GTAX,"(DE-)" }, /* ae: 0111 0000 1010 1110 */ {GTAX,"(HL-)" }, /* af: 0111 0000 1010 1111 */ {illegal,0 }, /* b0: 0111 0000 1011 0000 */ {SUBNBX,"(BC)" }, /* b1: 0111 0000 1011 0001 */ {SUBNBX,"(DE)" }, /* b2: 0111 0000 1011 0010 */ {SUBNBX,"(HL)" }, /* b3: 0111 0000 1011 0011 */ {SUBNBX,"(DE+)" }, /* b4: 0111 0000 1011 0100 */ {SUBNBX,"(HL+)" }, /* b5: 0111 0000 1011 0101 */ {SUBNBX,"(DE-)" }, /* b6: 0111 0000 1011 0110 */ {SUBNBX,"(HL-)" }, /* b7: 0111 0000 1011 0111 */ {illegal,0 }, /* b8: 0111 0000 1011 1000 */ {LTAX,"(BC)" }, /* b9: 0111 0000 1011 1001 */ {LTAX,"(DE)" }, /* ba: 0111 0000 1011 1010 */ {LTAX,"(HL)" }, /* bb: 0111 0000 1011 1011 */ {LTAX,"(DE+)" }, /* bc: 0111 0000 1011 1100 */ {LTAX,"(HL+)" }, /* bd: 0111 0000 1011 1101 */ {LTAX,"(DE-)" }, /* be: 0111 0000 1011 1110 */ {LTAX,"(HL-)" }, /* bf: 0111 0000 1011 1111 */ {illegal,0 }, /* c0: 0111 0000 1100 0000 */ {ADDX,"(BC)" }, /* c1: 0111 0000 1100 0001 */ {ADDX,"(DE)" }, /* c2: 0111 0000 1100 0010 */ {ADDX,"(HL)" }, /* c3: 0111 0000 1100 0011 */ {ADDX,"(DE+)" }, /* c4: 0111 0000 1100 0100 */ {ADDX,"(HL+)" }, /* c5: 0111 0000 1100 0101 */ {ADDX,"(DE-)" }, /* c6: 0111 0000 1100 0110 */ {ADDX,"(HL-)" }, /* c7: 0111 0000 1100 0111 */ {illegal,0 }, /* c8: 0111 0000 1100 1000 */ {ONAX,"(BC)" }, /* c9: 0111 0000 1100 1001 */ {ONAX,"(DE)" }, /* ca: 0111 0000 1100 1010 */ {ONAX,"(HL)" }, /* cb: 0111 0000 1100 1011 */ {ONAX,"(DE+)" }, /* cc: 0111 0000 1100 1100 */ {ONAX,"(HL+)" }, /* cd: 0111 0000 1100 1101 */ {ONAX,"(DE-)" }, /* ce: 0111 0000 1100 1110 */ {ONAX,"(HL-)" }, /* cf: 0111 0000 1100 1111 */ {illegal,0 }, /* d0: 0111 0000 1101 0000 */ {ADCX,"(BC)" }, /* d1: 0111 0000 1101 0001 */ {ADCX,"(DE)" }, /* d2: 0111 0000 1101 0010 */ {ADCX,"(HL)" }, /* d3: 0111 0000 1101 0011 */ {ADCX,"(DE+)" }, /* d4: 0111 0000 1101 0100 */ {ADCX,"(HL+)" }, /* d5: 0111 0000 1101 0101 */ {ADCX,"(DE-)" }, /* d6: 0111 0000 1101 0110 */ {ADCX,"(HL-)" }, /* d7: 0111 0000 1101 0111 */ {illegal,0 }, /* d8: 0111 0000 1101 1000 */ {OFFAX,"(BC)" }, /* d9: 0111 0000 1101 1001 */ {OFFAX,"(DE)" }, /* da: 0111 0000 1101 1010 */ {OFFAX,"(HL)" }, /* db: 0111 0000 1101 1011 */ {OFFAX,"(DE+)" }, /* dc: 0111 0000 1101 1100 */ {OFFAX,"(HL+)" }, /* dd: 0111 0000 1101 1101 */ {OFFAX,"(DE-)" }, /* de: 0111 0000 1101 1110 */ {OFFAX,"(HL-)" }, /* df: 0111 0000 1101 1111 */ {illegal,0 }, /* e0: 0111 0000 1110 0000 */ {SUBX,"(BC)" }, /* e1: 0111 0000 1110 0001 */ {SUBX,"(DE)" }, /* e2: 0111 0000 1110 0010 */ {SUBX,"(HL)" }, /* e3: 0111 0000 1110 0011 */ {SUBX,"(DE+)" }, /* e4: 0111 0000 1110 0100 */ {SUBX,"(HL+)" }, /* e5: 0111 0000 1110 0101 */ {SUBX,"(DE-)" }, /* e6: 0111 0000 1110 0110 */ {SUBX,"(HL-)" }, /* e7: 0111 0000 1110 0111 */ {illegal,0 }, /* e8: 0111 0000 1110 1000 */ {NEAX,"(BC)" }, /* e9: 0111 0000 1110 1001 */ {NEAX,"(DE)" }, /* ea: 0111 0000 1110 1010 */ {NEAX,"(HL)" }, /* eb: 0111 0000 1110 1011 */ {NEAX,"(DE+)" }, /* ec: 0111 0000 1110 1100 */ {NEAX,"(HL+)" }, /* ed: 0111 0000 1110 1101 */ {NEAX,"(DE-)" }, /* ee: 0111 0000 1110 1110 */ {NEAX,"(HL-)" }, /* ef: 0111 0000 1110 1111 */ {illegal,0 }, /* f0: 0111 0000 1111 0000 */ {SBBX,"(BC)" }, /* f1: 0111 0000 1111 0001 */ {SBBX,"(DE)" }, /* f2: 0111 0000 1111 0010 */ {SBBX,"(HL)" }, /* f3: 0111 0000 1111 0011 */ {SBBX,"(DE+)" }, /* f4: 0111 0000 1111 0100 */ {SBBX,"(HL+)" }, /* f5: 0111 0000 1111 0101 */ {SBBX,"(DE-)" }, /* f6: 0111 0000 1111 0110 */ {SBBX,"(HL-)" }, /* f7: 0111 0000 1111 0111 */ {illegal,0 }, /* f8: 0111 0000 1111 1000 */ {EQAX,"(BC)" }, /* f9: 0111 0000 1111 1001 */ {EQAX,"(DE)" }, /* fa: 0111 0000 1111 1010 */ {EQAX,"(HL)" }, /* fb: 0111 0000 1111 1011 */ {EQAX,"(DE+)" }, /* fc: 0111 0000 1111 1100 */ {EQAX,"(HL+)" }, /* fd: 0111 0000 1111 1101 */ {EQAX,"(DE-)" }, /* fe: 0111 0000 1111 1110 */ {EQAX,"(HL-)" } /* ff: 0111 0000 1111 1111 */ }; /* prefix 74 */ static const struct dasm_s dasm74[256] = { {illegal,0 }, /* 00: 0111 0100 0000 0000 */ {illegal,0 }, /* 01: 0111 0100 0000 0001 */ {illegal,0 }, /* 02: 0111 0100 0000 0010 */ {illegal,0 }, /* 03: 0111 0100 0000 0011 */ {illegal,0 }, /* 04: 0111 0100 0000 0100 */ {illegal,0 }, /* 05: 0111 0100 0000 0101 */ {illegal,0 }, /* 06: 0111 0100 0000 0110 */ {illegal,0 }, /* 07: 0111 0100 0000 0111 */ {ANI,"V,%b" }, /* 08: 0111 0100 0000 1000 xxxx xxxx */ {ANI,"A,%b" }, /* 09: 0111 0100 0000 1001 xxxx xxxx */ {ANI,"B,%b" }, /* 0a: 0111 0100 0000 1010 xxxx xxxx */ {ANI,"C,%b" }, /* 0b: 0111 0100 0000 1011 xxxx xxxx */ {ANI,"D,%b" }, /* 0c: 0111 0100 0000 1100 xxxx xxxx */ {ANI,"E,%b" }, /* 0d: 0111 0100 0000 1101 xxxx xxxx */ {ANI,"H,%b" }, /* 0e: 0111 0100 0000 1110 xxxx xxxx */ {ANI,"L,%b" }, /* 0f: 0111 0100 0000 1111 xxxx xxxx */ {XRI,"V,%b" }, /* 10: 0111 0100 0001 0000 xxxx xxxx */ {XRI,"A,%b" }, /* 11: 0111 0100 0001 0001 xxxx xxxx */ {XRI,"B,%b" }, /* 12: 0111 0100 0001 0010 xxxx xxxx */ {XRI,"C,%b" }, /* 13: 0111 0100 0001 0011 xxxx xxxx */ {XRI,"D,%b" }, /* 14: 0111 0100 0001 0100 xxxx xxxx */ {XRI,"E,%b" }, /* 15: 0111 0100 0001 0101 xxxx xxxx */ {XRI,"H,%b" }, /* 16: 0111 0100 0001 0110 xxxx xxxx */ {XRI,"L,%b" }, /* 17: 0111 0100 0001 0111 xxxx xxxx */ {ORI,"V,%b" }, /* 18: 0111 0100 0001 1000 xxxx xxxx */ {ORI,"A,%b" }, /* 19: 0111 0100 0001 1001 xxxx xxxx */ {ORI,"B,%b" }, /* 1a: 0111 0100 0001 1010 xxxx xxxx */ {ORI,"C,%b" }, /* 1b: 0111 0100 0001 1011 xxxx xxxx */ {ORI,"D,%b" }, /* 1c: 0111 0100 0001 1100 xxxx xxxx */ {ORI,"E,%b" }, /* 1d: 0111 0100 0001 1101 xxxx xxxx */ {ORI,"H,%b" }, /* 1e: 0111 0100 0001 1110 xxxx xxxx */ {ORI,"L,%b" }, /* 1f: 0111 0100 0001 1111 xxxx xxxx */ {ADINC,"V,%b" }, /* 20: 0111 0100 0010 0000 xxxx xxxx */ {ADINC,"A,%b" }, /* 21: 0111 0100 0010 0001 xxxx xxxx */ {ADINC,"B,%b" }, /* 22: 0111 0100 0010 0010 xxxx xxxx */ {ADINC,"C,%b" }, /* 23: 0111 0100 0010 0011 xxxx xxxx */ {ADINC,"D,%b" }, /* 24: 0111 0100 0010 0100 xxxx xxxx */ {ADINC,"E,%b" }, /* 25: 0111 0100 0010 0101 xxxx xxxx */ {ADINC,"H,%b" }, /* 26: 0111 0100 0010 0110 xxxx xxxx */ {ADINC,"L,%b" }, /* 27: 0111 0100 0010 0111 xxxx xxxx */ {GTI,"V,%b" }, /* 28: 0111 0100 0010 1000 xxxx xxxx */ {GTI,"A,%b" }, /* 29: 0111 0100 0010 1001 xxxx xxxx */ {GTI,"B,%b" }, /* 2a: 0111 0100 0010 1010 xxxx xxxx */ {GTI,"C,%b" }, /* 2b: 0111 0100 0010 1011 xxxx xxxx */ {GTI,"D,%b" }, /* 2c: 0111 0100 0010 1100 xxxx xxxx */ {GTI,"E,%b" }, /* 2d: 0111 0100 0010 1101 xxxx xxxx */ {GTI,"H,%b" }, /* 2e: 0111 0100 0010 1110 xxxx xxxx */ {GTI,"L,%b" }, /* 2f: 0111 0100 0010 1111 xxxx xxxx */ {SUINB,"V,%b" }, /* 30: 0111 0100 0011 0000 xxxx xxxx */ {SUINB,"A,%b" }, /* 31: 0111 0100 0011 0001 xxxx xxxx */ {SUINB,"B,%b" }, /* 32: 0111 0100 0011 0010 xxxx xxxx */ {SUINB,"C,%b" }, /* 33: 0111 0100 0011 0011 xxxx xxxx */ {SUINB,"D,%b" }, /* 34: 0111 0100 0011 0100 xxxx xxxx */ {SUINB,"E,%b" }, /* 35: 0111 0100 0011 0101 xxxx xxxx */ {SUINB,"H,%b" }, /* 36: 0111 0100 0011 0110 xxxx xxxx */ {SUINB,"L,%b" }, /* 37: 0111 0100 0011 0111 xxxx xxxx */ {LTI,"V,%b" }, /* 38: 0111 0100 0011 1000 xxxx xxxx */ {LTI,"A,%b" }, /* 39: 0111 0100 0011 1001 xxxx xxxx */ {LTI,"B,%b" }, /* 3a: 0111 0100 0011 1010 xxxx xxxx */ {LTI,"C,%b" }, /* 3b: 0111 0100 0011 1011 xxxx xxxx */ {LTI,"D,%b" }, /* 3c: 0111 0100 0011 1100 xxxx xxxx */ {LTI,"E,%b" }, /* 3d: 0111 0100 0011 1101 xxxx xxxx */ {LTI,"H,%b" }, /* 3e: 0111 0100 0011 1110 xxxx xxxx */ {LTI,"L,%b" }, /* 3f: 0111 0100 0011 1111 xxxx xxxx */ {ADI,"V,%b" }, /* 40: 0111 0100 0100 0000 xxxx xxxx */ {ADI,"A,%b" }, /* 41: 0111 0100 0100 0001 xxxx xxxx */ {ADI,"B,%b" }, /* 42: 0111 0100 0100 0010 xxxx xxxx */ {ADI,"C,%b" }, /* 43: 0111 0100 0100 0011 xxxx xxxx */ {ADI,"D,%b" }, /* 44: 0111 0100 0100 0100 xxxx xxxx */ {ADI,"E,%b" }, /* 45: 0111 0100 0100 0101 xxxx xxxx */ {ADI,"H,%b" }, /* 46: 0111 0100 0100 0110 xxxx xxxx */ {ADI,"L,%b" }, /* 47: 0111 0100 0100 0111 xxxx xxxx */ {ONI,"V,%b" }, /* 48: 0111 0100 0100 1000 xxxx xxxx */ {ONI,"A,%b" }, /* 49: 0111 0100 0100 1001 xxxx xxxx */ {ONI,"B,%b" }, /* 4a: 0111 0100 0100 1010 xxxx xxxx */ {ONI,"C,%b" }, /* 4b: 0111 0100 0100 1011 xxxx xxxx */ {ONI,"D,%b" }, /* 4c: 0111 0100 0100 1100 xxxx xxxx */ {ONI,"E,%b" }, /* 4d: 0111 0100 0100 1101 xxxx xxxx */ {ONI,"H,%b" }, /* 4e: 0111 0100 0100 1110 xxxx xxxx */ {ONI,"L,%b" }, /* 4f: 0111 0100 0100 1111 xxxx xxxx */ {ACI,"V,%b" }, /* 50: 0111 0100 0101 0000 xxxx xxxx */ {ACI,"A,%b" }, /* 51: 0111 0100 0101 0001 xxxx xxxx */ {ACI,"B,%b" }, /* 52: 0111 0100 0101 0010 xxxx xxxx */ {ACI,"C,%b" }, /* 53: 0111 0100 0101 0011 xxxx xxxx */ {ACI,"D,%b" }, /* 54: 0111 0100 0101 0100 xxxx xxxx */ {ACI,"E,%b" }, /* 55: 0111 0100 0101 0101 xxxx xxxx */ {ACI,"H,%b" }, /* 56: 0111 0100 0101 0110 xxxx xxxx */ {ACI,"L,%b" }, /* 57: 0111 0100 0101 0111 xxxx xxxx */ {OFFI,"V,%b" }, /* 58: 0111 0100 0101 1000 xxxx xxxx */ {OFFI,"A,%b" }, /* 59: 0111 0100 0101 1001 xxxx xxxx */ {OFFI,"B,%b" }, /* 5a: 0111 0100 0101 1010 xxxx xxxx */ {OFFI,"C,%b" }, /* 5b: 0111 0100 0101 1011 xxxx xxxx */ {OFFI,"D,%b" }, /* 5c: 0111 0100 0101 1100 xxxx xxxx */ {OFFI,"E,%b" }, /* 5d: 0111 0100 0101 1101 xxxx xxxx */ {OFFI,"H,%b" }, /* 5e: 0111 0100 0101 1110 xxxx xxxx */ {OFFI,"L,%b" }, /* 5f: 0111 0100 0101 1111 xxxx xxxx */ {SUI,"V,%b" }, /* 60: 0111 0100 0110 0000 xxxx xxxx */ {SUI,"A,%b" }, /* 61: 0111 0100 0110 0001 xxxx xxxx */ {SUI,"B,%b" }, /* 62: 0111 0100 0110 0010 xxxx xxxx */ {SUI,"C,%b" }, /* 63: 0111 0100 0110 0011 xxxx xxxx */ {SUI,"D,%b" }, /* 64: 0111 0100 0110 0100 xxxx xxxx */ {SUI,"E,%b" }, /* 65: 0111 0100 0110 0101 xxxx xxxx */ {SUI,"H,%b" }, /* 66: 0111 0100 0110 0110 xxxx xxxx */ {SUI,"L,%b" }, /* 67: 0111 0100 0110 0111 xxxx xxxx */ {NEI,"V,%b" }, /* 68: 0111 0100 0110 1000 xxxx xxxx */ {NEI,"A,%b" }, /* 69: 0111 0100 0110 1001 xxxx xxxx */ {NEI,"B,%b" }, /* 6a: 0111 0100 0110 1010 xxxx xxxx */ {NEI,"C,%b" }, /* 6b: 0111 0100 0110 1011 xxxx xxxx */ {NEI,"D,%b" }, /* 6c: 0111 0100 0110 1100 xxxx xxxx */ {NEI,"E,%b" }, /* 6d: 0111 0100 0110 1101 xxxx xxxx */ {NEI,"H,%b" }, /* 6e: 0111 0100 0110 1110 xxxx xxxx */ {NEI,"L,%b" }, /* 6f: 0111 0100 0110 1111 xxxx xxxx */ {SBI,"V,%b" }, /* 70: 0111 0100 0111 0000 xxxx xxxx */ {SBI,"A,%b" }, /* 71: 0111 0100 0111 0001 xxxx xxxx */ {SBI,"B,%b" }, /* 72: 0111 0100 0111 0010 xxxx xxxx */ {SBI,"C,%b" }, /* 73: 0111 0100 0111 0011 xxxx xxxx */ {SBI,"D,%b" }, /* 74: 0111 0100 0111 0100 xxxx xxxx */ {SBI,"E,%b" }, /* 75: 0111 0100 0111 0101 xxxx xxxx */ {SBI,"H,%b" }, /* 76: 0111 0100 0111 0110 xxxx xxxx */ {SBI,"L,%b" }, /* 77: 0111 0100 0111 0111 xxxx xxxx */ {EQI,"V,%b" }, /* 78: 0111 0100 0111 1000 xxxx xxxx */ {EQI,"A,%b" }, /* 79: 0111 0100 0111 1001 xxxx xxxx */ {EQI,"B,%b" }, /* 7a: 0111 0100 0111 1010 xxxx xxxx */ {EQI,"C,%b" }, /* 7b: 0111 0100 0111 1011 xxxx xxxx */ {EQI,"D,%b" }, /* 7c: 0111 0100 0111 1100 xxxx xxxx */ {EQI,"E,%b" }, /* 7d: 0111 0100 0111 1101 xxxx xxxx */ {EQI,"H,%b" }, /* 7e: 0111 0100 0111 1110 xxxx xxxx */ {EQI,"L,%b" }, /* 7f: 0111 0100 0111 1111 xxxx xxxx */ {illegal,0 }, /* 80: 0111 0100 1000 0000 */ {illegal,0 }, /* 81: 0111 0100 1000 0001 */ {illegal,0 }, /* 82: 0111 0100 1000 0010 */ {illegal,0 }, /* 83: 0111 0100 1000 0011 */ {illegal,0 }, /* 84: 0111 0100 1000 0100 */ {illegal,0 }, /* 85: 0111 0100 1000 0101 */ {illegal,0 }, /* 86: 0111 0100 1000 0110 */ {illegal,0 }, /* 87: 0111 0100 1000 0111 */ {ANAW,"%a" }, /* 88: 0111 0100 1000 1000 oooo oooo */ {illegal,0 }, /* 89: 0111 0100 1000 1001 */ {illegal,0 }, /* 8a: 0111 0100 1000 1010 */ {illegal,0 }, /* 8b: 0111 0100 1000 1011 */ {illegal,0 }, /* 8c: 0111 0100 1000 1100 */ {DAN,"EA,BC" }, /* 8d: 0111 0100 1000 1101 */ {DAN,"EA,DE" }, /* 8e: 0111 0100 1000 1110 */ {DAN,"EA,HL" }, /* 8f: 0111 0100 1000 1111 */ {XRAW,"%a" }, /* 90: 0111 0100 1001 0000 oooo oooo */ {illegal,0 }, /* 91: 0111 0100 1001 0001 */ {illegal,0 }, /* 92: 0111 0100 1001 0010 */ {illegal,0 }, /* 93: 0111 0100 1001 0011 */ {illegal,0 }, /* 94: 0111 0100 1001 0100 */ {DXR,"EA,BC" }, /* 95: 0111 0100 1001 0101 */ {DXR,"EA,DE" }, /* 96: 0111 0100 1001 0110 */ {DXR,"EA,HL" }, /* 97: 0111 0100 1001 0111 */ {ORAW,"%a" }, /* 98: 0111 0100 1001 1000 oooo oooo */ {illegal,0 }, /* 99: 0111 0100 1001 1001 */ {illegal,0 }, /* 9a: 0111 0100 1001 1010 */ {illegal,0 }, /* 9b: 0111 0100 1001 1011 */ {illegal,0 }, /* 9c: 0111 0100 1001 1100 */ {DOR,"EA,BC" }, /* 9d: 0111 0100 1001 1101 */ {DOR,"EA,DE" }, /* 9e: 0111 0100 1001 1110 */ {DOR,"EA,HL" }, /* 9f: 0111 0100 1001 1111 */ {ADDNCW,"%a" }, /* a0: 0111 0100 1010 0000 oooo oooo */ {illegal,0 }, /* a1: 0111 0100 1010 0001 */ {illegal,0 }, /* a2: 0111 0100 1010 0010 */ {illegal,0 }, /* a3: 0111 0100 1010 0011 */ {illegal,0 }, /* a4: 0111 0100 1010 0100 */ {DADDNC,"EA,BC" }, /* a5: 0111 0100 1010 0101 */ {DADDNC,"EA,DE" }, /* a6: 0111 0100 1010 0110 */ {DADDNC,"EA,HL" }, /* a7: 0111 0100 1010 0111 */ {GTAW,"%a" }, /* a8: 0111 0100 1010 1000 oooo oooo */ {illegal,0 }, /* a9: 0111 0100 1010 1001 */ {illegal,0 }, /* aa: 0111 0100 1010 1010 */ {illegal,0 }, /* ab: 0111 0100 1010 1011 */ {illegal,0 }, /* ac: 0111 0100 1010 1100 */ {DGT,"EA,BC" }, /* ad: 0111 0100 1010 1101 */ {DGT,"EA,DE" }, /* ae: 0111 0100 1010 1110 */ {DGT,"EA,HL" }, /* af: 0111 0100 1010 1111 */ {SUBNBW,"%a" }, /* b0: 0111 0100 1011 0000 oooo oooo */ {illegal,0 }, /* b1: 0111 0100 1011 0001 */ {illegal,0 }, /* b2: 0111 0100 1011 0010 */ {illegal,0 }, /* b3: 0111 0100 1011 0011 */ {illegal,0 }, /* b4: 0111 0100 1011 0100 */ {DSUBNB,"EA,BC" }, /* b5: 0111 0100 1011 0101 */ {DSUBNB,"EA,DE" }, /* b6: 0111 0100 1011 0110 */ {DSUBNB,"EA,HL" }, /* b7: 0111 0100 1011 0111 */ {LTAW,"%a" }, /* b8: 0111 0100 1011 1000 oooo oooo */ {illegal,0 }, /* b9: 0111 0100 1011 1001 */ {illegal,0 }, /* ba: 0111 0100 1011 1010 */ {illegal,0 }, /* bb: 0111 0100 1011 1011 */ {illegal,0 }, /* bc: 0111 0100 1011 1100 */ {DLT,"EA,BC" }, /* bd: 0111 0100 1011 1101 */ {DLT,"EA,DE" }, /* be: 0111 0100 1011 1110 */ {DLT,"EA,HL" }, /* bf: 0111 0100 1011 1111 */ {ADDW,"%a" }, /* c0: 0111 0100 1100 0000 oooo oooo */ {illegal,0 }, /* c1: 0111 0100 1100 0001 */ {illegal,0 }, /* c2: 0111 0100 1100 0010 */ {illegal,0 }, /* c3: 0111 0100 1100 0011 */ {illegal,0 }, /* c4: 0111 0100 1100 0100 */ {DADD,"EA,BC" }, /* c5: 0111 0100 1100 0101 */ {DADD,"EA,DE" }, /* c6: 0111 0100 1100 0110 */ {DADD,"EA,HL" }, /* c7: 0111 0100 1100 0111 */ {ONAW,"%a" }, /* c8: 0111 0100 1100 1000 oooo oooo */ {illegal,0 }, /* c9: 0111 0100 1100 1001 */ {illegal,0 }, /* ca: 0111 0100 1100 1010 */ {illegal,0 }, /* cb: 0111 0100 1100 1011 */ {illegal,0 }, /* cc: 0111 0100 1100 1100 */ {DON,"EA,BC" }, /* cd: 0111 0100 1100 1101 */ {DON,"EA,DE" }, /* ce: 0111 0100 1100 1110 */ {DON,"EA,HL" }, /* cf: 0111 0100 1100 1111 */ {ADCW,"%a" }, /* d0: 0111 0100 1101 0000 oooo oooo */ {illegal,0 }, /* d1: 0111 0100 1101 0001 */ {illegal,0 }, /* d2: 0111 0100 1101 0010 */ {illegal,0 }, /* d3: 0111 0100 1101 0011 */ {illegal,0 }, /* d4: 0111 0100 1101 0100 */ {DADC,"EA,BC" }, /* d5: 0111 0100 1101 0101 */ {DADC,"EA,DE" }, /* d6: 0111 0100 1101 0110 */ {DADC,"EA,HL" }, /* d7: 0111 0100 1101 0111 */ {OFFAW,"%a" }, /* d8: 0111 0100 1101 1000 oooo oooo */ {illegal,0 }, /* d9: 0111 0100 1101 1001 */ {illegal,0 }, /* da: 0111 0100 1101 1010 */ {illegal,0 }, /* db: 0111 0100 1101 1011 */ {illegal,0 }, /* dc: 0111 0100 1101 1100 */ {DOFF,"EA,BC" }, /* dd: 0111 0100 1101 1101 */ {DOFF,"EA,DE" }, /* de: 0111 0100 1101 1110 */ {DOFF,"EA,HL" }, /* df: 0111 0100 1101 1111 */ {SUBW,"%a" }, /* e0: 0111 0100 1110 0000 oooo oooo */ {illegal,0 }, /* e1: 0111 0100 1110 0001 */ {illegal,0 }, /* e2: 0111 0100 1110 0010 */ {illegal,0 }, /* e3: 0111 0100 1110 0011 */ {illegal,0 }, /* e4: 0111 0100 1110 0100 */ {DSUB,"EA,BC" }, /* e5: 0111 0100 1110 0101 */ {DSUB,"EA,DE" }, /* e6: 0111 0100 1110 0110 */ {DSUB,"EA,HL" }, /* e7: 0111 0100 1110 0111 */ {NEAW,"%a" }, /* e8: 0111 0100 1110 1000 oooo oooo */ {illegal,0 }, /* e9: 0111 0100 1110 1001 */ {illegal,0 }, /* ea: 0111 0100 1110 1010 */ {illegal,0 }, /* eb: 0111 0100 1110 1011 */ {illegal,0 }, /* ec: 0111 0100 1110 1100 */ {DNE,"EA,BC" }, /* ed: 0111 0100 1110 1101 */ {DNE,"EA,DE" }, /* ee: 0111 0100 1110 1110 */ {DNE,"EA,HL" }, /* ef: 0111 0100 1110 1111 */ {SBBW,"%a" }, /* f0: 0111 0100 1111 0000 oooo oooo */ {illegal,0 }, /* f1: 0111 0100 1111 0001 */ {illegal,0 }, /* f2: 0111 0100 1111 0010 */ {illegal,0 }, /* f3: 0111 0100 1111 0011 */ {illegal,0 }, /* f4: 0111 0100 1111 0100 */ {DSBB,"EA,BC" }, /* f5: 0111 0100 1111 0101 */ {DSBB,"EA,DE" }, /* f6: 0111 0100 1111 0110 */ {DSBB,"EA,HL" }, /* f7: 0111 0100 1111 0111 */ {EQAW,"%a" }, /* f8: 0111 0100 1111 1000 oooo oooo */ {illegal,0 }, /* f9: 0111 0100 1111 1001 */ {illegal,0 }, /* fa: 0111 0100 1111 1010 */ {illegal,0 }, /* fb: 0111 0100 1111 1011 */ {illegal,0 }, /* fc: 0111 0100 1111 1100 */ {DEQ,"EA,BC" }, /* fd: 0111 0100 1111 1101 */ {DEQ,"EA,DE" }, /* fe: 0111 0100 1111 1110 */ {DEQ,"EA,HL" } /* ff: 0111 0100 1111 1111 */ }; /* main opcodes */ static const struct dasm_s dasmXX_7810[256] = { {NOP,0 }, /* 00: 0000 0000 */ {LDAW,"%a" }, /* 01: 0000 0001 oooo oooo */ {INX,"SP" }, /* 02: 0000 0010 */ {DCX,"SP" }, /* 03: 0000 0011 */ {LXI,"SP,%w" }, /* 04: 0000 0100 llll llll hhhh hhhh */ {ANIW,"%a,%b" }, /* 05: 0000 0101 oooo oooo xxxx xxxx */ {illegal,0 }, /* 06: */ {ANI,"A,%b" }, /* 07: 0000 0111 xxxx xxxx */ {MOV,"A,EAH" }, /* 08: 0000 1000 */ {MOV,"A,EAL" }, /* 09: 0000 1001 */ {MOV,"A,B" }, /* 0a: 0000 1010 */ {MOV,"A,C" }, /* 0b: 0000 1011 */ {MOV,"A,D" }, /* 0c: 0000 1100 */ {MOV,"A,E" }, /* 0d: 0000 1101 */ {MOV,"A,H" }, /* 0e: 0000 1110 */ {MOV,"A,L" }, /* 0f: 0000 1111 */ {EXA,0 }, /* 10: 0001 0000 */ /* 7810 */ {EXX,0 }, /* 11: 0001 0001 */ /* 7810 */ {INX,"BC" }, /* 12: 0001 0010 */ {DCX,"BC" }, /* 13: 0001 0011 */ {LXI,"BC,%w" }, /* 14: 0001 0100 llll llll hhhh hhhh */ {ORIW,"%a,%b" }, /* 15: 0001 0101 oooo oooo xxxx xxxx */ {XRI,"A,%b" }, /* 16: 0001 0110 xxxx xxxx */ {ORI,"A,%b" }, /* 17: 0001 0111 xxxx xxxx */ {MOV,"EAH,A" }, /* 18: 0001 1000 */ {MOV,"EAL,A" }, /* 19: 0001 1001 */ {MOV,"B,A" }, /* 1a: 0001 1010 */ {MOV,"C,A" }, /* 1b: 0001 1011 */ {MOV,"D,A" }, /* 1c: 0001 1100 */ {MOV,"E,A" }, /* 1d: 0001 1101 */ {MOV,"H,A" }, /* 1e: 0001 1110 */ {MOV,"L,A" }, /* 1f: 0001 1111 */ {INRW,"%a" }, /* 20: 0010 0000 oooo oooo */ {JB,0 }, /* 21: 0010 0001 */ {INX,"DE" }, /* 22: 0010 0010 */ {DCX,"DE" }, /* 23: 0010 0011 */ {LXI,"DE,%w" }, /* 24: 0010 0100 llll llll hhhh hhhh */ {GTIW,"%a,%b" }, /* 25: 0010 0101 oooo oooo xxxx xxxx */ {ADINC,"A,%b" }, /* 26: 0010 0110 xxxx xxxx */ {GTI,"A,%b" }, /* 27: 0010 0111 xxxx xxxx */ {illegal,0 }, /* 28: 0010 1000 */ {LDAX,"(BC)" }, /* 29: 0010 1001 */ {LDAX,"(DE)" }, /* 2a: 0010 1010 */ {LDAX,"(HL)" }, /* 2b: 0010 1011 */ {LDAX,"(DE+)" }, /* 2c: 0010 1100 */ {LDAX,"(HL+)" }, /* 2d: 0010 1101 */ {LDAX,"(DE-)" }, /* 2e: 0010 1110 */ {LDAX,"(HL-)" }, /* 2f: 0010 1111 */ {DCRW,"%a" }, /* 30: 0011 0000 oooo oooo */ {BLOCK,0 }, /* 31: 0011 0001 */ /* 7810 */ {INX,"HL", }, /* 32: 0011 0010 */ {DCX,"HL", }, /* 33: 0011 0011 */ {LXI,"HL,%w" }, /* 34: 0011 0100 llll llll hhhh hhhh */ {LTIW,"%a,%b" }, /* 35: 0011 0101 oooo oooo xxxx xxxx */ {SUINB,"A,%b" }, /* 36: 0011 0110 xxxx xxxx */ {LTI,"A,%b" }, /* 37: 0011 0111 xxxx xxxx */ {illegal,0 }, /* 38: */ {STAX,"(BC)" }, /* 39: 0011 1001 */ {STAX,"(DE)" }, /* 3a: 0011 1010 */ {STAX,"(HL)" }, /* 3b: 0011 1011 */ {STAX,"(DE+)" }, /* 3c: 0011 1100 */ {STAX,"(HL+)" }, /* 3d: 0011 1101 */ {STAX,"(DE-)" }, /* 3e: 0011 1110 */ {STAX,"(HL-)" }, /* 3f: 0011 1111 */ {CALL,"%w" }, /* 40: 0100 0000 llll llll hhhh hhhh */ {INR,"A" }, /* 41: 0100 0001 */ {INR,"B" }, /* 42: 0100 0010 */ {INR,"C" }, /* 43: 0100 0011 */ {LXI,"EA,%w" }, /* 44: 0100 0100 llll llll hhhh hhhh */ {ONIW,"%a,%b" }, /* 45: 0100 0101 oooo oooo xxxx xxxx */ {ADI,"A,%b" }, /* 46: 0100 0110 xxxx xxxx */ {ONI,"A,%b" }, /* 47: 0100 0111 xxxx xxxx */ {0,dasm48_7810 }, /* 48: prefix */ {MVIX,"BC,%b" }, /* 49: 0100 1001 xxxx xxxx */ {MVIX,"DE,%b" }, /* 4a: 0100 1010 xxxx xxxx */ {MVIX,"HL,%b" }, /* 4b: 0100 1011 xxxx xxxx */ {0,dasm4C_7810 }, /* 4c: prefix */ {0,dasm4D_7810 }, /* 4d: prefix */ {JRE,"%d" }, /* 4e: 0100 111d dddd dddd */ {JRE,"%d" }, /* 4f: 0100 111d dddd dddd */ {EXH,0 }, /* 50: 0101 0000 */ /* 7810 */ {DCR,"A" }, /* 51: 0101 0001 */ {DCR,"B" }, /* 52: 0101 0010 */ {DCR,"C" }, /* 53: 0101 0011 */ {JMP,"%w" }, /* 54: 0101 0100 llll llll hhhh hhhh */ {OFFIW,"%a,%b" }, /* 55: 0101 0101 oooo oooo xxxx xxxx */ {ACI,"A,%b" }, /* 56: 0101 0110 xxxx xxxx */ {OFFI,"A,%b" }, /* 57: 0101 0111 xxxx xxxx */ {BIT,"0,%a", }, /* 58: 0101 1000 oooo oooo */ /* 7810 */ {BIT,"1,%a", }, /* 59: 0101 1001 oooo oooo */ /* 7810 */ {BIT,"2,%a", }, /* 5a: 0101 1010 oooo oooo */ /* 7810 */ {BIT,"3,%a", }, /* 5b: 0101 1011 oooo oooo */ /* 7810 */ {BIT,"4,%a", }, /* 5c: 0101 1100 oooo oooo */ /* 7810 */ {BIT,"5,%a", }, /* 5d: 0101 1101 oooo oooo */ /* 7810 */ {BIT,"6,%a", }, /* 5e: 0101 1110 oooo oooo */ /* 7810 */ {BIT,"7,%a", }, /* 5f: 0101 1111 oooo oooo */ /* 7810 */ {0,dasm60 }, /* 60: prefix */ {DAA,0 }, /* 61: 0110 0001 */ {RETI,0 }, /* 62: 0110 0010 */ {STAW,"%a" }, /* 63: 0110 0011 oooo oooo */ {0,dasm64_7810 }, /* 64: prefix */ {NEIW,"%a,%b" }, /* 65: 0110 0101 oooo oooo xxxx xxxx */ {SUI,"A,%b" }, /* 66: 0110 0110 xxxx xxxx */ {NEI,"A,%b" }, /* 67: 0110 0111 xxxx xxxx */ {MVI,"V,%b" }, /* 68: 0110 1000 xxxx xxxx */ {MVI,"A,%b" }, /* 69: 0110 1001 xxxx xxxx */ {MVI,"B,%b" }, /* 6a: 0110 1010 xxxx xxxx */ {MVI,"C,%b" }, /* 6b: 0110 1011 xxxx xxxx */ {MVI,"D,%b" }, /* 6c: 0110 1100 xxxx xxxx */ {MVI,"E,%b" }, /* 6d: 0110 1101 xxxx xxxx */ {MVI,"H,%b" }, /* 6e: 0110 1110 xxxx xxxx */ {MVI,"L,%b" }, /* 6f: 0110 1111 xxxx xxxx */ {0,dasm70 }, /* 70: prefix */ {MVIW,"%a,%b" }, /* 71: 0111 0001 oooo oooo xxxx xxxx */ {SOFTI,0 }, /* 72: 0111 0010 */ {illegal,0 }, /* 73: */ {0,dasm74 }, /* 74: prefix */ {EQIW,"%a,%b" }, /* 75: 0111 0101 oooo oooo xxxx xxxx */ {SBI,"A,%b" }, /* 76: 0111 0110 xxxx xxxx */ {EQI,"A,%b" }, /* 77: 0111 0111 xxxx xxxx */ {CALF,"%f" }, /* 78: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 79: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 7a: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 7b: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 7c: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 7d: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 7e: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 7f: 0111 1ddd dddd dddd */ {CALT,"%t" }, /* 80: 100t tttt */ {CALT,"%t" }, /* 81: 100t tttt */ {CALT,"%t" }, /* 82: 100t tttt */ {CALT,"%t" }, /* 83: 100t tttt */ {CALT,"%t" }, /* 84: 100t tttt */ {CALT,"%t" }, /* 85: 100t tttt */ {CALT,"%t" }, /* 86: 100t tttt */ {CALT,"%t" }, /* 87: 100t tttt */ {CALT,"%t" }, /* 88: 100t tttt */ {CALT,"%t" }, /* 89: 100t tttt */ {CALT,"%t" }, /* 8a: 100t tttt */ {CALT,"%t" }, /* 8b: 100t tttt */ {CALT,"%t" }, /* 8c: 100t tttt */ {CALT,"%t" }, /* 8d: 100t tttt */ {CALT,"%t" }, /* 8e: 100t tttt */ {CALT,"%t" }, /* 8f: 100t tttt */ {CALT,"%t" }, /* 90: 100t tttt */ {CALT,"%t" }, /* 91: 100t tttt */ {CALT,"%t" }, /* 92: 100t tttt */ {CALT,"%t" }, /* 93: 100t tttt */ {CALT,"%t" }, /* 94: 100t tttt */ {CALT,"%t" }, /* 95: 100t tttt */ {CALT,"%t" }, /* 96: 100t tttt */ {CALT,"%t" }, /* 97: 100t tttt */ {CALT,"%t" }, /* 98: 100t tttt */ {CALT,"%t" }, /* 99: 100t tttt */ {CALT,"%t" }, /* 9a: 100t tttt */ {CALT,"%t" }, /* 9b: 100t tttt */ {CALT,"%t" }, /* 9c: 100t tttt */ {CALT,"%t" }, /* 9d: 100t tttt */ {CALT,"%t" }, /* 9e: 100t tttt */ {CALT,"%t" }, /* 9f: 100t tttt */ {POP,"VA" }, /* a0: 1010 0000 */ {POP,"BC" }, /* a1: 1010 0001 */ {POP,"DE" }, /* a2: 1010 0010 */ {POP,"HL", }, /* a3: 1010 0011 */ {POP,"EA" }, /* a4: 1010 0100 */ {DMOV,"EA,BC" }, /* a5: 1010 0101 */ {DMOV,"EA,DE" }, /* a6: 1010 0110 */ {DMOV,"EA,HL" }, /* a7: 1010 0111 */ {INX,"EA" }, /* a8: 1010 1000 */ {DCX,"EA" }, /* a9: 1010 1001 */ {EI,0 }, /* aa: 1010 1010 */ {LDAX,"(DE+%b)" }, /* ab: 1010 1011 dddd dddd */ {LDAX,"(HL+A)" }, /* ac: 1010 1100 */ {LDAX,"(HL+B)" }, /* ad: 1010 1101 */ {LDAX,"(HL+EA)" }, /* ae: 1010 1110 */ {LDAX,"(HL+%b)" }, /* af: 1010 1111 dddd dddd */ {PUSH,"VA" }, /* b0: 1011 0000 */ {PUSH,"BC" }, /* b1: 1011 0001 */ {PUSH,"DE" }, /* b2: 1011 0010 */ {PUSH,"HL", }, /* b3: 1011 0011 */ {PUSH,"EA" }, /* b4: 1011 0100 */ {DMOV,"BC,EA" }, /* b5: 1011 0101 */ {DMOV,"DE,EA" }, /* b6: 1011 0110 */ {DMOV,"HL,EA" }, /* b7: 1011 0111 */ {RET,0 }, /* b8: 1011 1000 */ {RETS,0 }, /* b9: 1011 1001 */ {DI,0 }, /* ba: 1011 1010 */ {STAX,"(DE+%b)" }, /* bb: 1011 1011 dddd dddd */ {STAX,"(HL+A)" }, /* bc: 1011 1100 */ {STAX,"(HL+B)" }, /* bd: 1011 1101 */ {STAX,"(HL+EA)" }, /* be: 1011 1110 */ {STAX,"(HL+%b)" }, /* bf: 1011 1111 dddd dddd */ {JR,"%o" }, /* c0: 11oo oooo */ {JR,"%o" }, /* c1: 11oo oooo */ {JR,"%o" }, /* c2: 11oo oooo */ {JR,"%o" }, /* c3: 11oo oooo */ {JR,"%o" }, /* c4: 11oo oooo */ {JR,"%o" }, /* c5: 11oo oooo */ {JR,"%o" }, /* c6: 11oo oooo */ {JR,"%o" }, /* c7: 11oo oooo */ {JR,"%o" }, /* c8: 11oo oooo */ {JR,"%o" }, /* c9: 11oo oooo */ {JR,"%o" }, /* ca: 11oo oooo */ {JR,"%o" }, /* cb: 11oo oooo */ {JR,"%o" }, /* cc: 11oo oooo */ {JR,"%o" }, /* cd: 11oo oooo */ {JR,"%o" }, /* ce: 11oo oooo */ {JR,"%o" }, /* cf: 11oo oooo */ {JR,"%o" }, /* d0: 11oo oooo */ {JR,"%o" }, /* d1: 11oo oooo */ {JR,"%o" }, /* d2: 11oo oooo */ {JR,"%o" }, /* d3: 11oo oooo */ {JR,"%o" }, /* d4: 11oo oooo */ {JR,"%o" }, /* d5: 11oo oooo */ {JR,"%o" }, /* d6: 11oo oooo */ {JR,"%o" }, /* d7: 11oo oooo */ {JR,"%o" }, /* d8: 11oo oooo */ {JR,"%o" }, /* d9: 11oo oooo */ {JR,"%o" }, /* da: 11oo oooo */ {JR,"%o" }, /* db: 11oo oooo */ {JR,"%o" }, /* dc: 11oo oooo */ {JR,"%o" }, /* dd: 11oo oooo */ {JR,"%o" }, /* de: 11oo oooo */ {JR,"%o" }, /* df: 11oo oooo */ {JR,"%o" }, /* e0: 11oo oooo */ {JR,"%o" }, /* e1: 11oo oooo */ {JR,"%o" }, /* e2: 11oo oooo */ {JR,"%o" }, /* e3: 11oo oooo */ {JR,"%o" }, /* e4: 11oo oooo */ {JR,"%o" }, /* e5: 11oo oooo */ {JR,"%o" }, /* e6: 11oo oooo */ {JR,"%o" }, /* e7: 11oo oooo */ {JR,"%o" }, /* e8: 11oo oooo */ {JR,"%o" }, /* e9: 11oo oooo */ {JR,"%o" }, /* ea: 11oo oooo */ {JR,"%o" }, /* eb: 11oo oooo */ {JR,"%o" }, /* ec: 11oo oooo */ {JR,"%o" }, /* ed: 11oo oooo */ {JR,"%o" }, /* ee: 11oo oooo */ {JR,"%o" }, /* ef: 11oo oooo */ {JR,"%o" }, /* f0: 11oo oooo */ {JR,"%o" }, /* f1: 11oo oooo */ {JR,"%o" }, /* f2: 11oo oooo */ {JR,"%o" }, /* f3: 11oo oooo */ {JR,"%o" }, /* f4: 11oo oooo */ {JR,"%o" }, /* f5: 11oo oooo */ {JR,"%o" }, /* f6: 11oo oooo */ {JR,"%o" }, /* f7: 11oo oooo */ {JR,"%o" }, /* f8: 11oo oooo */ {JR,"%o" }, /* f9: 11oo oooo */ {JR,"%o" }, /* fa: 11oo oooo */ {JR,"%o" }, /* fb: 11oo oooo */ {JR,"%o" }, /* fc: 11oo oooo */ {JR,"%o" }, /* fd: 11oo oooo */ {JR,"%o" }, /* fe: 11oo oooo */ {JR,"%o" } /* ff: 11oo oooo */ }; static const struct dasm_s dasmXX_7807[256] = { {NOP,0 }, /* 00: 0000 0000 */ {LDAW,"%a" }, /* 01: 0000 0001 oooo oooo */ {INX,"SP" }, /* 02: 0000 0010 */ {DCX,"SP" }, /* 03: 0000 0011 */ {LXI,"SP,%w" }, /* 04: 0000 0100 llll llll hhhh hhhh */ {ANIW,"%a,%b" }, /* 05: 0000 0101 oooo oooo xxxx xxxx */ {illegal,0 }, /* 06: */ {ANI,"A,%b" }, /* 07: 0000 0111 xxxx xxxx */ {MOV,"A,EAH" }, /* 08: 0000 1000 */ {MOV,"A,EAL" }, /* 09: 0000 1001 */ {MOV,"A,B" }, /* 0a: 0000 1010 */ {MOV,"A,C" }, /* 0b: 0000 1011 */ {MOV,"A,D" }, /* 0c: 0000 1100 */ {MOV,"A,E" }, /* 0d: 0000 1101 */ {MOV,"A,H" }, /* 0e: 0000 1110 */ {MOV,"A,L" }, /* 0f: 0000 1111 */ {BLOCK,"D+" }, /* 10: 0001 0000 */ /* 7807 */ {BLOCK,"D-" }, /* 11: 0001 0001 */ /* 7807 */ {INX,"BC" }, /* 12: 0001 0010 */ {DCX,"BC" }, /* 13: 0001 0011 */ {LXI,"BC,%w" }, /* 14: 0001 0100 llll llll hhhh hhhh */ {ORIW,"%a,%b" }, /* 15: 0001 0101 oooo oooo xxxx xxxx */ {XRI,"A,%b" }, /* 16: 0001 0110 xxxx xxxx */ {ORI,"A,%b" }, /* 17: 0001 0111 xxxx xxxx */ {MOV,"EAH,A" }, /* 18: 0001 1000 */ {MOV,"EAL,A" }, /* 19: 0001 1001 */ {MOV,"B,A" }, /* 1a: 0001 1010 */ {MOV,"C,A" }, /* 1b: 0001 1011 */ {MOV,"D,A" }, /* 1c: 0001 1100 */ {MOV,"E,A" }, /* 1d: 0001 1101 */ {MOV,"H,A" }, /* 1e: 0001 1110 */ {MOV,"L,A" }, /* 1f: 0001 1111 */ {INRW,"%a" }, /* 20: 0010 0000 oooo oooo */ {JB,0 }, /* 21: 0010 0001 */ {INX,"DE" }, /* 22: 0010 0010 */ {DCX,"DE" }, /* 23: 0010 0011 */ {LXI,"DE,%w" }, /* 24: 0010 0100 llll llll hhhh hhhh */ {GTIW,"%a,%b" }, /* 25: 0010 0101 oooo oooo xxxx xxxx */ {ADINC,"A,%b" }, /* 26: 0010 0110 xxxx xxxx */ {GTI,"A,%b" }, /* 27: 0010 0111 xxxx xxxx */ {illegal,0 }, /* 28: 0010 1000 */ {LDAX,"(BC)" }, /* 29: 0010 1001 */ {LDAX,"(DE)" }, /* 2a: 0010 1010 */ {LDAX,"(HL)" }, /* 2b: 0010 1011 */ {LDAX,"(DE+)" }, /* 2c: 0010 1100 */ {LDAX,"(HL+)" }, /* 2d: 0010 1101 */ {LDAX,"(DE-)" }, /* 2e: 0010 1110 */ {LDAX,"(HL-)" }, /* 2f: 0010 1111 */ {DCRW,"%a" }, /* 30: 0011 0000 oooo oooo */ {AND,"CY,%i" }, /* 31: 0011 0001 bbbb bbbb */ /* 7807 */ {INX,"HL", }, /* 32: 0011 0010 */ {DCX,"HL", }, /* 33: 0011 0011 */ {LXI,"HL,%w" }, /* 34: 0011 0100 llll llll hhhh hhhh */ {LTIW,"%a,%b" }, /* 35: 0011 0101 oooo oooo xxxx xxxx */ {SUINB,"A,%b" }, /* 36: 0011 0110 xxxx xxxx */ {LTI,"A,%b" }, /* 37: 0011 0111 xxxx xxxx */ {illegal,0 }, /* 38: */ {STAX,"(BC)" }, /* 39: 0011 1001 */ {STAX,"(DE)" }, /* 3a: 0011 1010 */ {STAX,"(HL)" }, /* 3b: 0011 1011 */ {STAX,"(DE+)" }, /* 3c: 0011 1100 */ {STAX,"(HL+)" }, /* 3d: 0011 1101 */ {STAX,"(DE-)" }, /* 3e: 0011 1110 */ {STAX,"(HL-)" }, /* 3f: 0011 1111 */ {CALL,"%w" }, /* 40: 0100 0000 llll llll hhhh hhhh */ {INR,"A" }, /* 41: 0100 0001 */ {INR,"B" }, /* 42: 0100 0010 */ {INR,"C" }, /* 43: 0100 0011 */ {LXI,"EA,%w" }, /* 44: 0100 0100 llll llll hhhh hhhh */ {ONIW,"%a,%b" }, /* 45: 0100 0101 oooo oooo xxxx xxxx */ {ADI,"A,%b" }, /* 46: 0100 0110 xxxx xxxx */ {ONI,"A,%b" }, /* 47: 0100 0111 xxxx xxxx */ {0,dasm48_7807 }, /* 48: prefix */ {MVIX,"BC,%b" }, /* 49: 0100 1001 xxxx xxxx */ {MVIX,"DE,%b" }, /* 4a: 0100 1010 xxxx xxxx */ {MVIX,"HL,%b" }, /* 4b: 0100 1011 xxxx xxxx */ {0,dasm4C_7807 }, /* 4c: prefix */ {0,dasm4D_7807 }, /* 4d: prefix */ {JRE,"%d" }, /* 4e: 0100 111d dddd dddd */ {JRE,"%d" }, /* 4f: 0100 111d dddd dddd */ {SKN,"%i" }, /* 50: 0101 0000 bbbb bbbb */ /* 7807 */ {DCR,"A" }, /* 51: 0101 0001 */ {DCR,"B" }, /* 52: 0101 0010 */ {DCR,"C" }, /* 53: 0101 0011 */ {JMP,"%w" }, /* 54: 0101 0100 llll llll hhhh hhhh */ {OFFIW,"%a,%b" }, /* 55: 0101 0101 oooo oooo xxxx xxxx */ {ACI,"A,%b" }, /* 56: 0101 0110 xxxx xxxx */ {OFFI,"A,%b" }, /* 57: 0101 0111 xxxx xxxx */ {SETB,"%i" }, /* 58: 0101 1000 bbbb bbbb */ /* 7807 */ {NOT,"%i" }, /* 59: 0101 1001 bbbb bbbb */ /* 7807 */ {MOV,"%i,CY" }, /* 5a: 0101 1010 bbbb bbbb */ /* 7807 */ {CLR,"%i" }, /* 5b: 0101 1011 bbbb bbbb */ /* 7807 */ {OR,"CY,%i" }, /* 5c: 0101 1100 bbbb bbbb */ /* 7807 */ {SK,"%i" }, /* 5d: 0101 1101 bbbb bbbb */ /* 7807 */ {XOR,"CY,%i" }, /* 5e: 0101 1110 bbbb bbbb */ /* 7807 */ {MOV,"CY,%i" }, /* 5f: 0101 1111 bbbb bbbb */ /* 7807 */ {0,dasm60 }, /* 60: prefix */ {DAA,0 }, /* 61: 0110 0001 */ {RETI,0 }, /* 62: 0110 0010 */ {STAW,"%a" }, /* 63: 0110 0011 oooo oooo */ {0,dasm64_7807 }, /* 64: prefix */ {NEIW,"%a,%b" }, /* 65: 0110 0101 oooo oooo xxxx xxxx */ {SUI,"A,%b" }, /* 66: 0110 0110 xxxx xxxx */ {NEI,"A,%b" }, /* 67: 0110 0111 xxxx xxxx */ {MVI,"V,%b" }, /* 68: 0110 1000 xxxx xxxx */ {MVI,"A,%b" }, /* 69: 0110 1001 xxxx xxxx */ {MVI,"B,%b" }, /* 6a: 0110 1010 xxxx xxxx */ {MVI,"C,%b" }, /* 6b: 0110 1011 xxxx xxxx */ {MVI,"D,%b" }, /* 6c: 0110 1100 xxxx xxxx */ {MVI,"E,%b" }, /* 6d: 0110 1101 xxxx xxxx */ {MVI,"H,%b" }, /* 6e: 0110 1110 xxxx xxxx */ {MVI,"L,%b" }, /* 6f: 0110 1111 xxxx xxxx */ {0,dasm70 }, /* 70: prefix */ {MVIW,"%a,%b" }, /* 71: 0111 0001 oooo oooo xxxx xxxx */ {SOFTI,0 }, /* 72: 0111 0010 */ {illegal,0 }, /* 73: */ {0,dasm74 }, /* 74: prefix */ {EQIW,"%a,%b" }, /* 75: 0111 0101 oooo oooo xxxx xxxx */ {SBI,"A,%b" }, /* 76: 0111 0110 xxxx xxxx */ {EQI,"A,%b" }, /* 77: 0111 0111 xxxx xxxx */ {CALF,"%f" }, /* 78: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 79: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 7a: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 7b: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 7c: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 7d: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 7e: 0111 1ddd dddd dddd */ {CALF,"%f" }, /* 7f: 0111 1ddd dddd dddd */ {CALT,"%t" }, /* 80: 100t tttt */ {CALT,"%t" }, /* 81: 100t tttt */ {CALT,"%t" }, /* 82: 100t tttt */ {CALT,"%t" }, /* 83: 100t tttt */ {CALT,"%t" }, /* 84: 100t tttt */ {CALT,"%t" }, /* 85: 100t tttt */ {CALT,"%t" }, /* 86: 100t tttt */ {CALT,"%t" }, /* 87: 100t tttt */ {CALT,"%t" }, /* 88: 100t tttt */ {CALT,"%t" }, /* 89: 100t tttt */ {CALT,"%t" }, /* 8a: 100t tttt */ {CALT,"%t" }, /* 8b: 100t tttt */ {CALT,"%t" }, /* 8c: 100t tttt */ {CALT,"%t" }, /* 8d: 100t tttt */ {CALT,"%t" }, /* 8e: 100t tttt */ {CALT,"%t" }, /* 8f: 100t tttt */ {CALT,"%t" }, /* 90: 100t tttt */ {CALT,"%t" }, /* 91: 100t tttt */ {CALT,"%t" }, /* 92: 100t tttt */ {CALT,"%t" }, /* 93: 100t tttt */ {CALT,"%t" }, /* 94: 100t tttt */ {CALT,"%t" }, /* 95: 100t tttt */ {CALT,"%t" }, /* 96: 100t tttt */ {CALT,"%t" }, /* 97: 100t tttt */ {CALT,"%t" }, /* 98: 100t tttt */ {CALT,"%t" }, /* 99: 100t tttt */ {CALT,"%t" }, /* 9a: 100t tttt */ {CALT,"%t" }, /* 9b: 100t tttt */ {CALT,"%t" }, /* 9c: 100t tttt */ {CALT,"%t" }, /* 9d: 100t tttt */ {CALT,"%t" }, /* 9e: 100t tttt */ {CALT,"%t" }, /* 9f: 100t tttt */ {POP,"VA" }, /* a0: 1010 0000 */ {POP,"BC" }, /* a1: 1010 0001 */ {POP,"DE" }, /* a2: 1010 0010 */ {POP,"HL", }, /* a3: 1010 0011 */ {POP,"EA" }, /* a4: 1010 0100 */ {DMOV,"EA,BC" }, /* a5: 1010 0101 */ {DMOV,"EA,DE" }, /* a6: 1010 0110 */ {DMOV,"EA,HL" }, /* a7: 1010 0111 */ {INX,"EA" }, /* a8: 1010 1000 */ {DCX,"EA" }, /* a9: 1010 1001 */ {EI,0 }, /* aa: 1010 1010 */ {LDAX,"(DE+%b)" }, /* ab: 1010 1011 dddd dddd */ {LDAX,"(HL+A)" }, /* ac: 1010 1100 */ {LDAX,"(HL+B)" }, /* ad: 1010 1101 */ {LDAX,"(HL+EA)" }, /* ae: 1010 1110 */ {LDAX,"(HL+%b)" }, /* af: 1010 1111 dddd dddd */ {PUSH,"VA" }, /* b0: 1011 0000 */ {PUSH,"BC" }, /* b1: 1011 0001 */ {PUSH,"DE" }, /* b2: 1011 0010 */ {PUSH,"HL", }, /* b3: 1011 0011 */ {PUSH,"EA" }, /* b4: 1011 0100 */ {DMOV,"BC,EA" }, /* b5: 1011 0101 */ {DMOV,"DE,EA" }, /* b6: 1011 0110 */ {DMOV,"HL,EA" }, /* b7: 1011 0111 */ {RET,0 }, /* b8: 1011 1000 */ {RETS,0 }, /* b9: 1011 1001 */ {DI,0 }, /* ba: 1011 1010 */ {STAX,"(DE+%b)" }, /* bb: 1011 1011 dddd dddd */ {STAX,"(HL+A)" }, /* bc: 1011 1100 */ {STAX,"(HL+B)" }, /* bd: 1011 1101 */ {STAX,"(HL+EA)" }, /* be: 1011 1110 */ {STAX,"(HL+%b)" }, /* bf: 1011 1111 dddd dddd */ {JR,"%o" }, /* c0: 11oo oooo */ {JR,"%o" }, /* c1: 11oo oooo */ {JR,"%o" }, /* c2: 11oo oooo */ {JR,"%o" }, /* c3: 11oo oooo */ {JR,"%o" }, /* c4: 11oo oooo */ {JR,"%o" }, /* c5: 11oo oooo */ {JR,"%o" }, /* c6: 11oo oooo */ {JR,"%o" }, /* c7: 11oo oooo */ {JR,"%o" }, /* c8: 11oo oooo */ {JR,"%o" }, /* c9: 11oo oooo */ {JR,"%o" }, /* ca: 11oo oooo */ {JR,"%o" }, /* cb: 11oo oooo */ {JR,"%o" }, /* cc: 11oo oooo */ {JR,"%o" }, /* cd: 11oo oooo */ {JR,"%o" }, /* ce: 11oo oooo */ {JR,"%o" }, /* cf: 11oo oooo */ {JR,"%o" }, /* d0: 11oo oooo */ {JR,"%o" }, /* d1: 11oo oooo */ {JR,"%o" }, /* d2: 11oo oooo */ {JR,"%o" }, /* d3: 11oo oooo */ {JR,"%o" }, /* d4: 11oo oooo */ {JR,"%o" }, /* d5: 11oo oooo */ {JR,"%o" }, /* d6: 11oo oooo */ {JR,"%o" }, /* d7: 11oo oooo */ {JR,"%o" }, /* d8: 11oo oooo */ {JR,"%o" }, /* d9: 11oo oooo */ {JR,"%o" }, /* da: 11oo oooo */ {JR,"%o" }, /* db: 11oo oooo */ {JR,"%o" }, /* dc: 11oo oooo */ {JR,"%o" }, /* dd: 11oo oooo */ {JR,"%o" }, /* de: 11oo oooo */ {JR,"%o" }, /* df: 11oo oooo */ {JR,"%o" }, /* e0: 11oo oooo */ {JR,"%o" }, /* e1: 11oo oooo */ {JR,"%o" }, /* e2: 11oo oooo */ {JR,"%o" }, /* e3: 11oo oooo */ {JR,"%o" }, /* e4: 11oo oooo */ {JR,"%o" }, /* e5: 11oo oooo */ {JR,"%o" }, /* e6: 11oo oooo */ {JR,"%o" }, /* e7: 11oo oooo */ {JR,"%o" }, /* e8: 11oo oooo */ {JR,"%o" }, /* e9: 11oo oooo */ {JR,"%o" }, /* ea: 11oo oooo */ {JR,"%o" }, /* eb: 11oo oooo */ {JR,"%o" }, /* ec: 11oo oooo */ {JR,"%o" }, /* ed: 11oo oooo */ {JR,"%o" }, /* ee: 11oo oooo */ {JR,"%o" }, /* ef: 11oo oooo */ {JR,"%o" }, /* f0: 11oo oooo */ {JR,"%o" }, /* f1: 11oo oooo */ {JR,"%o" }, /* f2: 11oo oooo */ {JR,"%o" }, /* f3: 11oo oooo */ {JR,"%o" }, /* f4: 11oo oooo */ {JR,"%o" }, /* f5: 11oo oooo */ {JR,"%o" }, /* f6: 11oo oooo */ {JR,"%o" }, /* f7: 11oo oooo */ {JR,"%o" }, /* f8: 11oo oooo */ {JR,"%o" }, /* f9: 11oo oooo */ {JR,"%o" }, /* fa: 11oo oooo */ {JR,"%o" }, /* fb: 11oo oooo */ {JR,"%o" }, /* fc: 11oo oooo */ {JR,"%o" }, /* fd: 11oo oooo */ {JR,"%o" }, /* fe: 11oo oooo */ {JR,"%o" } /* ff: 11oo oooo */ }; /********************************************************* * * uPD7801 * *********************************************************/ static const struct dasm_s dasm48_7801[256] = { /* 0x00 - 0x3F */ { SKIT, "F0" }, { SKIT, "FT" }, { SKIT, "F1" }, { SKIT, "F2" }, { SKIT, "FS" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SK, "CY" }, { illegal, 0 }, { SK, "Z" }, { illegal, 0 }, { PUSH, "VA" }, { POP, "VA" }, { SKNIT, "F0" }, { SKNIT, "FT" }, { SKNIT, "F1" }, { SKNIT, "F2" }, { SKNIT, "FS" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SKN, "CY" }, { illegal, 0 }, { SKN, "Z" }, { illegal, 0 }, { PUSH, "BC" }, { POP, "BC" }, { EI, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { DI, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { CLC, 0 }, { STC, 0 }, { PER, 0 }, { PEX, 0 }, { PUSH, "DE" }, { POP, "DE" }, { RLL, "A" }, { RLR, "A" }, { RLL, "C" }, { RLR, "C" }, { SLL, "A" }, { SLR, "A" }, { SLL, "C" }, { SLR, "C" }, { RLD, 0 }, { RRD, 0 }, { illegal, 0 }, { illegal, 0 }, { PER, 0 }, { illegal, 0 }, { PUSH, "HL" }, { POP, "HL" }, /* 0x40 - 0x7F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x80 - 0xBF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0xC0 - 0xFF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 } }; static const struct dasm_s dasm4c_7801[256] = { /* 0x00 - 0x3F */ { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, /* 0x40 - 0x7F */ { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, /* 0x80 - 0xBF */ { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, { IN, 0 }, /* 0xC0 - 0xFF */ { MOV, "A,PA" }, { MOV, "A,PB" }, { MOV, "A,PC" }, { MOV, "A,MK" }, { MOV, "A,MB" }, { MOV, "A,MC" }, { MOV, "A,TM0" }, { MOV, "A,TM1" }, { MOV, "A,S" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 } }; static const struct dasm_s dasm4d_7801[256] = { /* 0x00 - 0x3F */ { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, /* 0x40 - 0x7F */ { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, /* 0x80 - 0xBF */ { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, { OUT, 0 }, /* 0xC0 - 0xFF */ { MOV, "PA,A" }, { MOV, "PB,A" }, { MOV, "PC,A" }, { MOV, "MK,A" }, { MOV, "MB,A" }, { MOV, "MC,A" }, { MOV, "TM0,A" }, { MOV, "TM1,A" }, { MOV, "S,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 } }; static const struct dasm_s dasm60_7801[256] = { /* 0x00 - 0x3F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ANA, "V,A" }, { ANA, "A,A" }, { ANA, "B,A" }, { ANA, "C,A" }, { ANA, "D,A" }, { ANA, "E,A" }, { ANA, "H,A" }, { ANA, "L,A" }, { XRA, "V,A" }, { XRA, "A,A" }, { XRA, "B,A" }, { XRA, "C,A" }, { XRA, "D,A" }, { XRA, "E,A" }, { XRA, "H,A" }, { XRA, "L,A" }, { ORA, "V,A" }, { ORA, "A,A" }, { ORA, "B,A" }, { ORA, "C,A" }, { ORA, "D,A" }, { ORA, "E,A" }, { ORA, "H,A" }, { ORA, "L,A" }, { ADDNC, "V,A" }, { ADDNC, "A,A" }, { ADDNC, "B,A" }, { ADDNC, "C,A" }, { ADDNC, "D,A" }, { ADDNC, "E,A" }, { ADDNC, "H,A" }, { ADDNC, "L,A" }, { GTA, "V,A" }, { GTA, "A,A" }, { GTA, "B,A" }, { GTA, "C,A" }, { GTA, "D,A" }, { GTA, "E,A" }, { GTA, "H,A" }, { GTA, "L,A" }, { SUBNB, "V,A" }, { SUBNB, "A,A" }, { SUBNB, "B,A" }, { SUBNB, "C,A" }, { SUBNB, "D,A" }, { SUBNB, "E,A" }, { SUBNB, "H,A" }, { SUBNB, "L,A" }, { LTA, "V,A" }, { LTA, "A,A" }, { LTA, "B,A" }, { LTA, "C,A" }, { LTA, "D,A" }, { LTA, "E,A" }, { LTA, "H,A" }, { LTA, "L,A" }, /* 0x40 - 0x7F */ { ADD, "V,A" }, { ADD, "A,A" }, { ADD, "B,A" }, { ADD, "C,A" }, { ADD, "D,A" }, { ADD, "E,A" }, { ADD, "H,A" }, { ADD, "L,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ADC, "V,A" }, { ADC, "A,A" }, { ADC, "B,A" }, { ADC, "C,A" }, { ADC, "D,A" }, { ADC, "E,A" }, { ADC, "H,A" }, { ADC, "L,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUB, "V,A" }, { SUB, "A,A" }, { SUB, "B,A" }, { SUB, "C,A" }, { SUB, "D,A" }, { SUB, "E,A" }, { SUB, "H,A" }, { SUB, "L,A" }, { NEA, "V,A" }, { NEA, "A,A" }, { NEA, "B,A" }, { NEA, "C,A" }, { NEA, "D,A" }, { NEA, "E,A" }, { NEA, "H,A" }, { NEA, "L,A" }, { SBB, "V,A" }, { SBB, "A,A" }, { SBB, "B,A" }, { SBB, "C,A" }, { SBB, "D,A" }, { SBB, "E,A" }, { SBB, "H,A" }, { SBB, "L,A" }, { EQA, "V,A" }, { EQA, "A,A" }, { EQA, "B,A" }, { EQA, "C,A" }, { EQA, "D,A" }, { EQA, "E,A" }, { EQA, "H,A" }, { EQA, "L,A" }, /* 0x80 - 0xBF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ANA, "A,V" }, { ANA, "A,A" }, { ANA, "A,B" }, { ANA, "A,C" }, { ANA, "A,D" }, { ANA, "A,E" }, { ANA, "A,H" }, { ANA, "A,L" }, { XRA, "A,V" }, { XRA, "A,A" }, { XRA, "A,B" }, { XRA, "A,C" }, { XRA, "A,D" }, { XRA, "A,E" }, { XRA, "A,H" }, { XRA, "A,L" }, { ORA, "A,V" }, { ORA, "A,A" }, { ORA, "A,B" }, { ORA, "A,C" }, { ORA, "A,D" }, { ORA, "A,E" }, { ORA, "A,H" }, { ORA, "A,L" }, { ADDNC, "A,V" }, { ADDNC, "A,A" }, { ADDNC, "A,B" }, { ADDNC, "A,C" }, { ADDNC, "A,D" }, { ADDNC, "A,E" }, { ADDNC, "A,H" }, { ADDNC, "A,L" }, { GTA, "A,V" }, { GTA, "A,A" }, { GTA, "A,B" }, { GTA, "A,C" }, { GTA, "A,D" }, { GTA, "A,E" }, { GTA, "A,H" }, { GTA, "A,L" }, { SUBNB, "A,V" }, { SUBNB, "A,A" }, { SUBNB, "A,B" }, { SUBNB, "A,C" }, { SUBNB, "A,D" }, { SUBNB, "A,E" }, { SUBNB, "A,H" }, { SUBNB, "A,L" }, { LTA, "A,V" }, { LTA, "A,A" }, { LTA, "A,B" }, { LTA, "A,C" }, { LTA, "A,D" }, { LTA, "A,E" }, { LTA, "A,H" }, { LTA, "A,L" }, /* 0xC0 - 0xFF */ { ADD, "A,V" }, { ADD, "A,A" }, { ADD, "A,B" }, { ADD, "A,C" }, { ADD, "A,D" }, { ADD, "A,E" }, { ADD, "A,H" }, { ADD, "A,L" }, { ONA, "A,V" }, { ONA, "A,A" }, { ONA, "A,B" }, { ONA, "A,C" }, { ONA, "A,D" }, { ONA, "A,E" }, { ONA, "A,H" }, { ONA, "A,L" }, { ADC, "A,V" }, { ADC, "A,A" }, { ADC, "A,B" }, { ADC, "A,C" }, { ADC, "A,D" }, { ADC, "A,E" }, { ADC, "A,H" }, { ADC, "A,L" }, { OFFA, "A,V" }, { OFFA, "A,A" }, { OFFA, "A,B" }, { OFFA, "A,C" }, { OFFA, "A,D" }, { OFFA, "A,E" }, { OFFA, "A,H" }, { OFFA, "A,L" }, { SUB, "A,V" }, { SUB, "A,A" }, { SUB, "A,B" }, { SUB, "A,C" }, { SUB, "A,D" }, { SUB, "A,E" }, { SUB, "A,H" }, { SUB, "A,L" }, { NEA, "A,V" }, { NEA, "A,A" }, { NEA, "A,B" }, { NEA, "A,C" }, { NEA, "A,D" }, { NEA, "A,E" }, { NEA, "A,H" }, { NEA, "A,L" }, { SBB, "A,V" }, { SBB, "A,A" }, { SBB, "A,B" }, { SBB, "A,C" }, { SBB, "A,D" }, { SBB, "A,E" }, { SBB, "A,H" }, { SBB, "A,L" }, { EQA, "A,V" }, { EQA, "A,A" }, { EQA, "A,B" }, { EQA, "A,C" }, { EQA, "A,D" }, { EQA, "A,E" }, { EQA, "A,H" }, { EQA, "A,L" } }; static const struct dasm_s dasm64_7801[256] = { /* 0x00 - 0x3F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ANI, "V,%b" }, { ANI, "A,%b" }, { ANI, "B,%b" }, { ANI, "C,%b" }, { ANI, "D,%b" }, { ANI, "E,%b" }, { ANI, "H,%b" }, { ANI, "L,%b" }, { XRI, "V,%b" }, { XRI, "A,%b" }, { XRI, "B,%b" }, { XRI, "C,%b" }, { XRI, "D,%b" }, { XRI, "E,%b" }, { XRI, "H,%b" }, { XRI, "L,%b" }, { ORI, "V,%b" }, { ORI, "A,%b" }, { ORI, "B,%b" }, { ORI, "C,%b" }, { ORI, "D,%b" }, { ORI, "E,%b" }, { ORI, "H,%b" }, { ORI, "L,%b" }, { ADINC, "V,%b" }, { ADINC, "A,%b" }, { ADINC, "B,%b" }, { ADINC, "C,%b" }, { ADINC, "D,%b" }, { ADINC, "E,%b" }, { ADINC, "H,%b" }, { ADINC, "L,%b" }, { GTI, "V,%b" }, { GTI, "A,%b" }, { GTI, "B,%b" }, { GTI, "C,%b" }, { GTI, "D,%b" }, { GTI, "E,%b" }, { GTI, "H,%b" }, { GTI, "L,%b" }, { SUINB, "V,%b" }, { SUINB, "A,%b" }, { SUINB, "B,%b" }, { SUINB, "C,%b" }, { SUINB, "D,%b" }, { SUINB, "E,%b" }, { SUINB, "H,%b" }, { SUINB, "L,%b" }, { LTI, "V,%b" }, { LTI, "A,%b" }, { LTI, "B,%b" }, { LTI, "C,%b" }, { LTI, "D,%b" }, { LTI, "E,%b" }, { LTI, "H,%b" }, { LTI, "L,%b" }, /* 0x40 - 0x7F */ { ADI, "V,%b" }, { ADI, "A,%b" }, { ADI, "B,%b" }, { ADI, "C,%b" }, { ADI, "D,%b" }, { ADI, "E,%b" }, { ADI, "H,%b" }, { ADI, "L,%b" }, { ONI, "V,%b" }, { ONI, "A,%b" }, { ONI, "B,%b" }, { ONI, "C,%b" }, { ONI, "D,%b" }, { ONI, "E,%b" }, { ONI, "H,%b" }, { ONI, "L,%b" }, { ACI, "V,%b" }, { ACI, "A,%b" }, { ACI, "B,%b" }, { ACI, "C,%b" }, { ACI, "D,%b" }, { ACI, "E,%b" }, { ACI, "H,%b" }, { ACI, "L,%b" }, { OFFI, "V,%b" }, { OFFI, "A,%b" }, { OFFI, "B,%b" }, { OFFI, "C,%b" }, { OFFI, "D,%b" }, { OFFI, "E,%b" }, { OFFI, "H,%b" }, { OFFI, "L,%b" }, { SUI, "V,%b" }, { SUI, "A,%b" }, { SUI, "B,%b" }, { SUI, "C,%b" }, { SUI, "D,%b" }, { SUI, "E,%b" }, { SUI, "H,%b" }, { SUI, "L,%b" }, { NEI, "V,%b" }, { NEI, "A,%b" }, { NEI, "B,%b" }, { NEI, "C,%b" }, { NEI, "D,%b" }, { NEI, "E,%b" }, { NEI, "H,%b" }, { NEI, "L,%b" }, { SBI, "V,%b" }, { SBI, "A,%b" }, { SBI, "B,%b" }, { SBI, "C,%b" }, { SBI, "D,%b" }, { SBI, "E,%b" }, { SBI, "H,%b" }, { SBI, "L,%b" }, { EQI, "V,%b" }, { EQI, "A,%b" }, { EQI, "B,%b" }, { EQI, "C,%b" }, { EQI, "D,%b" }, { EQI, "E,%b" }, { EQI, "H,%b" }, { EQI, "L,%b" }, /* 0x80 - 0xBF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ANI, "PA,%b" }, { ANI, "PB,%b" }, { ANI, "PC,%b" }, { ANI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { XRI, "PA,%b" }, { XRI, "PB,%b" }, { XRI, "PC,%b" }, { XRI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ORI, "PA,%b" }, { ORI, "PB,%b" }, { ORI, "PC,%b" }, { ORI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ADINC, "PA,%b" }, { ADINC, "PB,%b" }, { ADINC, "PC,%b" }, { ADINC, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { GTI, "PA,%b" }, { GTI, "PB,%b" }, { GTI, "PC,%b" }, { GTI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUINB, "PA,%b" }, { SUINB, "PB,%b" }, { SUINB, "PC,%b" }, { SUINB, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { LTI, "PA,%b" }, { LTI, "PB,%b" }, { LTI, "PC,%b" }, { LTI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0xC0 - 0xFF */ { ADI, "PA,%b" }, { ADI, "PB,%b" }, { ADI, "PC,%b" }, { ADI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ONI, "PA,%b" }, { ONI, "PB,%b" }, { ONI, "PC,%b" }, { ONI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ACI, "PA,%b" }, { ACI, "PB,%b" }, { ACI, "PC,%b" }, { ACI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUI, "PA,%b" }, { SUI, "PB,%b" }, { SUI, "PC,%b" }, { SUI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { NEI, "PA,%b" }, { NEI, "PB,%b" }, { NEI, "PC,%b" }, { NEI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SBI, "PA,%b" }, { SBI, "PB,%b" }, { SBI, "PC,%b" }, { SBI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SBI, "PA,%b" }, { SBI, "PB,%b" }, { SBI, "PC,%b" }, { SBI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { EQI, "PA,%b" }, { EQI, "PB,%b" }, { EQI, "PC,%b" }, { EQI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 } }; static const struct dasm_s dasm70_7801[256] = { /* 0x00 - 0x3F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SSPD, "%w" }, { LSPD, "%w" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SBCD, "%w" }, { LBCD, "%w" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SDED, "%w" }, { LDED, "%w" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SHLD, "%w" }, { LHLD, "%w" }, /* 0x40 - 0x7F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { MOV, "V,%w" }, { MOV, "A,%w" }, { MOV, "B,%w" }, { MOV, "C,%w" }, { MOV, "D,%w" }, { MOV, "E,%w" }, { MOV, "H,%w" }, { MOV, "L,%w" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { MOV, "%w,V" }, { MOV, "%w,A" }, { MOV, "%w,B" }, { MOV, "%w,C" }, { MOV, "%w,D" }, { MOV, "%w,E" }, { MOV, "%w,H" }, { MOV, "%w,L" }, /* 0x80 - 0xBF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ANAX, "BC" }, { ANAX, "DE" }, { ANAX, "HL" }, { ANAX, "DE+" }, { ANAX, "HL+" }, { ANAX, "DE-" }, { ANAX, "HL-" }, { illegal, 0 }, { XRAX, "BC" }, { XRAX, "DE" }, { XRAX, "HL" }, { XRAX, "DE+" }, { XRAX, "HL+" }, { XRAX, "DE-" }, { XRAX, "HL-" }, { illegal, 0 }, { ORAX, "BC" }, { ORAX, "DE" }, { ORAX, "HL" }, { ORAX, "DE+" }, { ORAX, "HL+" }, { ORAX, "DE-" }, { ORAX, "HL-" }, { illegal, 0 }, { ADDNCX, "BC" }, { ADDNCX, "DE" }, { ADDNCX, "HL" }, { ADDNCX, "DE+" }, { ADDNCX, "HL+" }, { ADDNCX, "DE-" }, { ADDNCX, "HL-" }, { illegal, 0 }, { GTAX, "BC" }, { GTAX, "DE" }, { GTAX, "HL" }, { GTAX, "DE+" }, { GTAX, "HL+" }, { GTAX, "DE-" }, { GTAX, "HL-" }, { illegal, 0 }, { SUBNBX, "BC" }, { SUBNBX, "DE" }, { SUBNBX, "HL" }, { SUBNBX, "DE+" }, { SUBNBX, "HL+" }, { SUBNBX, }, { SUBNBX, "HL-" }, { illegal, 0 }, { LTAX, "BC" }, { LTAX, "DE" }, { LTAX, "HL" }, { LTAX, "DE+" }, { LTAX, "HL+" }, { LTAX, "DE-" }, { LTAX, "HL-" }, /* 0xC0 - 0xFF */ { illegal, 0 }, { ADDX, "BC" }, { ADDX, "DE" }, { ADDX, "HL" }, { ADDX, "DE+" }, { ADDX, "HL+" }, { ADDX, "DE-" }, { ADDX, "HL-" }, { illegal, 0 }, { ONAX, "BC" }, { ONAX, "DE" }, { ONAX, "HL" }, { ONAX, "DE+" }, { ONAX, "HL+" }, { ONAX, "DE-" }, { ONAX, "HL-" }, { illegal, 0 }, { ADCX, "BC" }, { ADCX, "DE" }, { ADCX, "HL" }, { ADCX, "DE+" }, { ADCX, "HL+" }, { ADCX, "DE-" }, { ADCX, "HL-" }, { illegal, 0 }, { OFFAX, "BC" }, { OFFAX, "DE" }, { OFFAX, "HL" }, { OFFAX, "DE+" }, { OFFAX, "HL+" }, { OFFAX, "DE-" }, { OFFAX, "HL-" }, { illegal, 0 }, { SUBX, "BC" }, { SUBX, "DE" }, { SUBX, "HL" }, { SUBX, "DE+" }, { SUBX, "HL+" }, { SUBX, "DE-" }, { SUBX, "HL-" }, { illegal, 0 }, { NEAX, "BC" }, { NEAX, "DE" }, { NEAX, "HL" }, { NEAX, "DE+" }, { NEAX, "HL+" }, { NEAX, "DE-" }, { NEAX, "HL-" }, { illegal, 0 }, { SBBX, "BC" }, { SBBX, "DE" }, { SBBX, "HL" }, { SBBX, "DE+" }, { SBBX, "HL+" }, { SBBX, "DE-" }, { SBBX, "HL-" }, { illegal, 0 }, { EQAX, "BC" }, { EQAX, "DE" }, { EQAX, "HL" }, { EQAX, "DE+" }, { EQAX, "HL+" }, { EQAX, "DE-" }, { EQAX, "HL-" }, }; static const struct dasm_s dasm74_7801[256] = { /* 0x00 - 0x3F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x40 - 0x7F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x80 - 0xBF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ANAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { XRAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ORAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ADDNCW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { GTAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUBNBW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { LTAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0xC0 - 0xFF */ { ADDW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ONAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ADCW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { OFFAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUBW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { NEAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SBBW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { EQAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 } }; static const struct dasm_s dasmXX_7801[256] = { /* 0x00 - 0x3F */ { NOP, 0 }, { HALT, 0 }, { INX, "SP" }, { DCX, "SP" }, { LXI, "SP,%w" }, { ANIW, "%a,%b" }, { illegal, 0 }, { ANI, "A,%b" }, { RET, 0 }, { SIO, 0 }, { MOV, "A,B" }, { MOV, "A,C" }, { MOV, "A,D" }, { MOV, "A,E" }, { MOV, "A,H" }, { MOV, "A,L" }, { EX, 0 }, { EXX, 0 }, { INX, "BC" }, { DCX, "BC" }, { LXI, "BC,%w" }, { ORIW, "%a,%b" }, { XRI, "A,%b" }, { ORI, "A,%b" }, { RETS, 0 }, { STM, 0 }, { MOV, "B,A" }, { MOV, "C,A" }, { MOV, "D,A" }, { MOV, "E,A" }, { MOV, "H,A" }, { MOV, "L,A" }, { INRW, "%a" }, { TABLE, 0 }, { INX, "DE" }, { DCX, "DE" }, { LXI, "DE,%w" }, { GTIW, "%a,%b" }, { ADINC, "A,%b" }, { GTI, "A,%b" }, { LDAW, "%a" }, { LDAX, "BC" }, { LDAX, "DE" }, { LDAX, "HL" }, { LDAX, "DE+" }, { LDAX, "HL+" }, { LDAX, "DE-" }, { LDAX, "HL-" }, { DCRW, "%a" }, { BLOCK, 0 }, { INX, "HL" }, { DCX, "HL" }, { LXI, "HL,%w" }, { LTIW, "%a,%b" }, { SUINB, "A,%b" }, { LTI, "A,%b" }, { STAW, "%a" }, { STAX, "BC" }, { STAX, "DE" }, { STAX, "HL" }, { STAX, "DE+" }, { STAX, "HL+" }, { STAX, "DE-" }, { STAX, "HL-" }, /* 0x40 - 0x7F */ { illegal, 0 }, { INR, "A" }, { INR, "B" }, { INR, "C" }, { CALL, "%w" }, { ONIW, "%a,%b" }, { ADI, "A,%b" }, { ONI, "A,%b" }, { 0, dasm48_7801 }, { MVIX, "BC,%b" }, { MVIX, "DE,%b" }, { MVIX, "HL,%b" }, { 0, dasm4c_7801 }, { 0, dasm4d_7801 }, { JRE, "%d" }, { JRE, "%d" }, { illegal, 0 }, { DCR, "A" }, { DCR, "B" }, { DCR, "C" }, { JMP, "%w" }, { OFFIW, "%a,%b" }, { ACI, "A,%b" }, { OFFI, "A,%b" }, { BIT, "0,%a" }, { BIT, "1,%a" }, { BIT," 2,%a" }, { BIT, "3,%a" }, { BIT, "4,%a" }, { BIT, "5,%a" }, { BIT, "6,%a" }, { BIT, "7,%a" }, { 0, dasm60_7801 }, { DAA, 0 }, { RETI, 0 }, { CALB, 0 }, { 0, dasm64_7801 }, { NEIW, "%a,%b" }, { SUI, "A,%b" }, { NEI, "A,%b" }, { MVI, "V,%b?" }, { MVI, "A,%b" }, { MVI, "B,%b" }, { MVI, "C,%b" }, { MVI, "D,%b" }, { MVI, "E,%b" }, { MVI, "H,%b" }, { MVI, "L,%b" }, { 0, dasm70_7801 }, { MVIW, "%a,%b" }, { SOFTI, 0 }, { JB, 0 }, { 0, dasm74_7801 }, { EQIW, "%a,%b" }, { SBI, "A,%b" }, { EQI, "A,%b" }, { CALF, "%f" }, { CALF, "%f" }, { CALF, "%f" }, { CALF, "%f" }, { CALF, "%f" }, { CALF, "%f" }, { CALF, "%f" }, { CALF, "%f" }, /* 0x80 - 0xBF */ { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, /* 0xC0 - 0xFF */ { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" } }; /********************************************************* * * uPD7801 * *********************************************************/ static const struct dasm_s dasm48_78c05[256] = { /* 0x00 - 0x3F */ { SKIT, "F0" }, { SKIT, "FT" }, { SKIT, "F1" }, { illegal, 0 }, /* TODO: PDF doesn't mention SKIT and SK */ { SKIT, "FS" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SK, "CY" }, { illegal, 0 }, { SK, "Z" }, { illegal, 0 }, { PUSH, "VA" }, { POP, "VA" }, { SKNIT, "F0" }, { SKNIT, "FT" }, { SKNIT, "F1" }, { illegal, 0 }, { SKNIT, "FS" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SKN, "CY" }, { illegal, 0 }, { SKN, "Z" }, { illegal, 0 }, { PUSH, "BC" }, { POP, "BC" }, { EI, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { DI, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { CLC, 0 }, { STC, 0 }, { illegal, 0 }, { PEX, 0 }, { PUSH, "DE" }, { POP, "DE" }, { RLL, "A" }, { RLR, "A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { RLD, 0 }, { RRD, 0 }, { illegal, 0 }, { illegal, 0 }, { PER, 0 }, { illegal, 0 }, { PUSH, "HL" }, { POP, "HL" }, /* 0x40 - 0x7F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x80 - 0xBF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0xC0 - 0xFF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 } }; static const struct dasm_s dasm4c_78c05[256] = { /* 0x00 - 0x3F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x40 - 0x7F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x80 - 0xBF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0xC0 - 0xFF */ { MOV, "A,PA" }, { MOV, "A,PB" }, { MOV, "A,PC" }, { MOV, "A,MK" }, { MOV, "A,MB" }, { MOV, "A,MC" }, { MOV, "A,TM0" }, { MOV, "A,TM1" }, { MOV, "A,S" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* TODO: Figure out what regsiter C9 indicates */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 } }; static const struct dasm_s dasm4d_78c05[256] = { /* 0x00 - 0x3F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x40 - 0x7F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x80 - 0xBF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0xC0 - 0xFF */ { MOV, "PA,A" }, { MOV, "PB,A" }, { MOV, "PC,A" }, { MOV, "MK,A" }, { MOV, "MB,A" }, { MOV, "MC,A" }, { MOV, "TM0,A" }, { MOV, "TM1,A" }, { MOV, "S,A" }, { MOV, "TMM,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 } }; static const struct dasm_s dasm60_78c05[256] = { /* 0x00 - 0x3F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ANA, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { XRA, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ORA, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ADDNC, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { GTA, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUBNB, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { LTA, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x40 - 0x7F */ { illegal, 0 }, { ADD, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ADC, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUB, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { NEA, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SBB, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { EQA, "A,A" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x80 - 0xBF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ANA, "A,A" }, { ANA, "A,B" }, { ANA, "A,C" }, { ANA, "A,D" }, { ANA, "A,E" }, { ANA, "A,H" }, { ANA, "A,L" }, { illegal, 0 }, { XRA, "A,A" }, { XRA, "A,B" }, { XRA, "A,C" }, { XRA, "A,D" }, { XRA, "A,E" }, { XRA, "A,H" }, { XRA, "A,L" }, { illegal, 0 }, { ORA, "A,A" }, { ORA, "A,B" }, { ORA, "A,C" }, { ORA, "A,D" }, { ORA, "A,E" }, { ORA, "A,H" }, { ORA, "A,L" }, { illegal, 0 }, { ADDNC, "A,A" }, { ADDNC, "A,B" }, { ADDNC, "A,C" }, { ADDNC, "A,D" }, { ADDNC, "A,E" }, { ADDNC, "A,H" }, { ADDNC, "A,L" }, { illegal, 0 }, { GTA, "A,A" }, { GTA, "A,B" }, { GTA, "A,C" }, { GTA, "A,D" }, { GTA, "A,E" }, { GTA, "A,H" }, { GTA, "A,L" }, { illegal, 0 }, { SUBNB, "A,A" }, { SUBNB, "A,B" }, { SUBNB, "A,C" }, { SUBNB, "A,D" }, { SUBNB, "A,E" }, { SUBNB, "A,H" }, { SUBNB, "A,L" }, { illegal, 0 }, { LTA, "A,A" }, { LTA, "A,B" }, { LTA, "A,C" }, { LTA, "A,D" }, { LTA, "A,E" }, { LTA, "A,H" }, { LTA, "A,L" }, /* 0xC0 - 0xFF */ { illegal, 0 }, { ADD, "A,A" }, { ADD, "A,B" }, { ADD, "A,C" }, { ADD, "A,D" }, { ADD, "A,E" }, { ADD, "A,H" }, { ADD, "A,L" }, { illegal, 0 }, { ONA, "A,A" }, { ONA, "A,B" }, { ONA, "A,C" }, { ONA, "A,D" }, { ONA, "A,E" }, { ONA, "A,H" }, { ONA, "A,L" }, { illegal, 0 }, { ADC, "A,A" }, { ADC, "A,B" }, { ADC, "A,C" }, { ADC, "A,D" }, { ADC, "A,E" }, { ADC, "A,H" }, { ADC, "A,L" }, { illegal, 0 }, { OFFA, "A,A" }, { OFFA, "A,B" }, { OFFA, "A,C" }, { OFFA, "A,D" }, { OFFA, "A,E" }, { OFFA, "A,H" }, { OFFA, "A,L" }, { illegal, 0 }, { SUB, "A,A" }, { SUB, "A,B" }, { SUB, "A,C" }, { SUB, "A,D" }, { SUB, "A,E" }, { SUB, "A,H" }, { SUB, "A,L" }, { illegal, 0 }, { NEA, "A,A" }, { NEA, "A,B" }, { NEA, "A,C" }, { NEA, "A,D" }, { NEA, "A,E" }, { NEA, "A,H" }, { NEA, "A,L" }, { illegal, 0 }, { SBB, "A,A" }, { SBB, "A,B" }, { SBB, "A,C" }, { SBB, "A,D" }, { SBB, "A,E" }, { SBB, "A,H" }, { SBB, "A,L" }, { illegal, 0 }, { EQA, "A,A" }, { EQA, "A,B" }, { EQA, "A,C" }, { EQA, "A,D" }, { EQA, "A,E" }, { EQA, "A,H" }, { EQA, "A,L" } }; static const struct dasm_s dasm64_78c05[256] = { /* 0x00 - 0x3F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ANI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { XRI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ORI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ADINC, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { GTI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUINB, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { LTI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x40 - 0x7F */ { illegal, 0 }, { ADI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ONI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ACI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { OFFI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { NEI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SBI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { EQI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x80 - 0xBF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ANI, "PA,%b" }, { ANI, "PB,%b" }, { ANI, "PC,%b" }, { ANI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { XRI, "PA,%b" }, { XRI, "PB,%b" }, { XRI, "PC,%b" }, { XRI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ORI, "PA,%b" }, { ORI, "PB,%b" }, { ORI, "PC,%b" }, { ORI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ADINC, "PA,%b" }, { ADINC, "PB,%b" }, { ADINC, "PC,%b" }, { ADINC, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { GTI, "PA,%b" }, { GTI, "PB,%b" }, { GTI, "PC,%b" }, { GTI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUINB, "PA,%b" }, { SUINB, "PB,%b" }, { SUINB, "PC,%b" }, { SUINB, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { LTI, "PA,%b" }, { LTI, "PB,%b" }, { LTI, "PC,%b" }, { LTI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0xC0 - 0xFF */ { ADI, "PA,%b" }, { ADI, "PB,%b" }, { ADI, "PC,%b" }, { ADI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ONI, "PA,%b" }, { ONI, "PB,%b" }, { ONI, "PC,%b" }, { ONI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ACI, "PA,%b" }, { ACI, "PB,%b" }, { ACI, "PC,%b" }, { ACI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUI, "PA,%b" }, { SUI, "PB,%b" }, { SUI, "PC,%b" }, { SUI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { NEI, "PA,%b" }, { NEI, "PB,%b" }, { NEI, "PC,%b" }, { NEI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SBI, "PA,%b" }, { SBI, "PB,%b" }, { SBI, "PC,%b" }, { SBI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SBI, "PA,%b" }, { SBI, "PB,%b" }, { SBI, "PC,%b" }, { SBI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { EQI, "PA,%b" }, { EQI, "PB,%b" }, { EQI, "PC,%b" }, { EQI, "MK,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 } }; static const struct dasm_s dasm70_78c05[256] = { /* 0x00 - 0x3F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SSPD, "%w" }, { LSPD, "%w" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SBCD, "%w" }, { LBCD, "%w" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SDED, "%w" }, { LDED, "%w" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SHLD, "%w" }, { LHLD, "%w" }, /* 0x40 - 0x7F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { MOV, "A,%w" }, { MOV, "B,%w" }, { MOV, "C,%w" }, { MOV, "D,%w" }, { MOV, "E,%w" }, { MOV, "H,%w" }, { MOV, "L,%w" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { MOV, "%w,A" }, { MOV, "%w,B" }, { MOV, "%w,C" }, { MOV, "%w,D" }, { MOV, "%w,E" }, { MOV, "%w,H" }, { MOV, "%w,L" }, /* 0x80 - 0xBF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ANAX, "BC" }, { ANAX, "DE" }, { ANAX, "HL" }, { ANAX, "DE+" }, { ANAX, "HL+" }, { ANAX, "DE-" }, { ANAX, "HL-" }, { illegal, 0 }, { XRAX, "BC" }, { XRAX, "DE" }, { XRAX, "HL" }, { XRAX, "DE+" }, { XRAX, "HL+" }, { XRAX, "DE-" }, { XRAX, "HL-" }, { illegal, 0 }, { ORAX, "BC" }, { ORAX, "DE" }, { ORAX, "HL" }, { ORAX, "DE+" }, { ORAX, "HL+" }, { ORAX, "DE-" }, { ORAX, "HL-" }, { illegal, 0 }, { ADDNCX, "BC" }, { ADDNCX, "DE" }, { ADDNCX, "HL" }, { ADDNCX, "DE+" }, { ADDNCX, "HL+" }, { ADDNCX, "DE-" }, { ADDNCX, "HL-" }, { illegal, 0 }, { GTAX, "BC" }, { GTAX, "DE" }, { GTAX, "HL" }, { GTAX, "DE+" }, { GTAX, "HL+" }, { GTAX, "DE-" }, { GTAX, "HL-" }, { illegal, 0 }, { SUBNBX, "BC" }, { SUBNBX, "DE" }, { SUBNBX, "HL" }, { SUBNBX, "DE+" }, { SUBNBX, "HL+" }, { SUBNBX, "DE-" }, { SUBNBX, "HL-" }, { illegal, 0 }, { LTAX, "BC" }, { LTAX, "DE" }, { LTAX, "HL" }, { LTAX, "DE+" }, { LTAX, "HL+" }, { LTAX, "DE-" }, { LTAX, "HL-" }, /* 0xC0 - 0xFF */ { illegal, 0 }, { ADDX, "BC" }, { ADDX, "DE" }, { ADDX, "HL" }, { ADDX, "DE+" }, { ADDX, "HL+" }, { ADDX, "DE-" }, { ADDX, "HL-" }, { illegal, 0 }, { ONAX, "BC" }, { ONAX, "DE" }, { ONAX, "HL" }, { ONAX, "DE+" }, { ONAX, "HL+" }, { ONAX, "DE-" }, { ONAX, "HL-" }, { illegal, 0 }, { ADCX, "BC" }, { ADCX, "DE" }, { ADCX, "HL" }, { ADCX, "DE+" }, { ADCX, "HL+" }, { ADCX, "DE-" }, { ADCX, "HL-" }, { illegal, 0 }, { OFFAX, "BC" }, { OFFAX, "DE" }, { OFFAX, "HL" }, { OFFAX, "DE+" }, { OFFAX, "HL+" }, { OFFAX, "DE-" }, { OFFAX, "HL-" }, { illegal, 0 }, { SUBX, "BC" }, { SUBX, "DE" }, { SUBX, "HL" }, { SUBX, "DE+" }, { SUBX, "HL+" }, { SUBX, "DE-" }, { SUBX, "HL-" }, { illegal, 0 }, { NEAX, "BC" }, { NEAX, "DE" }, { NEAX, "HL" }, { NEAX, "DE+" }, { NEAX, "HL+" }, { NEAX, "DE-" }, { NEAX, "HL-" }, { illegal, 0 }, { SBBX, "BC" }, { SBBX, "DE" }, { SBBX, "HL" }, { SBBX, "DE+" }, { SBBX, "HL+" }, { SBBX, "DE-" }, { SBBX, "HL-" }, { illegal, 0 }, { EQAX, "BC" }, { EQAX, "DE" }, { EQAX, "HL" }, { EQAX, "DE+" }, { EQAX, "HL+" }, { EQAX, "DE-" }, { EQAX, "HL-" }, }; static const struct dasm_s dasm74_78c05[256] = { /* 0x00 - 0x3F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x40 - 0x7F */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0x80 - 0xBF */ { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ANAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { XRAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ORAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ADDNCW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { GTAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUBNBW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { LTAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, /* 0xC0 - 0xFF */ { ADDW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ONAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { ADCW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { OFFAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SUBW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { NEAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { SBBW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { EQAW, "%a" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, }; static const struct dasm_s dasmXX_78c05[256] = { /* 0x00 - 0x3F */ { NOP, 0 }, { HALT, 0 }, { INX, "SP" }, { DCX, "SP" }, { LXI, "SP,%w" }, { ANIW, "%a,%b" }, { illegal, 0 }, { ANI, "A,%b" }, { RET, 0 }, { SIO, 0 }, { MOV, "A,B" }, { MOV, "A,C" }, { MOV, "A,D" }, { MOV, "A,E" }, { MOV, "A,H" }, { MOV, "A,L" }, { illegal, 0 }, { illegal, 0 }, { INX, "BC" }, { DCX, "BC" }, { LXI, "BC,%w" }, { ORIW, "%a,%b" }, { XRI, "A,%b" }, { ORI, "A,%b" }, { RETS, 0 }, { STM, 0 }, { MOV, "B,A" }, { MOV, "C,A" }, { MOV, "D,A" }, { MOV, "E,A" }, { MOV, "H,A" }, { MOV, "L,A" }, { INRW, "%a" }, { illegal, 0 }, { INX, "DE" }, { DCX, "DE" }, { LXI, "DE,%w" }, { GTIW, "%a,%b" }, { ADINC, "A,%b" }, { GTI, "A,%b" }, { LDAW, "%a" }, { LDAX, "BC" }, { LDAX, "DE" }, { LDAX, "HL" }, { LDAX, "DE+" }, { LDAX, "HL+" }, { LDAX, "DE-" }, { LDAX, "HL-" }, { DCRW, "%a" }, { illegal, 0 }, { INX, "HL" }, { DCX, "HL" }, { LXI, "HL,%w" }, { LTIW, "%a,%b" }, { SUINB, "A,%b" }, { LTI, "A,%b" }, { STAW, "%a" }, { STAX, "BC" }, { STAX, "DE" }, { STAX, "HL" }, { STAX, "DE+" }, { STAX, "HL+" }, { STAX, "DE-" }, { STAX, "HL-" }, /* 0x40 - 0x7F */ { illegal, 0 }, { INR, "A" }, { INR, "B" }, { INR, "C" }, { CALL, "%w" }, { ONIW, "%a,%b" }, { ADI, "A,%b" }, { ONI, "A,%b" }, { 0, dasm48_78c05 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { 0, dasm4c_78c05 }, { 0, dasm4d_78c05 }, { JRE, "%d" }, { JRE, "%d" }, { illegal, 0 }, { DCR, "A" }, { DCR, "B" }, { DCR, "C" }, { JMP, "%w" }, { OFFIW, "%a,%b" }, { ACI, "A,%b" }, { OFFI, "A,%b" }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { illegal, 0 }, { 0, dasm60_78c05 }, { DAA, 0 }, { RETI, 0 }, { CALB, 0 }, { 0, dasm64_78c05 }, { NEIW, "%a,%b" }, { SUI, "A,%b" }, { NEI, "A,%b" }, { illegal, 0 }, { MVI, "A,%b" }, { MVI, "B,%b" }, { MVI, "C,%b" }, { MVI, "D,%b" }, { MVI, "E,%b" }, { MVI, "H,%b" }, { MVI, "L,%b" }, { 0, dasm70_78c05 }, { MVIW, "%a,%b" }, { SOFTI, 0 }, { JB, 0 }, { 0, dasm74_78c05 }, { EQIW, "%a,%b" }, { SBI, "A,%b" }, { EQI, "A,%b" }, { CALF, "%f" }, { CALF, "%f" }, { CALF, "%f" }, { CALF, "%f" }, { CALF, "%f" }, { CALF, "%f" }, { CALF, "%f" }, { CALF, "%f" }, /* 0x80 - 0xBF */ { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, { CALT, "%t" }, /* 0xC0 - 0xFF */ { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" }, { JR, "%o" } }; /* register names for bit manipulation instructions */ static const char *const regname[32] = { "illegal", "illegal", "illegal", "illegal", "illegal", "illegal", "illegal", "illegal", "illegal", "illegal", "illegal", "illegal", "illegal", "illegal", "illegal", "illegal", "PA", "PB", "PC", "PD", "illegal", "PF", "MKH", "MKL", "illegal", "SMH", "illegal", "EOM", "illegal", "TMM", "PT", "illegal" }; static offs_t Dasm( char *buffer, offs_t pc, const struct dasm_s *dasmXX, const UINT8 *oprom, const UINT8 *opram, int is_7810 ) { int idx = 0; UINT8 op = oprom[idx++], op2, t; int offset; UINT16 ea; const char *a; UINT32 flags = 0; t = dasmXX[op].token; a = dasmXX[op].args; /* 0 token means prefix opcode (use table from args) */ if (0 == t) { struct dasm_s *p_dasm = (struct dasm_s *)a; op2 = oprom[idx++]; t = p_dasm[op2].token; a = p_dasm[op2].args; } buffer += sprintf(buffer, "%-8.8s", token[t]); if (t == CALB || t == CALF || t == CALL || t == CALT) flags = DASMFLAG_STEP_OVER; else if (t == RET || t == RETI) flags = DASMFLAG_STEP_OUT; while (a && *a) { if ('%' == *a) { a++; switch (*a) { case 'a': /* address V * 256 + offset */ op2 = opram[idx++]; buffer += sprintf(buffer, "VV:%02X", op2); break; case 'b': /* immediate byte */ buffer += sprintf(buffer, "$%02X", opram[idx++]); break; case 'w': /* immediate word */ ea = opram[idx++]; ea += opram[idx++] << 8; buffer += sprintf(buffer, "$%04X", ea); break; case 'd': /* JRE address */ op2 = oprom[idx++]; offset = (op & 1) ? -(256 - op2): + op2; buffer += sprintf(buffer, "$%04X", ( pc + idx + offset ) & 0xFFFF ); break; case 't': /* CALT address */ ea = 0x80 + 2 * (op & (is_7810 ? 0x1f : 0x3f)); buffer += sprintf(buffer, "($%04X)", ea); break; case 'f': /* CALF address */ op2 = oprom[idx++]; ea = 0x800 + 0x100 * (op & 0x07) + op2; buffer += sprintf(buffer, "$%04X", ea); break; case 'o': /* JR offset */ offset = ( ( op & 0x20 ) ? -0x20 : 0 ) + ( op & 0x1F ); buffer += sprintf(buffer, "$%04X", ( pc + idx + offset ) & 0xFFFF ); break; case 'i': /* bit manipulation */ op2 = oprom[idx++]; buffer += sprintf(buffer, "%s,%d", regname[op2 & 0x1f], op2 >> 5); break; default: *buffer++ = *a; } } else *buffer++ = *a; a++; } *buffer = '\0'; return idx | flags | DASMFLAG_SUPPORTED; } offs_t upd7810_dasm( char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram ) { return Dasm( buffer, pc, dasmXX_7810, oprom, opram, 1 ); } offs_t upd7807_dasm( char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram ) { return Dasm( buffer, pc, dasmXX_7807, oprom, opram, 1 ); } offs_t upd7801_dasm( char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram ) { return Dasm( buffer, pc, dasmXX_7801, oprom, opram, 0 ); } offs_t upd78c05_dasm( char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram ) { return Dasm( buffer, pc, dasmXX_78c05, oprom, opram, 0 ); }