home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / EMULATOR / UNIX / CAIN2 / DASM.C < prev    next >
C/C++ Source or Header  |  2000-06-30  |  42KB  |  1,526 lines

  1. /*
  2. dasm
  3.  
  4. CP/M emulator - instruction disassembler
  5. Written by D'Arcy J.M. Cain
  6. darcy@druid
  7.  
  8. The core of this code taken from a program with no authorship or copyright
  9. notice so I can't credit the original.  Sorry.
  10.  
  11. */
  12.  
  13. #include    <stdio.h>
  14. #include    <string.h>
  15. #include    "cpm.h"
  16.  
  17. #define        get_prog_word(buf)        (buf[1] + (buf[2] << 8))
  18. #define        get_prog_byte(buf, x)    (buf[x + 1])
  19.  
  20.  
  21. char undefined[] = "undefined";
  22.  
  23. struct opcode {
  24.     const char    *name;
  25.     int            args;
  26. };
  27.  
  28. /*
  29. The name is taken as a printf format string and arguments are given based
  30. on the args variable
  31.     0 means no arguments needed
  32.     1 means use byte following opcode as argument
  33.     2 means use word following opcode as argument
  34.     3 means use byte but convert to relative address
  35.     4 means use next two bytes as two arguments
  36. */
  37. struct opcode major[256] = {
  38.     "nop",                    0,        /* 00 */
  39.     "ld     bc, 0%04.4xh",    2,        /* 01 */
  40.     "ld     bc, a",            0,        /* 02 */
  41.     "inc    bc",            0,        /* 03 */
  42.     "inc    b",                0,        /* 04 */
  43.     "dec    b",                0,        /* 05 */
  44.     "ld     b, 0%02.2xh",    1,        /* 06 */
  45.     "rlc    a",                0,        /* 07 */
  46.  
  47.     "ex     af, af'",        0,        /* 08 */
  48.     "add    hl, bc",        0,        /* 09 */
  49.     "ld     a, (bc)",        0,        /* 0a */
  50.     "dec    bc",            0,        /* 0b */
  51.     "inc    c",                0,        /* 0c */
  52.     "dec    c",                0,        /* 0d */
  53.     "ld     c, 0%02.2xh",    1,        /* 0e */
  54.     "rrc    a",                0,        /* 0f */
  55.  
  56.     "djnz   0%04.4xh",        3,        /* 10 */
  57.     "ld     de, 0%04.4xh",    2,        /* 11 */
  58.     "ld     (de), a",        0,        /* 12 */
  59.     "inc    de",            0,        /* 13 */
  60.     "inc    d",                0,        /* 14 */
  61.     "dec    d",                0,        /* 15 */
  62.     "ld     d, 0%02.2xh",    1,        /* 16 */
  63.     "rla",                    0,        /* 17 */
  64.  
  65.     "jr     0%04.4xh",        3,        /* 18 */
  66.     "add    hl, de",        0,        /* 19 */
  67.     "ld     a, (de)",        0,        /* 1a */
  68.     "dec    de",            0,        /* 1b */
  69.     "inc    e",                0,        /* 1c */
  70.     "dec    e",                0,        /* 1d */
  71.     "ld     e, 0%02.2xh",    1,        /* 1e */
  72.     "rra",                    0,        /* 1f */
  73.  
  74.     "jr     nz, 0%04.4xh",    3,        /* 20 */
  75.     "ld     hl, 0%04.4xh",    2,        /* 21 */
  76.     "ld     (0%04.4xh), hl",2,        /* 22 */
  77.     "inc    hl",            0,        /* 23 */
  78.     "inc    h",                0,        /* 24 */
  79.     "dec    h",                0,        /* 25 */
  80.     "ld     h, 0%02.2xh",    1,        /* 26 */
  81.     "daa",                    0,        /* 27 */
  82.  
  83.     "jr     z, 0%04.4xh",    3,        /* 28 */
  84.     "add    hl, hl",        0,        /* 29 */
  85.     "ld     hl, (0%04.4xh)",2,        /* 2a */
  86.     "dec    hl",            0,        /* 2b */
  87.     "inc    l",                0,        /* 2c */
  88.     "dec    l",                0,        /* 2d */
  89.     "ld     l, 0%02.2xh",    1,        /* 2e */
  90.     "cpl",                    0,        /* 2f */
  91.  
  92.     "jr     nc, 0%04.4xh",    3,        /* 30 */
  93.     "ld     sp, 0%04.4xh",    2,        /* 31 */
  94.     "ld     (0%04.4xh), a",    2,        /* 32 */
  95.     "inc    sp",            0,        /* 33 */
  96.     "inc    (hl)",            0,        /* 34 */
  97.     "dec    (hl)",            0,        /* 35 */
  98.     "ld     (hl), 0%02.2xh",1,        /* 36 */
  99.     "scf",                    0,        /* 37 */
  100.  
  101.     "jr     c, 0%04.4xh",    3,        /* 38 */
  102.     "add    hl, sp",        0,        /* 39 */
  103.     "ld     a, (0%04.4xh)",    2,        /* 3a */
  104.     "dec    sp",            0,        /* 3b */
  105.     "inc    a",                0,        /* 3c */
  106.     "dec    a",                0,        /* 3d */
  107.     "ld     a, 0%02.2xh",    1,        /* 3e */
  108.     "ccf",                    0,        /* 3f */
  109.  
  110.     "ld     b, b",            0,        /* 40 */
  111.     "ld     b, c",            0,        /* 41 */
  112.     "ld     b, d",            0,        /* 42 */
  113.     "ld     b, e",            0,        /* 43 */
  114.     "ld     b, h",            0,        /* 44 */
  115.     "ld     b, l",            0,        /* 45 */
  116.     "ld     b, (hl)",        0,        /* 46 */
  117.     "ld     b, a",            0,        /* 47 */
  118.  
  119.     "ld     c, b",            0,        /* 48 */
  120.     "ld     c, c",            0,        /* 49 */
  121.     "ld     c, d",            0,        /* 4a */
  122.     "ld     c, e",            0,        /* 4b */
  123.     "ld     c, h",            0,        /* 4c */
  124.     "ld     c, l",            0,        /* 4d */
  125.     "ld     c, (hl)",        0,        /* 4e */
  126.     "ld     c, a",            0,        /* 4f */
  127.  
  128.     "ld     d, b",            0,        /* 50 */
  129.     "ld     d, c",            0,        /* 51 */
  130.     "ld     d, d",            0,        /* 52 */
  131.     "ld     d, e",            0,        /* 53 */
  132.     "ld     d, h",            0,        /* 54 */
  133.     "ld     d, l",            0,        /* 55 */
  134.     "ld     d, (hl)",        0,        /* 56 */
  135.     "ld     d, a",            0,        /* 57 */
  136.  
  137.     "ld     e, b",            0,        /* 58 */
  138.     "ld     e, c",            0,        /* 59 */
  139.     "ld     e, d",            0,        /* 5a */
  140.     "ld     e, e",            0,        /* 5b */
  141.     "ld     e, h",            0,        /* 5c */
  142.     "ld     e, l",            0,        /* 5d */
  143.     "ld     e, (hl)",        0,        /* 5e */
  144.     "ld     e, a",            0,        /* 5f */
  145.  
  146.     "ld     h, b",            0,        /* 60 */
  147.     "ld     h, c",            0,        /* 61 */
  148.     "ld     h, d",            0,        /* 62 */
  149.     "ld     h, e",            0,        /* 63 */
  150.     "ld     h, h",            0,        /* 64 */
  151.     "ld     h, l",            0,        /* 65 */
  152.     "ld     h, (hl)",        0,        /* 66 */
  153.     "ld     h, a",            0,        /* 67 */
  154.  
  155.     "ld     l, b",            0,        /* 68 */
  156.     "ld     l, c",            0,        /* 69 */
  157.     "ld     l, d",            0,        /* 6a */
  158.     "ld     l, e",            0,        /* 6b */
  159.     "ld     l, h",            0,        /* 6c */
  160.     "ld     l, l",            0,        /* 6d */
  161.     "ld     l, (hl)",        0,        /* 6e */
  162.     "ld     l, a",            0,        /* 6f */
  163.  
  164.     "ld     (hl), b",        0,        /* 70 */
  165.     "ld     (hl), c",        0,        /* 71 */
  166.     "ld     (hl), d",        0,        /* 72 */
  167.     "ld     (hl), e",        0,        /* 73 */
  168.     "ld     (hl), h",        0,        /* 74 */
  169.     "ld     (hl), l",        0,        /* 75 */
  170.     "halt",                    0,        /* 76 */
  171.     "ld     (hl), a",        0,        /* 77 */
  172.  
  173.     "ld     a, b",            0,        /* 78 */
  174.     "ld     a, c",            0,        /* 79 */
  175.     "ld     a, d",            0,        /* 7a */
  176.     "ld     a, e",            0,        /* 7b */
  177.     "ld     a, h",            0,        /* 7c */
  178.     "ld     a, l",            0,        /* 7d */
  179.     "ld     a, (hl)",        0,        /* 7e */
  180.     "ld     a, a",            0,        /* 7f */
  181.  
  182.     "add    a, b",            0,        /* 80 */
  183.     "add    a, c",            0,        /* 81 */
  184.     "add    a, d",            0,        /* 82 */
  185.     "add    a, e",            0,        /* 83 */
  186.     "add    a, h",            0,        /* 84 */
  187.     "add    a, l",            0,        /* 85 */
  188.     "add    a, (hl)",        0,        /* 86 */
  189.     "add    a, a",            0,        /* 87 */
  190.  
  191.     "adc    a, b",            0,        /* 88 */
  192.     "adc    a, c",            0,        /* 89 */
  193.     "adc    a, d",            0,        /* 8a */
  194.     "adc    a, e",            0,        /* 8b */
  195.     "adc    a, h",            0,        /* 8c */
  196.     "adc    a, l",            0,        /* 8d */
  197.     "adc    a, (hl)",        0,        /* 8e */
  198.     "adc    a, a",            0,        /* 8f */
  199.  
  200.     "sub    b",                0,        /* 90 */
  201.     "sub    c",                0,        /* 91 */
  202.     "sub    d",                0,        /* 92 */
  203.     "sub    e",                0,        /* 93 */
  204.     "sub    h",                0,        /* 94 */
  205.     "sub    l",                0,        /* 95 */
  206.     "sub    (hl)",            0,        /* 96 */
  207.     "sub    a",                0,        /* 97 */
  208.  
  209.     "sbc    a, b",            0,        /* 98 */
  210.     "sbc    a, c",            0,        /* 99 */
  211.     "sbc    a, d",            0,        /* 9a */
  212.     "sbc    a, e",            0,        /* 9b */
  213.     "sbc    a, h",            0,        /* 9c */
  214.     "sbc    a, l",            0,        /* 9d */
  215.     "sbc    a, (hl)",        0,        /* 9e */
  216.     "sbc    a, a",            0,        /* 9f */
  217.  
  218.     "and    b",                0,        /* a0 */
  219.     "and    c",                0,        /* a1 */
  220.     "and    d",                0,        /* a2 */
  221.     "and    e",                0,        /* a3 */
  222.     "and    h",                0,        /* a4 */
  223.     "and    l",                0,        /* a5 */
  224.     "and    (hl)",            0,        /* a6 */
  225.     "and    a",                0,        /* a7 */
  226.  
  227.     "xor    b",                0,        /* a8 */
  228.     "xor    c",                0,        /* a9 */
  229.     "xor    d",                0,        /* aa */
  230.     "xor    e",                0,        /* ab */
  231.     "xor    h",                0,        /* ac */
  232.     "xor    l",                0,        /* ad */
  233.     "xor    (hl)",            0,        /* ae */
  234.     "xor    a",                0,        /* af */
  235.  
  236.     "or     b",                0,        /* b0 */
  237.     "or     c",                0,        /* b1 */
  238.     "or     d",                0,        /* b2 */
  239.     "or     e",                0,        /* b3 */
  240.     "or     h",                0,        /* b4 */
  241.     "or     l",                0,        /* b5 */
  242.     "or     (hl)",            0,        /* b6 */
  243.     "or     a",                0,        /* b7 */
  244.  
  245.     "cp     b",                0,        /* b8 */
  246.     "cp     c",                0,        /* b9 */
  247.     "cp     d",                0,        /* ba */
  248.     "cp     e",                0,        /* bb */
  249.     "cp     h",                0,        /* bc */
  250.     "cp     l",                0,        /* bd */
  251.     "cp     (hl)",            0,        /* be */
  252.     "cp     a",                0,        /* bf */
  253.  
  254.     "ret    nz",            0,        /* c0 */
  255.     "pop    bc",            0,        /* c1 */
  256.     "jp     nz, 0%04.4xh",    2,        /* c2 */
  257.     "jp     0%04.4xh",        2,        /* c3 */
  258.     "call   nz, 0%04.4xh",    2,        /* c4 */
  259.     "push   bc",            0,        /* c5 */
  260.     "add    a, 0%02.2xh",    1,        /* c6 */
  261.     "rst    0",                0,        /* c7 */
  262.  
  263.     "ret    z",                0,        /* c8 */
  264.     "ret",                    0,        /* c9 */
  265.     "jp     z, 0%04.4xh",    2,        /* ca */
  266.     0,                        0,        /* cb */
  267.     "call   z, 0%04.4xh",    2,        /* cc */
  268.     "call   0%04.4xh",        2,        /* cd */
  269.     "adc    a, 0%022.2xh",    1,        /* ce */
  270.     "rst    8",                0,        /* cf */
  271.     
  272.     "ret    nc",            0,        /* d0 */
  273.     "pop    de",            0,        /* d1 */
  274.     "jp     nc, 0%04.4xh",    2,        /* d2 */
  275.     "out    (0%02.2xh), a",    1,        /* d3 */
  276.     "call   nc, 0%04.4xh",    2,        /* d4 */
  277.     "push   de",            0,        /* d5 */
  278.     "sub    0%02.2xh",        1,        /* d6 */
  279.     "rst    10h",            0,        /* d7 */
  280.     
  281.     "ret    c",                0,        /* d8 */
  282.     "exx",                    0,        /* d9 */
  283.     "jp     c, 0%04.4xh",    2,        /* da */
  284.     "in     a, (0%02.2xh)",        1,        /* db */
  285.     "call   c, 0%04.4xh",    2,        /* dc */
  286.     0,                        1,        /* dd */
  287.     "sbc    a, 0%02.2xh",    1,        /* de */
  288.     "rst    18h",            0,        /* df */
  289.     
  290.     "ret    po",            0,        /* e0 */
  291.     "pop    hl",            0,        /* e1 */
  292.     "jp     po, 0%04.4xh",    2,        /* e2 */
  293.     "ex     (sp), hl",        0,        /* e3 */
  294.     "call   po, 0%04.4xh",    2,        /* e4 */
  295.     "push   hl",            0,        /* e5 */
  296.     "and    0%02.2xh",        1,        /* e6 */
  297.     "rst    20h",            0,        /* e7 */
  298.     "ret    pe",            0,        /* e8 */
  299.     
  300.     "jp     (hl)",            0,        /* e9 */
  301.     "jp     pe, 0%04.4xh",    2,        /* ea */
  302.     "ex     de, hl",        0,        /* eb */
  303.     "call   pe, 0%04.4xh",    2,        /* ec */
  304.     0,            2,        /* ed */
  305.     "xor    0%02.2xh",        1,        /* ee */
  306.     "rst    28h",            0,        /* ef */
  307.     
  308.     "ret    p",                0,        /* f0 */
  309.     "pop    af",            0,        /* f1 */
  310.     "jp     p, 0%04.4xh",    2,        /* f2 */
  311.     "di",                    0,        /* f3 */
  312.     "call   p, 0%04.4xh",    2,        /* f4 */
  313.     "push   af",            0,        /* f5 */
  314.     "or     0%02.2xh",        1,        /* f6 */
  315.     "rst    30h",            0,        /* f7 */
  316.     
  317.     "ret    m",                0,        /* f8 */
  318.     "ld    sp, hl",            0,        /* f9 */
  319.     "jp     m, 0%04.4xh",    2,        /* fa */
  320.     "ei",                    0,        /* fb */
  321.     "call   m, 0%04.4xh",    2,        /* fc */
  322.     0,                        3,        /* fd */
  323.     "cp     0%02.2xh",        1,        /* fe */
  324.     "rst    38h",            0,        /* ff */
  325. };
  326.  
  327. struct opcode minor[4][256] = {
  328.                             /* cb */
  329.     "rlc    b",                0,        /* cb00 */
  330.     "rlc    c",                0,        /* cb01 */
  331.     "rlc    d",                0,        /* cb02 */
  332.     "rlc    e",                0,        /* cb03 */
  333.     "rlc    h",                0,        /* cb04 */
  334.     "rlc    l",                0,        /* cb05 */
  335.     "rlc    (hl)",            0,        /* cb06 */
  336.     "rlc    a",                0,        /* cb07 */
  337.     
  338.     "rrc    b",                0,        /* cb08 */
  339.     "rrc    c",                0,        /* cb09 */
  340.     "rrc    d",                0,        /* cb0a */
  341.     "rrc    e",                0,        /* cb0b */
  342.     "rrc    h",                0,        /* cb0c */
  343.     "rrc    l",                0,        /* cb0d */
  344.     "rrc    (hl)",            0,        /* cb0e */
  345.     "rrc    a",                0,        /* cb0f */
  346.     
  347.     "rl     b",                0,        /* cb10 */
  348.     "rl     c",                0,        /* cb11 */
  349.     "rl     d",                0,        /* cb12 */
  350.     "rl     e",                0,        /* cb13 */
  351.     "rl     h",                0,        /* cb14 */
  352.     "rl     l",                0,        /* cb15 */
  353.     "rl     (hl)",            0,        /* cb16 */
  354.     "rl     a",                0,        /* cb17 */
  355.     
  356.     "rr     b",                0,        /* cb18 */
  357.     "rr     c",                0,        /* cb19 */
  358.     "rr     d",                0,        /* cb1a */
  359.     "rr     e",                0,        /* cb1b */
  360.     "rr     h",                0,        /* cb1c */
  361.     "rr     l",                0,        /* cb1d */
  362.     "rr     (hl)",            0,        /* cb1e */
  363.     "rr     a",                0,        /* cb1f */
  364.     
  365.     "sla    b",                0,        /* cb20 */
  366.     "sla    c",                0,        /* cb21 */
  367.     "sla    d",                0,        /* cb22 */
  368.     "sla    e",                0,        /* cb23 */
  369.     "sla    h",                0,        /* cb24 */
  370.     "sla    l",                0,        /* cb25 */
  371.     "sla    (hl)",            0,        /* cb26 */
  372.     "sla    a",                0,        /* cb27 */
  373.     
  374.     "sra    b",                0,        /* cb28 */
  375.     "sra    c",                0,        /* cb29 */
  376.     "sra    d",                0,        /* cb2a */
  377.     "sra    e",                0,        /* cb2b */
  378.     "sra    h",                0,        /* cb2c */
  379.     "sra    l",                0,        /* cb2d */
  380.     "sra    (hl)",            0,        /* cb2e */
  381.     "sra    a",                0,        /* cb2f */
  382.     
  383.     undefined,                0,        /* cb30 */
  384.     undefined,                0,        /* cb31 */
  385.     undefined,                0,        /* cb32 */
  386.     undefined,                0,        /* cb33 */
  387.     undefined,                0,        /* cb34 */
  388.     undefined,                0,        /* cb35 */
  389.     undefined,                0,        /* cb36 */
  390.     undefined,                0,        /* cb37 */
  391.     
  392.     "srl    b",                0,        /* cb38 */
  393.     "srl    c",                0,        /* cb39 */
  394.     "srl    d",                0,        /* cb3a */
  395.     "srl    e",                0,        /* cb3b */
  396.     "srl    h",                0,        /* cb3c */
  397.     "srl    l",                0,        /* cb3d */
  398.     "srl    (hl)",            0,        /* cb3e */
  399.     "srl    a",                0,        /* cb3f */
  400.     
  401.     "bit    0, b",            0,        /* cb40 */
  402.     "bit    0, c",            0,        /* cb41 */
  403.     "bit    0, d",            0,        /* cb42 */
  404.     "bit    0, e",            0,        /* cb43 */
  405.     "bit    0, h",            0,        /* cb44 */
  406.     "bit    0, l",            0,        /* cb45 */
  407.     "bit    0, (hl)",        0,        /* cb46 */
  408.     "bit    0, a",            0,        /* cb47 */
  409.     
  410.     "bit    1, b",            0,        /* cb48 */
  411.     "bit    1, c",            0,        /* cb49 */
  412.     "bit    1, d",            0,        /* cb4a */
  413.     "bit    1, e",            0,        /* cb4b */
  414.     "bit    1, h",            0,        /* cb4c */
  415.     "bit    1, l",            0,        /* cb4d */
  416.     "bit    1, (hl)",        0,        /* cb4e */
  417.     "bit    1, a",            0,        /* cb4f */
  418.     
  419.     "bit    2, b",            0,        /* cb50 */
  420.     "bit    2, c",            0,        /* cb51 */
  421.     "bit    2, d",            0,        /* cb52 */
  422.     "bit    2, e",            0,        /* cb53 */
  423.     "bit    2, h",            0,        /* cb54 */
  424.     "bit    2, l",            0,        /* cb55 */
  425.     "bit    2, (hl)",        0,        /* cb56 */
  426.     "bit    2, a",            0,        /* cb57 */
  427.     
  428.     "bit    3, b",            0,        /* cb58 */
  429.     "bit    3, c",            0,        /* cb59 */
  430.     "bit    3, d",            0,        /* cb5a */
  431.     "bit    3, e",            0,        /* cb5b */
  432.     "bit    3, h",            0,        /* cb5c */
  433.     "bit    3, l",            0,        /* cb5d */
  434.     "bit    3, (hl)",        0,        /* cb5e */
  435.     "bit    3, a",            0,        /* cb5f */
  436.     
  437.     "bit    4, b",            0,        /* cb60 */
  438.     "bit    4, c",            0,        /* cb61 */
  439.     "bit    4, d",            0,        /* cb62 */
  440.     "bit    4, e",            0,        /* cb63 */
  441.     "bit    4, h",            0,        /* cb64 */
  442.     "bit    4, l",            0,        /* cb65 */
  443.     "bit    4, (hl)",        0,        /* cb66 */
  444.     "bit    4, a",            0,        /* cb67 */
  445.     
  446.     "bit    5, b",            0,        /* cb68 */
  447.     "bit    5, c",            0,        /* cb69 */
  448.     "bit    5, d",            0,        /* cb6a */
  449.     "bit    5, e",            0,        /* cb6b */
  450.     "bit    5, h",            0,        /* cb6c */
  451.     "bit    5, l",            0,        /* cb6d */
  452.     "bit    5, (hl)",        0,        /* cb6e */
  453.     "bit    5, a",            0,        /* cb6f */
  454.     
  455.     "bit    6, b",            0,        /* cb70 */
  456.     "bit    6, c",            0,        /* cb71 */
  457.     "bit    6, d",            0,        /* cb72 */
  458.     "bit    6, e",            0,        /* cb73 */
  459.     "bit    6, h",            0,        /* cb74 */
  460.     "bit    6, l",            0,        /* cb75 */
  461.     "bit    6, (hl)",        0,        /* cb76 */
  462.     "bit    6, a",            0,        /* cb77 */
  463.     
  464.     "bit    7, b",            0,        /* cb78 */
  465.     "bit    7, c",            0,        /* cb79 */
  466.     "bit    7, d",            0,        /* cb7a */
  467.     "bit    7, e",            0,        /* cb7b */
  468.     "bit    7, h",            0,        /* cb7c */
  469.     "bit    7, l",            0,        /* cb7d */
  470.     "bit    7, (hl)",        0,        /* cb7e */
  471.     "bit    7, a",            0,        /* cb7f */
  472.     
  473.     "res    0, b",            0,        /* cb80 */
  474.     "res    0, c",            0,        /* cb81 */
  475.     "res    0, d",            0,        /* cb82 */
  476.     "res    0, e",            0,        /* cb83 */
  477.     "res    0, h",            0,        /* cb84 */
  478.     "res    0, l",            0,        /* cb85 */
  479.     "res    0, (hl)",        0,        /* cb86 */
  480.     "res    0, a",            0,        /* cb87 */
  481.     
  482.     "res    1, b",            0,        /* cb88 */
  483.     "res    1, c",            0,        /* cb89 */
  484.     "res    1, d",            0,        /* cb8a */
  485.     "res    1, e",            0,        /* cb8b */
  486.     "res    1, h",            0,        /* cb8c */
  487.     "res    1, l",            0,        /* cb8d */
  488.     "res    1, (hl)",        0,        /* cb8e */
  489.     "res    1, a",            0,        /* cb8f */
  490.     
  491.     "res    2, b",            0,        /* cb90 */
  492.     "res    2, c",            0,        /* cb91 */
  493.     "res    2, d",            0,        /* cb92 */
  494.     "res    2, e",            0,        /* cb93 */
  495.     "res    2, h",            0,        /* cb94 */
  496.     "res    2, l",            0,        /* cb95 */
  497.     "res    2, (hl)",        0,        /* cb96 */
  498.     "res    2, a",            0,        /* cb97 */
  499.     
  500.     "res    3, b",            0,        /* cb98 */
  501.     "res    3, c",            0,        /* cb99 */
  502.     "res    3, d",            0,        /* cb9a */
  503.     "res    3, e",            0,        /* cb9b */
  504.     "res    3, h",            0,        /* cb9c */
  505.     "res    3, l",            0,        /* cb9d */
  506.     "res    3, (hl)",        0,        /* cb9e */
  507.     "res    3 ,a",            0,        /* cb9f */
  508.     
  509.     "res    4, b",            0,        /* cba0 */
  510.     "res    4, c",            0,        /* cba1 */
  511.     "res    4, d",            0,        /* cba2 */
  512.     "res    4, e",            0,        /* cba3 */
  513.     "res    4, h",            0,        /* cba4 */
  514.     "res    4, l",            0,        /* cba5 */
  515.     "res    4, (hl)",        0,        /* cba6 */
  516.     "res    4, a",            0,        /* cba7 */
  517.  
  518.     "res    5, b",            0,        /* cba8 */
  519.     "res    5, c",            0,        /* cba9 */
  520.     "res    5, d",            0,        /* cbaa */
  521.     "res    5, e",            0,        /* cbab */
  522.     "res    5, h",            0,        /* cbac */
  523.     "res    5, l",            0,        /* cbad */
  524.     "res    5, (hl)",        0,        /* cbae */
  525.     "res    5, a",            0,        /* cbaf */
  526.     
  527.     "res    6, b",            0,        /* cbb0 */
  528.     "res    6, c",            0,        /* cbb1 */
  529.     "res    6, d",            0,        /* cbb2 */
  530.     "res    6, e",            0,        /* cbb3 */
  531.     "res    6, h",            0,        /* cbb4 */
  532.     "res    6, l",            0,        /* cbb5 */
  533.     "res    6, (hl)",        0,        /* cbb6 */
  534.     "res    6, a",            0,        /* cbb7 */
  535.  
  536.     "res    7, b",            0,        /* cbb8 */
  537.     "res    7, c",            0,        /* cbb9 */
  538.     "res    7, d",            0,        /* cbba */
  539.     "res    7, e",            0,        /* cbbb */
  540.     "res    7, h",            0,        /* cbbc */
  541.     "res    7, l",            0,        /* cbbd */
  542.     "res    7, (hl)",        0,        /* cbbe */
  543.     "res    7, a",            0,        /* cbbf */
  544.  
  545.     "set    0, b",            0,        /* cbc0 */
  546.     "set    0, c",            0,        /* cbc1 */
  547.     "set    0, d",            0,        /* cbc2 */
  548.     "set    0, e",            0,        /* cbc3 */
  549.     "set    0, h",            0,        /* cbc4 */
  550.     "set    0, l",            0,        /* cbc5 */
  551.     "set    0, (hl)",        0,        /* cbc6 */
  552.     "set    0, a",            0,        /* cbc7 */
  553.  
  554.     "set    1, b",            0,        /* cbc8 */
  555.     "set    1, c",            0,        /* cbc9 */
  556.     "set    1, d",            0,        /* cbca */
  557.     "set    1, e",            0,        /* cbcb */
  558.     "set    1, h",            0,        /* cbcc */
  559.     "set    1, l",            0,        /* cbcd */
  560.     "set    1, (hl)",        0,        /* cbce */
  561.     "set    1, a",            0,        /* cbcf */
  562.     
  563.     "set    2, b",            0,        /* cbd0 */
  564.     "set    2, c",            0,        /* cbd1 */
  565.     "set    2, d",            0,        /* cbd2 */
  566.     "set    2, e",            0,        /* cbd3 */
  567.     "set    2, h",            0,        /* cbd4 */
  568.     "set    2, l",            0,        /* cbd5 */
  569.     "set    2, (hl)",        0,        /* cbd6 */
  570.     "set    2, a",            0,        /* cbd7 */
  571.  
  572.     "set    3, b",            0,        /* cbd8 */
  573.     "set    3, c",            0,        /* cbd9 */
  574.     "set    3, d",            0,        /* cbda */
  575.     "set    3, e",            0,        /* cbdb */
  576.     "set    3, h",            0,        /* cbdc */
  577.     "set    3, l",            0,        /* cbdd */
  578.     "set    3, (hl)",        0,        /* cbde */
  579.     "set    3, a",            0,        /* cbdf */
  580.     
  581.     "set    4, b",            0,        /* cbe0 */
  582.     "set    4, c",            0,        /* cbe1 */
  583.     "set    4, d",            0,        /* cbe2 */
  584.     "set    4, e",            0,        /* cbe3 */
  585.     "set    4, h",            0,        /* cbe4 */
  586.     "set    4, l",            0,        /* cbe5 */
  587.     "set    4, (hl)",        0,        /* cbe6 */
  588.     "set    4, a",            0,        /* cbe7 */
  589.      
  590.     "set    5, b",            0,        /* cbe8 */
  591.     "set    5, c",            0,        /* cbe9 */
  592.     "set    5, d",            0,        /* cbea */
  593.     "set    5, e",            0,        /* cbeb */
  594.     "set    5 ,h",            0,        /* cbec */
  595.     "set    5, l",            0,        /* cbed */
  596.     "set    5, (hl)",        0,        /* cbee */
  597.     "set    5, a",            0,        /* cbef */
  598.     
  599.     "set    6, b",            0,        /* cbf0 */
  600.     "set    6, c",            0,        /* cbf1 */
  601.     "set    6, d",            0,        /* cbf2 */
  602.     "set    6, e",            0,        /* cbf3 */
  603.     "set    6, h",            0,        /* cbf4 */
  604.     "set    6, l",            0,        /* cbf5 */
  605.     "set    6, (hl)",        0,        /* cbf6 */
  606.     "set    6, a",            0,        /* cbf7 */
  607.     
  608.     "set    7, b",            0,        /* cbf8 */
  609.     "set    7, c",            0,        /* cbf9 */
  610.     "set    7, d",            0,        /* cbfa */
  611.     "set    7, e",            0,        /* cbfb */
  612.     "set    7, h",            0,        /* cbfc */
  613.     "set    7, l",            0,        /* cbfd */
  614.     "set    7, (hl)",        0,        /* cbfe */
  615.     "set    7, a",            0,        /* cbff */
  616.                             /* dd */
  617.     undefined,                0,        /* dd00 */
  618.     undefined,                0,        /* dd01 */
  619.     undefined,                0,        /* dd02 */
  620.     undefined,                0,        /* dd03 */
  621.     undefined,                0,        /* dd04 */
  622.     undefined,                0,        /* dd05 */
  623.     undefined,                0,        /* dd06 */
  624.     undefined,                0,        /* dd07 */
  625.  
  626.     undefined,                0,        /* dd08 */
  627.     "add    ix, bc",        0,        /* dd09 */
  628.     undefined,                0,        /* dd0a */
  629.     undefined,                0,        /* dd0b */
  630.     undefined,                0,        /* dd0c */
  631.     undefined,                0,        /* dd0d */
  632.     undefined,                0,        /* dd0e */
  633.     undefined,                0,        /* dd0f */
  634.  
  635.     undefined    ,            0,        /* dd10 */
  636.     undefined    ,            0,        /* dd11 */
  637.     undefined    ,            0,        /* dd12 */
  638.     undefined    ,            0,        /* dd13 */
  639.     undefined    ,            0,        /* dd14 */
  640.     undefined    ,            0,        /* dd15 */
  641.     undefined    ,            0,        /* dd16 */
  642.     undefined    ,            0,        /* dd17 */
  643.  
  644.     undefined    ,            0,        /* dd18 */
  645.     "add    ix, de",        0,        /* dd19 */
  646.     undefined    ,            0,        /* dd1a */
  647.     undefined    ,            0,        /* dd1b */
  648.     undefined    ,            0,        /* dd1c */
  649.     undefined    ,            0,        /* dd1d */
  650.     undefined    ,            0,        /* dd1e */
  651.     undefined    ,            0,        /* dd1f */
  652.  
  653.     undefined    ,            0,        /* dd20 */
  654.     "ld     ix, 0%04.4xh",    2,        /* dd21 */
  655.     "ld     (0%04.4xh), ix",2,        /* dd22 */
  656.     "inc    ix",            0,        /* dd23 */
  657.     undefined    ,            0,        /* dd24 */
  658.     undefined    ,            0,        /* dd25 */
  659.     undefined    ,            0,        /* dd26 */
  660.     undefined    ,            0,        /* dd27 */
  661.  
  662.     undefined    ,            0,        /* dd28 */
  663.     "add    ix, ix",        0,        /* dd29 */
  664.     "ld     ix, (0%04.4xh)",2,        /* dd2a */
  665.     "dec    ix",            0,        /* dd2b */
  666.     undefined    ,            0,        /* dd2c */
  667.     undefined    ,            0,        /* dd2d */
  668.     undefined    ,            0,        /* dd2e */
  669.     undefined    ,            0,        /* dd2f */
  670.  
  671.     undefined    ,            0,        /* dd30 */
  672.     undefined    ,            0,        /* dd31 */
  673.     undefined    ,            0,        /* dd32 */
  674.     undefined    ,            0,        /* dd33 */
  675.     "inc    (ix+0%02.2xh)",    1,        /* dd34 */
  676.     "dec    (ix+0%02.2xh)",    1,        /* dd35 */
  677.     "ld     (ix+0%02.2xh), 0%02.2xh",2,/* dd36 */
  678.     undefined    ,            0,        /* dd37 */
  679.  
  680.     undefined    ,            0,        /* dd38 */
  681.     "add    ix, sp",        0,        /* dd39 */
  682.     undefined    ,            0,        /* dd3a */
  683.     undefined    ,            0,        /* dd3b */
  684.     undefined    ,            0,        /* dd3c */
  685.     undefined    ,            0,        /* dd3d */
  686.     undefined    ,            0,        /* dd3e */
  687.     undefined    ,            0,        /* dd3f */
  688.  
  689.     undefined    ,            0,        /* dd40 */
  690.     undefined    ,            0,        /* dd41 */
  691.     undefined    ,            0,        /* dd42 */
  692.     undefined    ,            0,        /* dd43 */
  693.     undefined    ,            0,        /* dd44 */
  694.     undefined    ,            0,        /* dd45 */
  695.     "ld     b, (ix+0%02.2xh)",1,    /* dd46 */
  696.     undefined    ,            0,        /* dd47 */
  697.  
  698.     undefined    ,            0,        /* dd48 */
  699.     undefined    ,            0,        /* dd49 */
  700.     undefined    ,            0,        /* dd4a */
  701.     undefined    ,            0,        /* dd4b */
  702.     undefined    ,            0,        /* dd4c */
  703.     undefined    ,            0,        /* dd4d */
  704.     "ld     c, (ix+0%02.2xh)",1,    /* dd4e */
  705.     undefined    ,            0,        /* dd4f */
  706.     
  707.     undefined    ,            0,        /* dd50 */
  708.     undefined    ,            0,        /* dd51 */
  709.     undefined    ,            0,        /* dd52 */
  710.     undefined    ,            0,        /* dd53 */
  711.     undefined    ,            0,        /* dd54 */
  712.     undefined    ,            0,        /* dd55 */
  713.     "ld     d, (ix+0%02.2xh)",1,    /* dd56 */
  714.     undefined    ,            0,        /* dd57 */
  715.  
  716.     undefined    ,            0,        /* dd58 */
  717.     undefined    ,            0,        /* dd59 */
  718.     undefined    ,            0,        /* dd5a */
  719.     undefined    ,            0,        /* dd5b */
  720.     undefined    ,            0,        /* dd5c */
  721.     undefined    ,            0,        /* dd5d */
  722.     "ld     e, (ix+0%02.2xh)",1,    /* dd5e */
  723.     undefined    ,            0,        /* dd5f */
  724.     
  725.     undefined    ,            0,        /* dd60 */
  726.     undefined    ,            0,        /* dd61 */
  727.     undefined    ,            0,        /* dd62 */
  728.     undefined    ,            0,        /* dd63 */
  729.     undefined    ,            0,        /* dd64 */
  730.     undefined    ,            0,        /* dd65 */
  731.     "ld     h, (ix+0%02.2xh)",1,    /* dd66 */
  732.     undefined    ,            0,        /* dd67 */
  733.  
  734.     undefined    ,            0,        /* dd68 */
  735.     undefined    ,            0,        /* dd69 */
  736.     undefined    ,            0,        /* dd6a */
  737.     undefined    ,            0,        /* dd6b */
  738.     undefined    ,            0,        /* dd6c */
  739.     undefined    ,            0,        /* dd6d */
  740.     "ld     l, (ix+0%02.2xh)",1,    /* dd6e */
  741.     undefined    ,            0,        /* dd6f */
  742.     
  743.     "ld     (ix+0%02.2xh), b",1,    /* dd70 */
  744.     "ld     (ix+0%02.2xh), c",1,    /* dd71 */
  745.     "ld     (ix+0%02.2xh), d",1,    /* dd72 */
  746.     "ld     (ix+0%02.2xh), e",1,    /* dd73 */
  747.     "ld     (ix+0%02.2xh), h",1,    /* dd74 */
  748.     "ld     (ix+0%02.2xh), l",1,    /* dd75 */
  749.     undefined    ,            0,        /* dd76 */
  750.     "ld     (ix+0%02.2xh), a",1,    /* dd77 */
  751.  
  752.     undefined    ,            0,        /* dd78 */
  753.     undefined    ,            0,        /* dd79 */
  754.     undefined    ,            0,        /* dd7a */
  755.     undefined    ,            0,        /* dd7b */
  756.     undefined    ,            0,        /* dd7c */
  757.     undefined    ,            0,        /* dd7d */
  758.     "ld     a, (ix+0%02.2xh)",1,    /* dd7e */
  759.     undefined    ,            0,        /* dd7f */
  760.  
  761.     undefined    ,            0,        /* dd80 */
  762.     undefined    ,            0,        /* dd81 */
  763.     undefined    ,            0,        /* dd82 */
  764.     undefined    ,            0,        /* dd83 */
  765.     undefined    ,            0,        /* dd84 */
  766.     undefined    ,            0,        /* dd85 */
  767.     "add    a, (ix+0%02.2xh)",1,    /* dd86 */
  768.     undefined    ,            0,        /* dd87 */
  769.  
  770.     undefined    ,            0,        /* dd88 */
  771.     undefined    ,            0,        /* dd89 */
  772.     undefined    ,            0,        /* dd8a */
  773.     undefined    ,            0,        /* dd8b */
  774.     undefined    ,            0,        /* dd8c */
  775.     undefined    ,            0,        /* dd8d */
  776.     "adc    a, (ix+0%02.2xh)",1,    /* dd8e */
  777.     undefined    ,            0,        /* dd8f */
  778.     
  779.     undefined    ,            0,        /* dd90 */
  780.     undefined    ,            0,        /* dd91 */
  781.     undefined    ,            0,        /* dd92 */
  782.     undefined    ,            0,        /* dd93 */
  783.     undefined    ,            0,        /* dd94 */
  784.     undefined    ,            0,        /* dd95 */
  785.     "sub    (ix+0%02.2xh)",1,        /* dd96 */
  786.     undefined    ,            0,        /* dd97 */
  787.  
  788.     undefined    ,            0,        /* dd98 */
  789.     undefined    ,            0,        /* dd99 */
  790.     undefined    ,            0,        /* dd9a */
  791.     undefined    ,            0,        /* dd9b */
  792.     undefined    ,            0,        /* dd9c */
  793.     undefined    ,            0,        /* dd9d */
  794.     "sbc    a, (ix+0%02.2xh)",1,    /* dd9e */
  795.     undefined    ,            0,        /* dd9f */
  796.     
  797.     undefined    ,            0,        /* dda0 */
  798.     undefined    ,            0,        /* dda1 */
  799.     undefined    ,            0,        /* dda2 */
  800.     undefined    ,            0,        /* dda3 */
  801.     undefined    ,            0,        /* dda4 */
  802.     undefined    ,            0,        /* dda5 */
  803.     "and    (ix+0%02.2xh)",1,        /* dda6 */
  804.     undefined    ,            0,        /* dda7 */
  805.  
  806.     undefined    ,            0,        /* dda8 */
  807.     undefined    ,            0,        /* dda9 */
  808.     undefined    ,            0,        /* ddaa */
  809.     undefined    ,            0,        /* ddab */
  810.     undefined    ,            0,        /* ddac */
  811.     undefined    ,            0,        /* ddad */
  812.     "xor    (ix+0%02.2xh)",1,        /* ddae */
  813.     undefined    ,            0,        /* ddaf */
  814.     
  815.     undefined    ,            0,        /* ddb0 */
  816.     undefined    ,            0,        /* ddb1 */
  817.     undefined    ,            0,        /* ddb2 */
  818.     undefined    ,            0,        /* ddb3 */
  819.     undefined    ,            0,        /* ddb4 */
  820.     undefined    ,            0,        /* ddb5 */
  821.     "or     (ix+0%02.2xh)",    1,        /* ddb6 */
  822.     undefined    ,            0,        /* ddb7 */
  823.  
  824.     undefined    ,            0,        /* ddb8 */
  825.     undefined    ,            0,        /* ddb9 */
  826.     undefined    ,            0,        /* ddba */
  827.     undefined    ,            0,        /* ddbb */
  828.     undefined    ,            0,        /* ddbc */
  829.     undefined    ,            0,        /* ddbd */
  830.     "cp     (ix+0%02.2xh)",    1,        /* ddbe */
  831.     undefined    ,            0,        /* ddbf */
  832.     
  833.     undefined    ,            0,        /* ddc0 */
  834.     undefined    ,            0,        /* ddc1 */
  835.     undefined    ,            0,        /* ddc2 */
  836.     undefined    ,            0,        /* ddc3 */
  837.     undefined    ,            0,        /* ddc4 */
  838.     undefined    ,            0,        /* ddc5 */
  839.     undefined    ,            0,        /* ddc6 */
  840.     undefined    ,            0,        /* ddc7 */
  841.  
  842.     undefined    ,            0,        /* ddc8 */
  843.     undefined    ,            0,        /* ddc9 */
  844.     undefined    ,            0,        /* ddca */
  845.     "dd cb    0%02.2x, 0%02.2x",4,    /* ddcb */
  846.     undefined    ,            0,        /* ddcc */
  847.     undefined    ,            0,        /* ddcd */
  848.     undefined    ,            0,        /* ddce */
  849.     undefined    ,            0,        /* ddcf */
  850.     
  851.     undefined    ,            0,        /* ddd0 */
  852.     undefined    ,            0,        /* ddd1 */
  853.     undefined    ,            0,        /* ddd2 */
  854.     undefined    ,            0,        /* ddd3 */
  855.     undefined    ,            0,        /* ddd4 */
  856.     undefined    ,            0,        /* ddd5 */
  857.     undefined    ,            0,        /* ddd6 */
  858.     undefined    ,            0,        /* ddd7 */
  859.  
  860.     undefined    ,            0,        /* ddd8 */
  861.     undefined    ,            0,        /* ddd9 */
  862.     undefined    ,            0,        /* ddda */
  863.     undefined    ,            0,        /* dddb */
  864.     undefined    ,            0,        /* dddc */
  865.     undefined    ,            0,        /* dddd */
  866.     undefined    ,            0,        /* ddde */
  867.     undefined    ,            0,        /* dddf */
  868.     
  869.     undefined    ,            0,        /* dde0 */
  870.     "pop    ix",            0,        /* dde1 */
  871.     undefined    ,            0,        /* dde2 */
  872.     "ex     (sp), ix",        0,        /* dde3 */
  873.     undefined    ,            0,        /* dde4 */
  874.     "push   ix",            0,        /* dde5 */
  875.     undefined    ,            0,        /* dde6 */
  876.     undefined    ,            0,        /* dde7 */
  877.  
  878.     undefined    ,            0,        /* dde8 */
  879.     "jp     (ix)",            0,        /* dde9 */
  880.     undefined    ,            0,        /* ddea */
  881.     undefined    ,            0,        /* ddeb */
  882.     undefined    ,            0,        /* ddec */
  883.     undefined    ,            0,        /* dded */
  884.     undefined    ,            0,        /* ddee */
  885.     undefined    ,            0,        /* ddef */
  886.     
  887.     undefined    ,            0,        /* ddf0 */
  888.     undefined    ,            0,        /* ddf1 */
  889.     undefined    ,            0,        /* ddf2 */
  890.     undefined    ,            0,        /* ddf3 */
  891.     undefined    ,            0,        /* ddf4 */
  892.     undefined    ,            0,        /* ddf5 */
  893.     undefined    ,            0,        /* ddf6 */
  894.     undefined    ,            0,        /* ddf7 */
  895.  
  896.     undefined    ,            0,        /* ddf8 */
  897.     "ld     sp, ix",        0,        /* ddf9 */
  898.     undefined    ,            0,        /* ddfa */
  899.     undefined    ,            0,        /* ddfb */
  900.     undefined    ,            0,        /* ddfc */
  901.     undefined    ,            0,        /* ddfd */
  902.     undefined    ,            0,        /* ddfe */
  903.     undefined    ,            0,        /* ddff */
  904.                                 /* ed */
  905.     undefined    ,            0,        /* ed00 */
  906.     undefined    ,            0,        /* ed01 */
  907.     undefined    ,            0,        /* ed02 */
  908.     undefined    ,            0,        /* ed03 */
  909.     undefined    ,            0,        /* ed04 */
  910.     undefined    ,            0,        /* ed05 */
  911.     undefined    ,            0,        /* ed06 */
  912.     undefined    ,            0,        /* ed07 */
  913.  
  914.     undefined    ,            0,        /* ed08 */
  915.     undefined    ,            0,        /* ed09 */
  916.     undefined    ,            0,        /* ed0a */
  917.     undefined    ,            0,        /* ed0b */
  918.     undefined    ,            0,        /* ed0c */
  919.     undefined    ,            0,        /* ed0d */
  920.     undefined    ,            0,        /* ed0e */
  921.     undefined    ,            0,        /* ed0f */
  922.  
  923.     undefined    ,            0,        /* ed10 */
  924.     undefined    ,            0,        /* ed11 */
  925.     undefined    ,            0,        /* ed12 */
  926.     undefined    ,            0,        /* ed13 */
  927.     undefined    ,            0,        /* ed14 */
  928.     undefined    ,            0,        /* ed15 */
  929.     undefined    ,            0,        /* ed16 */
  930.     undefined    ,            0,        /* ed17 */
  931.  
  932.     undefined    ,            0,        /* ed18 */
  933.     undefined    ,            0,        /* ed19 */
  934.     undefined    ,            0,        /* ed1a */
  935.     undefined    ,            0,        /* ed1b */
  936.     undefined    ,            0,        /* ed1c */
  937.     undefined    ,            0,        /* ed1d */
  938.     undefined    ,            0,        /* ed1e */
  939.     undefined    ,            0,        /* ed1f */
  940.  
  941.     undefined    ,            0,        /* ed20 */
  942.     undefined    ,            0,        /* ed21 */
  943.     undefined    ,            0,        /* ed22 */
  944.     undefined    ,            0,        /* ed23 */
  945.     undefined    ,            0,        /* ed24 */
  946.     undefined    ,            0,        /* ed25 */
  947.     undefined    ,            0,        /* ed26 */
  948.     undefined    ,            0,        /* ed27 */
  949.  
  950.     undefined    ,            0,        /* ed28 */
  951.     undefined    ,            0,        /* ed29 */
  952.     undefined    ,            0,        /* ed2a */
  953.     undefined    ,            0,        /* ed2b */
  954.     undefined    ,            0,        /* ed2c */
  955.     undefined    ,            0,        /* ed2d */
  956.     undefined    ,            0,        /* ed2e */
  957.     undefined    ,            0,        /* ed2f */
  958.  
  959.     undefined    ,            0,        /* ed30 */
  960.     undefined    ,            0,        /* ed31 */
  961.     undefined    ,            0,        /* ed32 */
  962.     undefined    ,            0,        /* ed33 */
  963.     undefined    ,            0,        /* ed34 */
  964.     undefined    ,            0,        /* ed35 */
  965.     undefined    ,            0,        /* ed36 */
  966.     undefined    ,            0,        /* ed37 */
  967.  
  968.     undefined    ,            0,        /* ed38 */
  969.     undefined    ,            0,        /* ed39 */
  970.     undefined    ,            0,        /* ed3a */
  971.     undefined    ,            0,        /* ed3b */
  972.     undefined    ,            0,        /* ed3c */
  973.     undefined    ,            0,        /* ed3d */
  974.     undefined    ,            0,        /* ed3e */
  975.     undefined    ,            0,        /* ed3f */
  976.  
  977.     "in     b, (c)",        0,        /* ed40 */
  978.     "out    (c), b",        0,        /* ed41 */
  979.     "sbc    hl, bc",        0,        /* ed42 */
  980.     "ld     (0%04.4xh), bc",2,        /* ed43 */
  981.     "neg",                    0,        /* ed44 */
  982.     "retn",                    0,        /* ed45 */
  983.     "im     0",                0,        /* ed46 */
  984.     "ld     i, a",            0,        /* ed47 */
  985.     
  986.     "in     c, (c)",        0,        /* ed48 */
  987.     "out    (c), c",        0,        /* ed49 */
  988.     "adc    hl, bc",        0,        /* ed4a */
  989.     "ld     bc, (0%04.4xh)",2,        /* ed4b */
  990.     undefined    ,            0,        /* ed4c */
  991.     "reti",                    0,        /* ed4d */
  992.     undefined    ,            0,        /* ed4e */
  993.     undefined    ,            0,        /* ed4f */
  994.  
  995.     "in     d, (c)",        0,        /* ed50 */
  996.     "out    (c), d",        0,        /* ed51 */
  997.     "sbc    hl, de",        0,        /* ed52 */
  998.     "ld     (0%04.4xh), de",2,        /* ed53 */
  999.     undefined    ,            0,        /* ed54 */
  1000.     undefined    ,            0,        /* ed55 */
  1001.     "im     1",                0,        /* ed56 */
  1002.     "ld     a, i",            0,        /* ed57 */
  1003.  
  1004.     "in     e, (c)",        0,        /* ed58 */
  1005.     "out    (c), e",        0,        /* ed59 */
  1006.     "adc    hl, de",        0,        /* ed5a */
  1007.     "ld     de, (0%04.4xh)",2,        /* ed5b */
  1008.     undefined    ,            0,        /* ed5c */
  1009.     undefined    ,            0,        /* ed5d */
  1010.     "im     2",                0,        /* ed5e */
  1011.     undefined    ,            0,        /* ed5f */
  1012.  
  1013.     "in     h, (c)",        0,        /* ed60 */
  1014.     "out    (c), h",        0,        /* ed61 */
  1015.     "sbc    hl, hl",        0,        /* ed62 */
  1016.     undefined    ,            0,        /* ed63 */
  1017.     undefined    ,            0,        /* ed64 */
  1018.     undefined    ,            0,        /* ed65 */
  1019.     undefined    ,            0,        /* ed66 */
  1020.     "rrd",                    0,        /* ed67 */
  1021.  
  1022.     "in     l, (c)",        0,        /* ed68 */
  1023.     "out    (c), l",        0,        /* ed69 */
  1024.     "adc    hl, hl",        0,        /* ed6a */
  1025.     undefined    ,            0,        /* ed6b */
  1026.     undefined    ,            0,        /* ed6c */
  1027.     undefined    ,            0,        /* ed6d */
  1028.     undefined    ,            0,        /* ed6e */
  1029.     "rld",                    0,        /* ed6f */
  1030.     
  1031.     undefined    ,            0,        /* ed70 */
  1032.     undefined    ,            0,        /* ed71 */
  1033.     "sbc    hl, sp",        0,        /* ed72 */
  1034.     "ld     (0%04.4xh), sp",2,        /* ed73 */
  1035.     undefined    ,            0,        /* ed74 */
  1036.     undefined    ,            0,        /* ed75 */
  1037.     undefined    ,            0,        /* ed76 */
  1038.     undefined    ,            0,        /* ed77 */
  1039.  
  1040.     "in     a, (c)",        0,        /* ed78 */
  1041.     "out    (c), a",        0,        /* ed79 */
  1042.     "adc    hl, sp",        0,        /* ed7a */
  1043.     "ld     sp, (0%04.4xh)",2,        /* ed7b */
  1044.     undefined    ,            0,        /* ed7c */
  1045.     undefined    ,            0,        /* ed7d */
  1046.     undefined    ,            0,        /* ed7e */
  1047.     undefined    ,            0,        /* ed7f */
  1048.  
  1049.     undefined    ,            0,        /* ed80 */
  1050.     undefined    ,            0,        /* ed81 */
  1051.     undefined    ,            0,        /* ed82 */
  1052.     undefined    ,            0,        /* ed83 */
  1053.     undefined    ,            0,        /* ed84 */
  1054.     undefined    ,            0,        /* ed85 */
  1055.     undefined    ,            0,        /* ed86 */
  1056.     undefined    ,            0,        /* ed87 */
  1057.  
  1058.     undefined    ,            0,        /* ed88 */
  1059.     undefined    ,            0,        /* ed89 */
  1060.     undefined    ,            0,        /* ed8a */
  1061.     undefined    ,            0,        /* ed8b */
  1062.     undefined    ,            0,        /* ed8c */
  1063.     undefined    ,            0,        /* ed8d */
  1064.     undefined    ,            0,        /* ed8e */
  1065.     undefined    ,            0,        /* ed8f */
  1066.  
  1067.     undefined    ,            0,        /* ed90 */
  1068.     undefined    ,            0,        /* ed91 */
  1069.     undefined    ,            0,        /* ed92 */
  1070.     undefined    ,            0,        /* ed93 */
  1071.     undefined    ,            0,        /* ed94 */
  1072.     undefined    ,            0,        /* ed95 */
  1073.     undefined    ,            0,        /* ed96 */
  1074.     undefined    ,            0,        /* ed97 */
  1075.  
  1076.     undefined    ,            0,        /* ed98 */
  1077.     undefined    ,            0,        /* ed99 */
  1078.     undefined    ,            0,        /* ed9a */
  1079.     undefined    ,            0,        /* ed9b */
  1080.     undefined    ,            0,        /* ed9c */
  1081.     undefined    ,            0,        /* ed9d */
  1082.     undefined    ,            0,        /* ed9e */
  1083.     undefined    ,            0,        /* ed9f */
  1084.  
  1085.     "ldi",                    0,        /* eda0 */
  1086.     "cpi",                    0,        /* eda1 */
  1087.     "ini",                    0,        /* eda2 */
  1088.     "outi",                    0,        /* eda3 */
  1089.     undefined    ,            0,        /* eda4 */
  1090.     undefined    ,            0,        /* eda5 */
  1091.     undefined    ,            0,        /* eda6 */
  1092.     undefined    ,            0,        /* eda7 */
  1093.  
  1094.     "ldd",                    0,        /* eda8 */
  1095.     "cpd",                    0,        /* eda9 */
  1096.     "ind",                    0,        /* edaa */
  1097.     "outd",                    0,        /* edab */
  1098.     undefined    ,            0,        /* edac */
  1099.     undefined    ,            0,        /* edad */
  1100.     undefined    ,            0,        /* edae */
  1101.     undefined    ,            0,        /* edaf */
  1102.  
  1103.     "ldir",                    0,        /* edb0 */
  1104.     "cpir",                    0,        /* edb1 */
  1105.     "inir",                    0,        /* edb2 */
  1106.     "otir",                    0,        /* edb3 */
  1107.     undefined    ,            0,        /* edb4 */
  1108.     undefined    ,            0,        /* edb5 */
  1109.     undefined    ,            0,        /* edb6 */
  1110.     undefined    ,            0,        /* edb7 */
  1111.  
  1112.     "lddr",                    0,        /* edb8 */
  1113.     "cpdr",                    0,        /* edb9 */
  1114.     "indr",                    0,        /* edba */
  1115.     "otdr",                    0,        /* edbb */
  1116.     undefined    ,            0,        /* edbc */
  1117.     undefined    ,            0,        /* edbd */
  1118.     undefined    ,            0,        /* edbe */
  1119.     undefined    ,            0,        /* edbf */
  1120.  
  1121.     undefined    ,            0,        /* edc0 */
  1122.     undefined    ,            0,        /* edc1 */
  1123.     undefined    ,            0,        /* edc2 */
  1124.     undefined    ,            0,        /* edc3 */
  1125.     undefined    ,            0,        /* edc4 */
  1126.     undefined    ,            0,        /* edc5 */
  1127.     undefined    ,            0,        /* edc6 */
  1128.     undefined    ,            0,        /* edc7 */
  1129.  
  1130.     undefined    ,            0,        /* edc8 */
  1131.     undefined    ,            0,        /* edc9 */
  1132.     undefined    ,            0,        /* edca */
  1133.     undefined    ,            0,        /* edcb */
  1134.     undefined    ,            0,        /* edcc */
  1135.     undefined    ,            0,        /* edcd */
  1136.     undefined    ,            0,        /* edce */
  1137.     undefined    ,            0,        /* edcf */
  1138.  
  1139.     undefined    ,            0,        /* edd0 */
  1140.     undefined    ,            0,        /* edd1 */
  1141.     undefined    ,            0,        /* edd2 */
  1142.     undefined    ,            0,        /* edd3 */
  1143.     undefined    ,            0,        /* edd4 */
  1144.     undefined    ,            0,        /* edd5 */
  1145.     undefined    ,            0,        /* edd6 */
  1146.     undefined    ,            0,        /* edd7 */
  1147.  
  1148.     undefined    ,            0,        /* edd8 */
  1149.     undefined    ,            0,        /* edd9 */
  1150.     undefined    ,            0,        /* edda */
  1151.     undefined    ,            0,        /* eddb */
  1152.     undefined    ,            0,        /* eddc */
  1153.     undefined    ,            0,        /* eddd */
  1154.     undefined    ,            0,        /* edde */
  1155.     undefined    ,            0,        /* eddf */
  1156.  
  1157.     undefined    ,            0,        /* ede0 */
  1158.     undefined    ,            0,        /* ede1 */
  1159.     undefined    ,            0,        /* ede2 */
  1160.     undefined    ,            0,        /* ede3 */
  1161.     undefined    ,            0,        /* ede4 */
  1162.     undefined    ,            0,        /* ede5 */
  1163.     undefined    ,            0,        /* ede6 */
  1164.     undefined    ,            0,        /* ede7 */
  1165.  
  1166.     undefined    ,            0,        /* ede8 */
  1167.     undefined    ,            0,        /* ede9 */
  1168.     undefined    ,            0,        /* edea */
  1169.     undefined    ,            0,        /* edeb */
  1170.     undefined    ,            0,        /* edec */
  1171.     undefined    ,            0,        /* eded */
  1172.     undefined    ,            0,        /* edee */
  1173.     undefined    ,            0,        /* edef */
  1174.  
  1175.     undefined    ,            0,        /* edf0 */
  1176.     undefined    ,            0,        /* edf1 */
  1177.     undefined    ,            0,        /* edf2 */
  1178.     undefined    ,            0,        /* edf3 */
  1179.     undefined    ,            0,        /* edf4 */
  1180.     undefined    ,            0,        /* edf5 */
  1181.     undefined    ,            0,        /* edf6 */
  1182.     undefined    ,            0,        /* edf7 */
  1183.  
  1184.     undefined    ,            0,        /* edf8 */
  1185.     undefined    ,            0,        /* edf9 */
  1186.     undefined    ,            0,        /* edfa */
  1187.     undefined    ,            0,        /* edfb */
  1188.     undefined    ,            0,        /* edfc */
  1189.     undefined    ,            0,        /* edfd */
  1190.     undefined    ,            0,        /* edfe */
  1191.     undefined    ,            0,        /* edff */
  1192.                                 /* fd */
  1193.     undefined    ,            0,        /* fd00 */
  1194.     undefined    ,            0,        /* fd01 */
  1195.     undefined    ,            0,        /* fd02 */
  1196.     undefined    ,            0,        /* fd03 */
  1197.     undefined    ,            0,        /* fd04 */
  1198.     undefined    ,            0,        /* fd05 */
  1199.     undefined    ,            0,        /* fd06 */
  1200.     undefined    ,            0,        /* fd07 */
  1201.  
  1202.     undefined    ,            0,        /* fd08 */
  1203.     "add    iy, bc",        0,        /* fd09 */
  1204.     undefined    ,            0,        /* fd0a */
  1205.     undefined    ,            0,        /* fd0b */
  1206.     undefined    ,            0,        /* fd0c */
  1207.     undefined    ,            0,        /* fd0d */
  1208.     undefined    ,            0,        /* fd0e */
  1209.     undefined    ,            0,        /* fd0f */
  1210.  
  1211.     undefined    ,            0,        /* fd10 */
  1212.     undefined    ,            0,        /* fd11 */
  1213.     undefined    ,            0,        /* fd12 */
  1214.     undefined    ,            0,        /* fd13 */
  1215.     undefined    ,            0,        /* fd14 */
  1216.     undefined    ,            0,        /* fd15 */
  1217.     undefined    ,            0,        /* fd16 */
  1218.     undefined    ,            0,        /* fd17 */
  1219.  
  1220.     undefined    ,            0,        /* fd18 */
  1221.     "add    iy, de",        0,        /* fd19 */
  1222.     undefined    ,            0,        /* fd1a */
  1223.     undefined    ,            0,        /* fd1b */
  1224.     undefined    ,            0,        /* fd1c */
  1225.     undefined    ,            0,        /* fd1d */
  1226.     undefined    ,            0,        /* fd1e */
  1227.     undefined    ,            0,        /* fd1f */
  1228.  
  1229.     undefined    ,            0,        /* fd20 */
  1230.     "ld     iy, 0%04.4xh",    2,        /* fd21 */
  1231.     "ld     (0%04.4xh), iy",2,        /* fd22 */
  1232.     "inc    iy",            0,        /* fd23 */
  1233.     undefined    ,            0,        /* fd24 */
  1234.     undefined    ,            0,        /* fd25 */
  1235.     undefined    ,            0,        /* fd26 */
  1236.     undefined    ,            0,        /* fd27 */
  1237.  
  1238.     undefined    ,            0,        /* fd28 */
  1239.     "add    iy, iy",        0,        /* fd29 */
  1240.     "ld     iy, (0%04.4xh)",2,        /* fd2a */
  1241.     "dec    iy",            0,        /* fd2b */
  1242.     undefined    ,            0,        /* fd2c */
  1243.     undefined    ,            0,        /* fd2d */
  1244.     undefined    ,            0,        /* fd2e */
  1245.     undefined    ,            0,        /* fd2f */
  1246.  
  1247.     undefined    ,            0,        /* fd30 */
  1248.     undefined    ,            0,        /* fd31 */
  1249.     undefined    ,            0,        /* fd32 */
  1250.     undefined    ,            0,        /* fd33 */
  1251.     "inc    (iy+0%02.2xh)",    1,        /* fd34 */
  1252.     "dec    (iy+0%02.2xh)",    1,        /* fd35 */
  1253.     "ld     (iy+0%02.2xh), 0%02.2xh",2,/* fd36 */
  1254.     undefined    ,            0,        /* fd37 */
  1255.  
  1256.     undefined    ,            0,        /* fd38 */
  1257.     "add    iy, sp",            0,        /* fd39 */
  1258.     undefined    ,            0,        /* fd3a */
  1259.     undefined    ,            0,        /* fd3b */
  1260.     undefined    ,            0,        /* fd3c */
  1261.     undefined    ,            0,        /* fd3d */
  1262.     undefined    ,            0,        /* fd3e */
  1263.     undefined    ,            0,        /* fd3f */
  1264.  
  1265.     undefined    ,            0,        /* fd40 */
  1266.     undefined    ,            0,        /* fd41 */
  1267.     undefined    ,            0,        /* fd42 */
  1268.     undefined    ,            0,        /* fd43 */
  1269.     undefined    ,            0,        /* fd44 */
  1270.     undefined    ,            0,        /* fd45 */
  1271.     "ld     b, (iy+0%02.2xh)",1,    /* fd46 */
  1272.     undefined    ,            0,        /* fd47 */
  1273.  
  1274.     undefined    ,            0,        /* fd48 */
  1275.     undefined    ,            0,        /* fd49 */
  1276.     undefined    ,            0,        /* fd4a */
  1277.     undefined    ,            0,        /* fd4b */
  1278.     undefined    ,            0,        /* fd4c */
  1279.     undefined    ,            0,        /* fd4d */
  1280.     "ld     c, (iy+0%02.2xh)",1,    /* fd4e */
  1281.     undefined    ,            0,        /* fd4f */
  1282.     
  1283.     undefined    ,            0,        /* fd50 */
  1284.     undefined    ,            0,        /* fd51 */
  1285.     undefined    ,            0,        /* fd52 */
  1286.     undefined    ,            0,        /* fd53 */
  1287.     undefined    ,            0,        /* fd54 */
  1288.     undefined    ,            0,        /* fd55 */
  1289.     "ld     d, (iy+0%02.2xh)",1,    /* fd56 */
  1290.     undefined    ,            0,        /* fd57 */
  1291.  
  1292.     undefined    ,            0,        /* fd58 */
  1293.     undefined    ,            0,        /* fd59 */
  1294.     undefined    ,            0,        /* fd5a */
  1295.     undefined    ,            0,        /* fd5b */
  1296.     undefined    ,            0,        /* fd5c */
  1297.     undefined    ,            0,        /* fd5d */
  1298.     "ld     e, (iy+0%02.2xh)",1,    /* fd5e */
  1299.     undefined    ,            0,        /* fd5f */
  1300.     
  1301.     undefined    ,            0,        /* fd60 */
  1302.     undefined    ,            0,        /* fd61 */
  1303.     undefined    ,            0,        /* fd62 */
  1304.     undefined    ,            0,        /* fd63 */
  1305.     undefined    ,            0,        /* fd64 */
  1306.     undefined    ,            0,        /* fd65 */
  1307.     "ld     h, (iy+0%02.2xh)",1,    /* fd66 */
  1308.     undefined    ,            0,        /* fd67 */
  1309.  
  1310.     undefined    ,            0,        /* fd68 */
  1311.     undefined    ,            0,        /* fd69 */
  1312.     undefined    ,            0,        /* fd6a */
  1313.     undefined    ,            0,        /* fd6b */
  1314.     undefined    ,            0,        /* fd6c */
  1315.     undefined    ,            0,        /* fd6d */
  1316.     "ld     l, (iy+0%02.2xh)",1,    /* fd6e */
  1317.     undefined    ,            0,        /* fd6f */
  1318.     
  1319.     "ld     (iy+0%02.2xh), b",1,    /* fd70 */
  1320.     "ld     (iy+0%02.2xh), c",1,    /* fd71 */
  1321.     "ld     (iy+0%02.2xh), d",1,    /* fd72 */
  1322.     "ld     (iy+0%02.2xh), e",1,    /* fd73 */
  1323.     "ld     (iy+0%02.2xh), h",1,    /* fd74 */
  1324.     "ld     (iy+0%02.2xh), l",1,    /* fd75 */
  1325.     undefined    ,            0,        /* fd76 */
  1326.     "ld     (iy+0%02.2xh), a",1,    /* fd77 */
  1327.  
  1328.     undefined    ,            0,        /* fd78 */
  1329.     undefined    ,            0,        /* fd79 */
  1330.     undefined    ,            0,        /* fd7a */
  1331.     undefined    ,            0,        /* fd7b */
  1332.     undefined    ,            0,        /* fd7c */
  1333.     undefined    ,            0,        /* fd7d */
  1334.     "ld     a, (iy+0%02.2xh)",    1,        /* fd7e */
  1335.     undefined    ,            0,        /* fd7f */
  1336.  
  1337.     undefined    ,            0,        /* fd80 */
  1338.     undefined    ,            0,        /* fd81 */
  1339.     undefined    ,            0,        /* fd82 */
  1340.     undefined    ,            0,        /* fd83 */
  1341.     undefined    ,            0,        /* fd84 */
  1342.     undefined    ,            0,        /* fd85 */
  1343.     "add    a, (iy+0%02.2xh)",1,    /* fd86 */
  1344.     undefined    ,            0,        /* fd87 */
  1345.  
  1346.     undefined    ,            0,        /* fd88 */
  1347.     undefined    ,            0,        /* fd89 */
  1348.     undefined    ,            0,        /* fd8a */
  1349.     undefined    ,            0,        /* fd8b */
  1350.     undefined    ,            0,        /* fd8c */
  1351.     undefined    ,            0,        /* fd8d */
  1352.     "adc    a, (iy+0%02.2xh)",1,    /* fd8e */
  1353.     undefined    ,            0,        /* fd8f */
  1354.     
  1355.     undefined    ,            0,        /* fd90 */
  1356.     undefined    ,            0,        /* fd91 */
  1357.     undefined    ,            0,        /* fd92 */
  1358.     undefined    ,            0,        /* fd93 */
  1359.     undefined    ,            0,        /* fd94 */
  1360.     undefined    ,            0,        /* fd95 */
  1361.     "sub    (iy+0%02.2xh)",    1,        /* fd96 */
  1362.     undefined    ,            0,        /* fd97 */
  1363.  
  1364.     undefined    ,            0,        /* fd98 */
  1365.     undefined    ,            0,        /* fd99 */
  1366.     undefined    ,            0,        /* fd9a */
  1367.     undefined    ,            0,        /* fd9b */
  1368.     undefined    ,            0,        /* fd9c */
  1369.     undefined    ,            0,        /* fd9d */
  1370.     "sbc    a, (iy+0%02.2xh)",1,    /* fd9e */
  1371.     undefined    ,            0,        /* fd9f */
  1372.     
  1373.     undefined    ,            0,        /* fda0 */
  1374.     undefined    ,            0,        /* fda1 */
  1375.     undefined    ,            0,        /* fda2 */
  1376.     undefined    ,            0,        /* fda3 */
  1377.     undefined    ,            0,        /* fda4 */
  1378.     undefined    ,            0,        /* fda5 */
  1379.     "and    (iy+0%02.2xh)",    1,        /* fda6 */
  1380.     undefined    ,            0,        /* fda7 */
  1381.  
  1382.     undefined    ,            0,        /* fda8 */
  1383.     undefined    ,            0,        /* fda9 */
  1384.     undefined    ,            0,        /* fdaa */
  1385.     undefined    ,            0,        /* fdab */
  1386.     undefined    ,            0,        /* fdac */
  1387.     undefined    ,            0,        /* fdad */
  1388.     "xor    (iy+0%02.2xh)",    1,        /* fdae */
  1389.     undefined    ,            0,        /* fdaf */
  1390.     
  1391.     undefined    ,            0,        /* fdb0 */
  1392.     undefined    ,            0,        /* fdb1 */
  1393.     undefined    ,            0,        /* fdb2 */
  1394.     undefined    ,            0,        /* fdb3 */
  1395.     undefined    ,            0,        /* fdb4 */
  1396.     undefined    ,            0,        /* fdb5 */
  1397.     "or     (iy+0%02.2xh)",    1,        /* fdb6 */
  1398.     undefined    ,            0,        /* fdb7 */
  1399.  
  1400.     undefined    ,            0,        /* fdb8 */
  1401.     undefined    ,            0,        /* fdb9 */
  1402.     undefined    ,            0,        /* fdba */
  1403.     undefined    ,            0,        /* fdbb */
  1404.     undefined    ,            0,        /* fdbc */
  1405.     undefined    ,            0,        /* fdbd */
  1406.     "cp     (iy+0%02.2xh)",    1,        /* fdbe */
  1407.     undefined    ,            0,        /* fdbf */
  1408.     
  1409.     undefined    ,            0,        /* fdc0 */
  1410.     undefined    ,            0,        /* fdc1 */
  1411.     undefined    ,            0,        /* fdc2 */
  1412.     undefined    ,            0,        /* fdc3 */
  1413.     undefined    ,            0,        /* fdc4 */
  1414.     undefined    ,            0,        /* fdc5 */
  1415.     undefined    ,            0,        /* fdc6 */
  1416.     undefined    ,            0,        /* fdc7 */
  1417.  
  1418.     undefined    ,            0,        /* fdc8 */
  1419.     undefined    ,            0,        /* fdc9 */
  1420.     undefined    ,            0,        /* fdca */
  1421.     "fd cb    0%02.2x, 0%02.2x",4,    /* fdcb */
  1422.     undefined    ,            0,        /* fdcc */
  1423.     undefined    ,            0,        /* fdcd */
  1424.     undefined    ,            0,        /* fdce */
  1425.     undefined    ,            0,        /* fdcf */
  1426.     
  1427.     undefined    ,            0,        /* fdd0 */
  1428.     undefined    ,            0,        /* fdd1 */
  1429.     undefined    ,            0,        /* fdd2 */
  1430.     undefined    ,            0,        /* fdd3 */
  1431.     undefined    ,            0,        /* fdd4 */
  1432.     undefined    ,            0,        /* fdd5 */
  1433.     undefined    ,            0,        /* fdd6 */
  1434.     undefined    ,            0,        /* fdd7 */
  1435.  
  1436.     undefined    ,            0,        /* fdd8 */
  1437.     undefined    ,            0,        /* fdd9 */
  1438.     undefined    ,            0,        /* fdda */
  1439.     undefined    ,            0,        /* fddb */
  1440.     undefined    ,            0,        /* fddc */
  1441.     undefined    ,            0,        /* fddd */
  1442.     undefined    ,            0,        /* fdde */
  1443.     undefined    ,            0,        /* fddf */
  1444.     
  1445.     undefined    ,            0,        /* fde0 */
  1446.     "pop    iy",            0,        /* fde1 */
  1447.     undefined    ,            0,        /* fde2 */
  1448.     "ex     (sp), iy",        0,        /* fde3 */
  1449.     undefined    ,            0,        /* fde4 */
  1450.     "push   iy",            0,        /* fde5 */
  1451.     undefined    ,            0,        /* fde6 */
  1452.     undefined    ,            0,        /* fde7 */
  1453.  
  1454.     undefined    ,            0,        /* fde8 */
  1455.     "jp     (iy)",            0,        /* fde9 */
  1456.     undefined    ,            0,        /* fdea */
  1457.     undefined    ,            0,        /* fdeb */
  1458.     undefined    ,            0,        /* fdec */
  1459.     undefined    ,            0,        /* fded */
  1460.     undefined    ,            0,        /* fdee */
  1461.     undefined    ,            0,        /* fdef */
  1462.     
  1463.     undefined    ,            0,        /* fdf0 */
  1464.     undefined    ,            0,        /* fdf1 */
  1465.     undefined    ,            0,        /* fdf2 */
  1466.     undefined    ,            0,        /* fdf3 */
  1467.     undefined    ,            0,        /* fdf4 */
  1468.     undefined    ,            0,        /* fdf5 */
  1469.     undefined    ,            0,        /* fdf6 */
  1470.     undefined    ,            0,        /* fdf7 */
  1471.  
  1472.     undefined    ,            0,        /* fdf8 */
  1473.     "ld     sp, iy",        0,        /* fdf9 */
  1474.     undefined    ,            0,        /* fdfa */
  1475.     undefined    ,            0,        /* fdfb */
  1476.     undefined    ,            0,        /* fdfc */
  1477.     undefined    ,            0,        /* fdfd */
  1478.     undefined    ,            0,        /* fdfe */
  1479.     undefined    ,            0,        /* fdff */
  1480. };
  1481.  
  1482. static int        relative(int r)
  1483. {
  1484.     if (r & 0x80)
  1485.         r |= -256;
  1486.  
  1487.     return(PC + r + 2);
  1488. }
  1489.  
  1490. const char     *dasm(const byte *buf)
  1491. {
  1492.     static char        str[32];
  1493.     struct opcode    *code;
  1494.  
  1495.     if (!(code = &major[buf[0]])->name)
  1496.     {
  1497.         buf++;
  1498.         code = &minor[code->args][buf[0]];
  1499.     }
  1500.  
  1501.     switch (code->args)
  1502.     {
  1503.         case 0:
  1504.             strcpy(str, code->name);
  1505.             break;
  1506.  
  1507.         case 1:
  1508.             sprintf(str, code->name, get_prog_byte(buf, 0));
  1509.             break;
  1510.  
  1511.         case 2:
  1512.             sprintf(str, code->name, get_prog_word(buf));
  1513.             break;
  1514.  
  1515.         case 3:
  1516.             sprintf(str, code->name, relative(get_prog_byte(buf, 0)));
  1517.             break;
  1518.  
  1519.         case 4:
  1520.             sprintf(str, code->name,get_prog_byte(buf,0),get_prog_byte(buf,1));
  1521.             break;
  1522.     } 
  1523.  
  1524.     return(str);
  1525. }
  1526.