DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ 6 T

⟦c055d199e⟧ TextFile

    Length: 11481 (0x2cd9)
    Types: TextFile
    Names: »6502_ops.h«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/euug-87hel/sec1/asm/6502_ops.h« 

TextFile

#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 () {}