home *** CD-ROM | disk | FTP | other *** search
- #include "dis.h"
-
- struct info optbl[256] = {
- /* 00 */ { { 'B', 'R', 'K', 0, }, 1, IMP|STOP, },
- /* 01 */ { { 'O', 'R', 'A', 0, }, 2, INX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 05 */ { { 'O', 'R', 'A', 0, }, 2, ZPG|NORM, },
- /* 06 */ { { 'A', 'S', 'L', 0, }, 2, ZPG|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 08 */ { { 'P', 'H', 'P', 0, }, 1, IMP|NORM, },
- /* 09 */ { { 'O', 'R', 'A', 0, }, 2, IMM|NORM, },
- /* 0a */ { { 'A', 'S', 'L', 0, }, 1, ACC|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 0d */ { { 'O', 'R', 'A', 0, }, 3, ABS|NORM, },
- /* 0e */ { { 'A', 'S', 'L', 0, }, 3, ABS|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 10 */ { { 'B', 'P', 'L', 0, }, 2, REL|FORK, },
- /* 11 */ { { 'O', 'R', 'A', 0, }, 2, INY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 15 */ { { 'O', 'R', 'A', 0, }, 2, ZPX|NORM, },
- /* 16 */ { { 'A', 'S', 'L', 0, }, 2, ZPX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 18 */ { { 'C', 'L', 'C', 0, }, 1, IMP|NORM, },
- /* 19 */ { { 'O', 'R', 'A', 0, }, 3, ABY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 1d */ { { 'O', 'R', 'A', 0, }, 3, ABX|NORM, },
- /* 1e */ { { 'A', 'S', 'L', 0, }, 3, ABX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 20 */ { { 'J', 'S', 'R', 0, }, 3, ABS|FORK, },
- /* 21 */ { { 'A', 'N', 'D', 0, }, 2, INX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 24 */ { { 'B', 'I', 'T', 0, }, 2, ZPG|NORM, },
- /* 25 */ { { 'A', 'N', 'D', 0, }, 2, ZPG|NORM, },
- /* 26 */ { { 'R', 'O', 'L', 0, }, 2, ZPG|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 28 */ { { 'P', 'L', 'P', 0, }, 1, IMP|NORM, },
- /* 29 */ { { 'A', 'N', 'D', 0, }, 2, IMM|NORM, },
- /* 2a */ { { 'R', 'O', 'L', 0, }, 1, ACC|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 2c */ { { 'B', 'I', 'T', 0, }, 3, ABS|NORM, },
- /* 2d */ { { 'A', 'N', 'D', 0, }, 3, ABS|NORM, },
- /* 2e */ { { 'R', 'O', 'L', 0, }, 3, ABS|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 30 */ { { 'B', 'M', 'I', 0, }, 2, REL|FORK, },
- /* 31 */ { { 'A', 'N', 'D', 0, }, 2, INY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 35 */ { { 'A', 'N', 'D', 0, }, 2, ZPX|NORM, },
- /* 36 */ { { 'R', 'O', 'L', 0, }, 2, ZPX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 38 */ { { 'S', 'E', 'C', 0, }, 1, IMP|NORM, },
- /* 39 */ { { 'A', 'N', 'D', 0, }, 3, ABY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 3d */ { { 'A', 'N', 'D', 0, }, 3, ABX|NORM, },
- /* 3e */ { { 'R', 'O', 'L', 0, }, 3, ABX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 40 */ { { 'R', 'T', 'I', 0, }, 1, IMP|STOP, },
- /* 41 */ { { 'E', 'O', 'R', 0, }, 2, INX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 45 */ { { 'E', 'O', 'R', 0, }, 2, ZPG|NORM, },
- /* 46 */ { { 'L', 'S', 'R', 0, }, 2, ZPG|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 48 */ { { 'P', 'H', 'A', 0, }, 1, IMP|NORM, },
- /* 49 */ { { 'E', 'O', 'R', 0, }, 2, IMM|NORM, },
- /* 4a */ { { 'L', 'S', 'R', 0, }, 1, ACC|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 4c */ { { 'J', 'M', 'P', 0, }, 3, ABS|JUMP, },
- /* 4d */ { { 'E', 'O', 'R', 0, }, 3, ABS|NORM, },
- /* 4e */ { { 'L', 'S', 'R', 0, }, 3, ABS|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 50 */ { { 'B', 'V', 'C', 0, }, 2, REL|FORK, },
- /* 51 */ { { 'E', 'O', 'R', 0, }, 2, INY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 55 */ { { 'E', 'O', 'R', 0, }, 2, ZPX|NORM, },
- /* 56 */ { { 'L', 'S', 'R', 0, }, 2, ZPX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 58 */ { { 'C', 'L', 'I', 0, }, 1, IMP|NORM, },
- /* 59 */ { { 'E', 'O', 'R', 0, }, 3, ABY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 5d */ { { 'E', 'O', 'R', 0, }, 3, ABX|NORM, },
- /* 5e */ { { 'L', 'S', 'R', 0, }, 3, ABX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 60 */ { { 'R', 'T', 'S', 0, }, 1, IMP|STOP, },
- /* 61 */ { { 'A', 'D', 'C', 0, }, 2, INX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 65 */ { { 'A', 'D', 'C', 0, }, 2, ZPG|NORM, },
- /* 66 */ { { 'R', 'O', 'R', 0, }, 2, ZPG|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 68 */ { { 'P', 'L', 'A', 0, }, 1, IMP|NORM, },
- /* 69 */ { { 'A', 'D', 'C', 0, }, 2, IMM|NORM, },
- /* 6a */ { { 'R', 'O', 'R', 0, }, 1, ACC|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 6c */ { { 'J', 'M', 'P', 0, }, 3, IND|STOP, },
- /* 6d */ { { 'A', 'D', 'C', 0, }, 3, ABS|NORM, },
- /* 6e */ { { 'R', 'O', 'R', 0, }, 3, ABS|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 70 */ { { 'B', 'V', 'S', 0, }, 2, REL|FORK, },
- /* 71 */ { { 'A', 'D', 'C', 0, }, 2, INY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 75 */ { { 'A', 'D', 'C', 0, }, 2, ZPX|NORM, },
- /* 76 */ { { 'R', 'O', 'R', 0, }, 2, ZPX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 78 */ { { 'S', 'E', 'I', 0, }, 1, IMP|NORM, },
- /* 79 */ { { 'A', 'D', 'C', 0, }, 3, ABY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 7d */ { { 'A', 'D', 'C', 0, }, 3, ABX|NORM, },
- /* 7e */ { { 'R', 'O', 'R', 0, }, 3, ABX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 81 */ { { 'S', 'T', 'A', 0, }, 2, INX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 84 */ { { 'S', 'T', 'Y', 0, }, 2, ZPG|NORM, },
- /* 85 */ { { 'S', 'T', 'A', 0, }, 2, ZPG|NORM, },
- /* 86 */ { { 'S', 'T', 'X', 0, }, 2, ZPG|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 88 */ { { 'D', 'E', 'Y', 0, }, 1, IMP|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 8a */ { { 'T', 'X', 'A', 0, }, 1, IMP|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 8c */ { { 'S', 'T', 'Y', 0, }, 3, ABS|NORM, },
- /* 8d */ { { 'S', 'T', 'A', 0, }, 3, ABS|NORM, },
- /* 8e */ { { 'S', 'T', 'X', 0, }, 3, ABS|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 90 */ { { 'B', 'C', 'C', 0, }, 2, REL|FORK, },
- /* 91 */ { { 'S', 'T', 'A', 0, }, 2, INY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 94 */ { { 'S', 'T', 'Y', 0, }, 2, ZPX|NORM, },
- /* 95 */ { { 'S', 'T', 'A', 0, }, 2, ZPX|NORM, },
- /* 96 */ { { 'S', 'T', 'X', 0, }, 2, ZPY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 98 */ { { 'T', 'Y', 'A', 0, }, 1, IMP|NORM, },
- /* 99 */ { { 'S', 'T', 'A', 0, }, 3, ABY|NORM, },
- /* 9a */ { { 'T', 'X', 'S', 0, }, 1, IMP|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 9d */ { { 'S', 'T', 'A', 0, }, 3, ABX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* a0 */ { { 'L', 'D', 'Y', 0, }, 2, IMM|NORM, },
- /* a1 */ { { 'L', 'D', 'A', 0, }, 2, INX|NORM, },
- /* a2 */ { { 'L', 'D', 'X', 0, }, 2, IMM|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* a4 */ { { 'L', 'D', 'Y', 0, }, 2, ZPG|NORM, },
- /* a5 */ { { 'L', 'D', 'A', 0, }, 2, ZPG|NORM, },
- /* a6 */ { { 'L', 'D', 'X', 0, }, 2, ZPG|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* a8 */ { { 'T', 'A', 'Y', 0, }, 1, IMP|NORM, },
- /* a9 */ { { 'L', 'D', 'A', 0, }, 2, IMM|NORM, },
- /* aa */ { { 'T', 'A', 'X', 0, }, 1, IMP|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* ac */ { { 'L', 'D', 'Y', 0, }, 3, ABS|NORM, },
- /* ad */ { { 'L', 'D', 'A', 0, }, 3, ABS|NORM, },
- /* ae */ { { 'L', 'D', 'X', 0, }, 3, ABS|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* b0 */ { { 'B', 'C', 'S', 0, }, 2, REL|FORK, },
- /* b1 */ { { 'L', 'D', 'A', 0, }, 2, INY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* b4 */ { { 'L', 'D', 'Y', 0, }, 2, ZPX|NORM, },
- /* b5 */ { { 'L', 'D', 'A', 0, }, 2, ZPX|NORM, },
- /* b6 */ { { 'L', 'D', 'X', 0, }, 2, ZPY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* b8 */ { { 'C', 'L', 'V', 0, }, 1, IMP|NORM, },
- /* b9 */ { { 'L', 'D', 'A', 0, }, 3, ABY|NORM, },
- /* ba */ { { 'T', 'S', 'X', 0, }, 1, IMP|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* bc */ { { 'L', 'D', 'Y', 0, }, 3, ABX|NORM, },
- /* bd */ { { 'L', 'D', 'A', 0, }, 3, ABX|NORM, },
- /* be */ { { 'L', 'D', 'X', 0, }, 3, ABY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* c0 */ { { 'C', 'P', 'Y', 0, }, 2, IMM|NORM, },
- /* c1 */ { { 'C', 'M', 'P', 0, }, 2, INX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* c4 */ { { 'C', 'P', 'Y', 0, }, 2, ZPG|NORM, },
- /* c5 */ { { 'C', 'M', 'P', 0, }, 2, ZPG|NORM, },
- /* c6 */ { { 'D', 'E', 'C', 0, }, 2, ZPG|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* c8 */ { { 'I', 'N', 'Y', 0, }, 1, IMP|NORM, },
- /* c9 */ { { 'C', 'M', 'P', 0, }, 2, IMM|NORM, },
- /* ca */ { { 'D', 'E', 'X', 0, }, 1, IMP|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* cc */ { { 'C', 'P', 'Y', 0, }, 3, ABS|NORM, },
- /* cd */ { { 'C', 'M', 'P', 0, }, 3, ABS|NORM, },
- /* ce */ { { 'D', 'E', 'C', 0, }, 3, ABS|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* d0 */ { { 'B', 'N', 'E', 0, }, 2, REL|FORK, },
- /* d1 */ { { 'C', 'M', 'P', 0, }, 2, INY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* d5 */ { { 'C', 'M', 'P', 0, }, 2, ZPX|NORM, },
- /* d6 */ { { 'D', 'E', 'C', 0, }, 2, ZPX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* d8 */ { { 'C', 'L', 'D', 0, }, 1, IMP|NORM, },
- /* d9 */ { { 'C', 'M', 'P', 0, }, 3, ABY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* dd */ { { 'C', 'M', 'P', 0, }, 3, ABX|NORM, },
- /* de */ { { 'D', 'E', 'C', 0, }, 3, ABX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* e0 */ { { 'C', 'P', 'X', 0, }, 2, IMM|NORM, },
- /* e1 */ { { 'S', 'B', 'C', 0, }, 2, INX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* e4 */ { { 'C', 'P', 'X', 0, }, 2, ZPG|NORM, },
- /* e5 */ { { 'S', 'B', 'C', 0, }, 2, ZPG|NORM, },
- /* e6 */ { { 'I', 'N', 'C', 0, }, 2, ZPG|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* e8 */ { { 'I', 'N', 'X', 0, }, 1, IMP|NORM, },
- /* e9 */ { { 'S', 'B', 'C', 0, }, 2, IMM|NORM, },
- /* ea */ { { 'N', 'O', 'P', 0, }, 1, IMP|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* ec */ { { 'C', 'P', 'X', 0, }, 3, ABS|NORM, },
- /* ed */ { { 'S', 'B', 'C', 0, }, 3, ABS|NORM, },
- /* ee */ { { 'I', 'N', 'C', 0, }, 3, ABS|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* f0 */ { { 'B', 'E', 'Q', 0, }, 2, REL|FORK, },
- /* f1 */ { { 'S', 'B', 'C', 0, }, 2, INY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* f5 */ { { 'S', 'B', 'C', 0, }, 2, ZPX|NORM, },
- /* f6 */ { { 'I', 'N', 'C', 0, }, 2, ZPX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* f8 */ { { 'S', 'E', 'D', 0, }, 1, IMP|NORM, },
- /* f9 */ { { 'S', 'B', 'C', 0, }, 3, ABY|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- /* fd */ { { 'S', 'B', 'C', 0, }, 3, ABX|NORM, },
- /* fe */ { { 'I', 'N', 'C', 0, }, 3, ABX|NORM, },
- /* 00 */ { { '?', '?', '?', 0, }, 1, ILL|NORM, },
- };
-