|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: 6 T
Length: 11481 (0x2cd9)
Types: TextFile
Names: »6502_ops.h«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
└─⟦this⟧ »EUUGD11/euug-87hel/sec1/asm/6502_ops.h«
#define BYTESPERLINE 3 /* # bytes per line on the listing */
#define SIGNED YES
#define SWAPPED YES
#define RELATIVE YES
opdclass o_immed = { 8, NO, NO, NO, 0};
opdclass o_zpage = { 8, NO, NO, NO, 0};
opdclass o_mem = { 16, NO, SWAPPED, NO, 0};
opdclass o_rel = { 8, SIGNED, NO, RELATIVE, -2};
insclass i_nomem = { 1, 0, &o_none, &o_none, 0, 0};
insclass i_branch = { 2, 1, &o_rel, &o_none, 8, 0};
insclass i_immed = { 2, 1, &o_immed, &o_none, 8, 0};
insclass i_zpage = { 2, 1, &o_zpage, &o_none, 8, 0};
insclass i_abs = { 3, 1, &o_mem, &o_none, 8, 0};
opdef optab[] = {
{ "adci", &i_immed, 0x69000000, geninstr},
{ "adcz", &i_zpage, 0x65000000, geninstr},
{ "adczx", &i_zpage, 0x75000000, geninstr},
{ "adca", &i_abs, 0x6d000000, geninstr},
{ "adcax", &i_abs, 0x7d000000, geninstr},
{ "adcay", &i_abs, 0x79000000, geninstr},
{ "adcix", &i_zpage, 0x61000000, geninstr},
{ "adciy", &i_zpage, 0x71000000, geninstr},
{ "andi", &i_immed, 0x29000000, geninstr},
{ "andz", &i_zpage, 0x25000000, geninstr},
{ "andzx", &i_zpage, 0x35000000, geninstr},
{ "anda", &i_abs, 0x2d000000, geninstr},
{ "andax", &i_abs, 0x3d000000, geninstr},
{ "anday", &i_abs, 0x39000000, geninstr},
{ "andix", &i_zpage, 0x21000000, geninstr},
{ "andiy", &i_zpage, 0x31000000, geninstr},
{ "aslac", &i_nomem, 0x0a000000, geninstr},
{ "aslz", &i_zpage, 0x06000000, geninstr},
{ "aslzx", &i_zpage, 0x16000000, geninstr},
{ "asla", &i_abs, 0x0e000000, geninstr},
{ "aslax", &i_abs, 0x1e000000, geninstr},
{ "bcc", &i_branch, 0x90000000, geninstr},
{ "bcs", &i_branch, 0xb0000000, geninstr},
{ "beq", &i_branch, 0xf0000000, geninstr},
{ "bitz", &i_zpage, 0x24000000, geninstr},
{ "bita", &i_abs, 0x2c000000, geninstr},
{ "bmi", &i_branch, 0x30000000, geninstr},
{ "bne", &i_branch, 0xd0000000, geninstr},
{ "bpl", &i_branch, 0x10000000, geninstr},
{ "brk", &i_nomem, 0x00000000, geninstr},
{ "bvc", &i_branch, 0x50000000, geninstr},
{ "bvs", &i_branch, 0x70000000, geninstr},
{ "clc", &i_nomem, 0x18000000, geninstr},
{ "cld", &i_nomem, 0xd8000000, geninstr},
{ "cli", &i_nomem, 0x58000000, geninstr},
{ "clv", &i_nomem, 0xb8000000, geninstr},
{ "cmpi", &i_immed, 0xc9000000, geninstr},
{ "cmpz", &i_zpage, 0xc5000000, geninstr},
{ "cmpzx", &i_zpage, 0xd5000000, geninstr},
{ "cmpa", &i_abs, 0xcd000000, geninstr},
{ "cmpax", &i_abs, 0xdd000000, geninstr},
{ "cmpay", &i_abs, 0xd9000000, geninstr},
{ "cmpix", &i_zpage, 0xc1000000, geninstr},
{ "cmpiy", &i_zpage, 0xd1000000, geninstr},
{ "cpxi", &i_immed, 0xe0000000, geninstr},
{ "cpxz", &i_zpage, 0xe4000000, geninstr},
{ "cpxa", &i_abs, 0xec000000, geninstr},
{ "cpyi", &i_immed, 0xc0000000, geninstr},
{ "cpyz", &i_zpage, 0xc4000000, geninstr},
{ "cpya", &i_abs, 0xcc000000, geninstr},
{ "decz", &i_zpage, 0xc6000000, geninstr},
{ "deczx", &i_zpage, 0xd6000000, geninstr},
{ "deca", &i_abs, 0xce000000, geninstr},
{ "decax", &i_abs, 0xde000000, geninstr},
{ "dex", &i_nomem, 0xca000000, geninstr},
{ "dey", &i_nomem, 0x88000000, geninstr},
{ "eori", &i_immed, 0x49000000, geninstr},
{ "eorz", &i_zpage, 0x45000000, geninstr},
{ "eorzx", &i_zpage, 0x55000000, geninstr},
{ "eora", &i_abs, 0x4d000000, geninstr},
{ "eorax", &i_abs, 0x5d000000, geninstr},
{ "eoray", &i_abs, 0x59000000, geninstr},
{ "eorix", &i_zpage, 0x41000000, geninstr},
{ "eoriy", &i_zpage, 0x51000000, geninstr},
{ "incz", &i_zpage, 0xe6000000, geninstr},
{ "inczx", &i_zpage, 0xf6000000, geninstr},
{ "inca", &i_abs, 0xee000000, geninstr},
{ "incax", &i_abs, 0xfe000000, geninstr},
{ "inx", &i_nomem, 0xe8000000, geninstr},
{ "iny", &i_nomem, 0xc8000000, geninstr},
{ "jmp", &i_abs, 0x4c000000, geninstr},
{ "jmpi", &i_abs, 0x6c000000, geninstr},
{ "jsr", &i_abs, 0x20000000, geninstr},
{ "ldai", &i_immed, 0xa9000000, geninstr},
{ "ldaz", &i_zpage, 0xa5000000, geninstr},
{ "ldazx", &i_zpage, 0xb5000000, geninstr},
{ "ldaa", &i_abs, 0xad000000, geninstr},
{ "ldaax", &i_abs, 0xbd000000, geninstr},
{ "ldaay", &i_abs, 0xb9000000, geninstr},
{ "ldaix", &i_zpage, 0xa1000000, geninstr},
{ "ldaiy", &i_zpage, 0xb1000000, geninstr},
{ "ldxi", &i_immed, 0xa2000000, geninstr},
{ "ldxz", &i_zpage, 0xa6000000, geninstr},
{ "ldxzy", &i_zpage, 0xb6000000, geninstr},
{ "ldxa", &i_abs, 0xae000000, geninstr},
{ "ldxay", &i_abs, 0xbe000000, geninstr},
{ "ldyi", &i_immed, 0xa0000000, geninstr},
{ "ldyz", &i_zpage, 0xa4000000, geninstr},
{ "ldyzx", &i_zpage, 0xb4000000, geninstr},
{ "ldya", &i_abs, 0xac000000, geninstr},
{ "ldyax", &i_abs, 0xbc000000, geninstr},
{ "lsrac", &i_nomem, 0x4a000000, geninstr},
{ "lsrz", &i_zpage, 0x46000000, geninstr},
{ "lsrzx", &i_zpage, 0x56000000, geninstr},
{ "lsra", &i_abs, 0x4e000000, geninstr},
{ "lsrax", &i_abs, 0x5e000000, geninstr},
{ "nop", &i_nomem, 0xea000000, geninstr},
{ "orai", &i_immed, 0x09000000, geninstr},
{ "oraz", &i_zpage, 0x05000000, geninstr},
{ "orazx", &i_zpage, 0x15000000, geninstr},
{ "oraa", &i_abs, 0x0d000000, geninstr},
{ "oraax", &i_abs, 0x1d000000, geninstr},
{ "oraay", &i_abs, 0x19000000, geninstr},
{ "oraix", &i_zpage, 0x01000000, geninstr},
{ "oraiy", &i_zpage, 0x11000000, geninstr},
{ "pha", &i_nomem, 0x48000000, geninstr},
{ "php", &i_nomem, 0x08000000, geninstr},
{ "pla", &i_nomem, 0x68000000, geninstr},
{ "plp", &i_nomem, 0x28000000, geninstr},
{ "rolac", &i_nomem, 0x2a000000, geninstr},
{ "rolz", &i_zpage, 0x26000000, geninstr},
{ "rolzx", &i_zpage, 0x36000000, geninstr},
{ "rola", &i_abs, 0x2e000000, geninstr},
{ "rolax", &i_abs, 0x3e000000, geninstr},
{ "rorac", &i_nomem, 0x6a000000, geninstr},
{ "rorz", &i_zpage, 0x66000000, geninstr},
{ "rorzx", &i_zpage, 0x76000000, geninstr},
{ "rora", &i_abs, 0x6e000000, geninstr},
{ "rorax", &i_abs, 0x7e000000, geninstr},
{ "rti", &i_nomem, 0x40000000, geninstr},
{ "rst", &i_nomem, 0x60000000, geninstr},
{ "sbci", &i_immed, 0xe9000000, geninstr},
{ "sbcz", &i_zpage, 0xe5000000, geninstr},
{ "sbczx", &i_zpage, 0xf5000000, geninstr},
{ "sbca", &i_abs, 0xed000000, geninstr},
{ "sbcax", &i_abs, 0xfd000000, geninstr},
{ "sbcay", &i_abs, 0xf9000000, geninstr},
{ "sbcix", &i_zpage, 0xe1000000, geninstr},
{ "sbciy", &i_zpage, 0xf1000000, geninstr},
{ "sec", &i_nomem, 0x38000000, geninstr},
{ "sed", &i_nomem, 0xf8000000, geninstr},
{ "sei", &i_nomem, 0x78000000, geninstr},
{ "staz", &i_zpage, 0x85000000, geninstr},
{ "stazx", &i_zpage, 0x95000000, geninstr},
{ "staa", &i_abs, 0x8d000000, geninstr},
{ "staax", &i_abs, 0x9d000000, geninstr},
{ "staay", &i_abs, 0x99000000, geninstr},
{ "staix", &i_zpage, 0x81000000, geninstr},
{ "staiy", &i_zpage, 0x91000000, geninstr},
{ "stxz", &i_zpage, 0x86000000, geninstr},
{ "stxzy", &i_zpage, 0x96000000, geninstr},
{ "stxa", &i_abs, 0x8e000000, geninstr},
{ "styz", &i_zpage, 0x84000000, geninstr},
{ "styzx", &i_zpage, 0x94000000, geninstr},
{ "stya", &i_abs, 0x8c000000, geninstr},
{ "tax", &i_nomem, 0xaa000000, geninstr},
{ "tay", &i_nomem, 0xa8000000, geninstr},
{ "tsx", &i_nomem, 0xba000000, geninstr},
{ "txa", &i_nomem, 0x8a000000, geninstr},
{ "txs", &i_nomem, 0x9a000000, geninstr},
{ "tya", &i_nomem, 0x98000000, geninstr},
{ "", &i_noopd, 0x00000000, geninstr}
};
symbol predef[] = {
{ "acptr", 0xffa5, &o_mem, (segmnt *) 0 },
{ "chkin", 0xffc6, &o_mem, (segmnt *) 0 },
{ "chkout", 0xffc9, &o_mem, (segmnt *) 0 },
{ "chrin", 0xffcf, &o_mem, (segmnt *) 0 },
{ "chrout", 0xffd2, &o_mem, (segmnt *) 0 },
{ "ciout", 0xffa8, &o_mem, (segmnt *) 0 },
{ "cint", 0xff81, &o_mem, (segmnt *) 0 },
{ "clall", 0xffe7, &o_mem, (segmnt *) 0 },
{ "close", 0xffc3, &o_mem, (segmnt *) 0 },
{ "clrchn", 0xffcc, &o_mem, (segmnt *) 0 },
{ "getin", 0xffe4, &o_mem, (segmnt *) 0 },
{ "iobase", 0xfff3, &o_mem, (segmnt *) 0 },
{ "ioinit", 0xff84, &o_mem, (segmnt *) 0 },
{ "listen", 0xffb1, &o_mem, (segmnt *) 0 },
{ "load", 0xffd5, &o_mem, (segmnt *) 0 },
{ "membot", 0xff9c, &o_mem, (segmnt *) 0 },
{ "memtop", 0xff99, &o_mem, (segmnt *) 0 },
{ "open", 0xffc0, &o_mem, (segmnt *) 0 },
{ "plot", 0xfff0, &o_mem, (segmnt *) 0 },
{ "ramtas", 0xff87, &o_mem, (segmnt *) 0 },
{ "rdtim", 0xffde, &o_mem, (segmnt *) 0 },
{ "readst", 0xffb7, &o_mem, (segmnt *) 0 },
{ "restor", 0xff8a, &o_mem, (segmnt *) 0 },
{ "save", 0xffd8, &o_mem, (segmnt *) 0 },
{ "scnkey", 0xff9f, &o_mem, (segmnt *) 0 },
{ "screen", 0xffed, &o_mem, (segmnt *) 0 },
{ "second", 0xff93, &o_mem, (segmnt *) 0 },
{ "setlfs", 0xffba, &o_mem, (segmnt *) 0 },
{ "setmsg", 0xff90, &o_mem, (segmnt *) 0 },
{ "setnam", 0xffbd, &o_mem, (segmnt *) 0 },
{ "settim", 0xffdb, &o_mem, (segmnt *) 0 },
{ "settmo", 0xffa2, &o_mem, (segmnt *) 0 },
{ "stop", 0xffe1, &o_mem, (segmnt *) 0 },
{ "talk", 0xffb4, &o_mem, (segmnt *) 0 },
{ "tksa", 0xff96, &o_mem, (segmnt *) 0 },
{ "udtim", 0xffea, &o_mem, (segmnt *) 0 },
{ "unlsn", 0xffae, &o_mem, (segmnt *) 0 },
{ "untlk", 0xffab, &o_mem, (segmnt *) 0 },
{ "vector", 0xff8d, &o_mem, (segmnt *) 0 },
{ "", 0x0, &o_none, (segmnt *) 0 }
};
void optional () {}