8bitworkshop/gen/common/cpu/disasmHuC6280.js

287 lines
22 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.disassembleHuC6280 = exports.OPS_HuC6280 = void 0;
const util_1 = require("../util");
exports.OPS_HuC6280 = [
{ mn: "BRK", am: "", nb: 1, il: 0, c1: 7, c2: 0, nw: 3, br: 1, mod: "SI" },
{ mn: "ORA", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "SXY", am: "", nb: 1, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "XY" },
{ mn: "ST0", am: "#aa", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "TSB", am: "aa", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "NZV" },
{ mn: "ORA", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "ASL", am: "aa", nb: 2, il: 0, c1: 5, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "RMB0", am: "aa", nb: 2, il: 0, c1: 7, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "PHP", am: "", nb: 1, il: 0, c1: 3, c2: 0, nw: 1, br: 0, mod: "S" },
{ mn: "ORA", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "ASL", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" },
{ mn: "ANC", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" },
{ mn: "TSB", am: "AAAA", nb: 3, il: 0, c1: 7, c2: 0, nw: 0, br: 0, mod: "NZV" },
{ mn: "ORA", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "ASL", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "BBR0", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "" },
// TODO: finish these
{ mn: "BPL", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" },
{ mn: "ORA", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "AZN" },
{ mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "SLO", am: "(aa),y", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "NOP", am: "aa,x", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "ORA", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "ASL", am: "aa,x", nb: 2, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "SLO", am: "aa,x", nb: 2, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "CLC", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "C" },
{ mn: "ORA", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" },
{ mn: "NOP", am: "", nb: 1, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "SLO", am: "AAAA,y", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "NOP", am: "AAAA,x", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "ORA", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" },
{ mn: "ASL", am: "AAAA,x", nb: 3, il: 0, c1: 7, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "SLO", am: "AAAA,x", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "JSR", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 1, mod: "S" },
{ mn: "AND", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "RLA", am: "(aa,x)", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "BIT", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "ZVN" },
{ mn: "AND", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "ROL", am: "aa", nb: 2, il: 0, c1: 5, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "RLA", am: "aa", nb: 2, il: 1, c1: 5, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "PLP", am: "", nb: 1, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "SCZIDVN" },
{ mn: "AND", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "ROL", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" },
{ mn: "ANC", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" },
{ mn: "BIT", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "ZVN" },
{ mn: "AND", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "ROL", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "RLA", am: "AAAA", nb: 3, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "BMI", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" },
{ mn: "AND", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "AZN" },
{ mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "RLA", am: "(aa),y", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "NOP", am: "aa,x", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "AND", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "ROL", am: "aa,x", nb: 2, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "RLA", am: "aa,x", nb: 2, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "SEC", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "C" },
{ mn: "AND", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" },
{ mn: "NOP", am: "", nb: 1, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "RLA", am: "AAAA,y", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "NOP", am: "AAAA,x", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "AND", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" },
{ mn: "ROL", am: "AAAA,x", nb: 3, il: 0, c1: 7, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "RLA", am: "AAAA,x", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "RTI", am: "", nb: 1, il: 0, c1: 6, c2: 0, nw: 0, br: 1, mod: "SCZIDVN" },
{ mn: "EOR", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "SRE", am: "(aa,x)", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "NOP", am: "aa", nb: 2, il: 1, c1: 3, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "EOR", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "LSR", am: "aa", nb: 2, il: 0, c1: 5, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "SRE", am: "aa", nb: 2, il: 1, c1: 5, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "PHA", am: "", nb: 1, il: 0, c1: 3, c2: 0, nw: 1, br: 0, mod: "S" },
{ mn: "EOR", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "LSR", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" },
{ mn: "ASR", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" },
{ mn: "JMP", am: "AAAA", nb: 3, il: 0, c1: 3, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "EOR", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "LSR", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "SRE", am: "AAAA", nb: 3, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "BVC", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" },
{ mn: "EOR", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "AZN" },
{ mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "SRE", am: "(aa),y", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "NOP", am: "aa,x", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "EOR", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "LSR", am: "aa,x", nb: 2, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "SRE", am: "aa,x", nb: 2, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "CLI", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "I" },
{ mn: "EOR", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" },
{ mn: "NOP", am: "", nb: 1, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "SRE", am: "AAAA,y", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "NOP", am: "AAAA,x", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "EOR", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" },
{ mn: "LSR", am: "AAAA,x", nb: 3, il: 0, c1: 7, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "SRE", am: "AAAA,x", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZN" },
{ mn: "RTS", am: "", nb: 1, il: 0, c1: 6, c2: 0, nw: 0, br: 1, mod: "S" },
{ mn: "ADC", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "RRA", am: "(aa,x)", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "NOP", am: "aa", nb: 2, il: 1, c1: 3, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "ADC", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "ROR", am: "aa", nb: 2, il: 0, c1: 5, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "RRA", am: "aa", nb: 2, il: 1, c1: 5, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "PLA", am: "", nb: 1, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "SAZN" },
{ mn: "ADC", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "ROR", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" },
{ mn: "ARR", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "JMP", am: "(AAAA)", nb: 3, il: 0, c1: 5, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "ADC", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "ROR", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "RRA", am: "AAAA", nb: 3, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "BVS", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" },
{ mn: "ADC", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "RRA", am: "(aa),y", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "NOP", am: "aa,x", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "ADC", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "ROR", am: "aa,x", nb: 2, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "RRA", am: "aa,x", nb: 2, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "SEI", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "I" },
{ mn: "ADC", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "NOP", am: "", nb: 1, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "RRA", am: "AAAA,y", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "NOP", am: "AAAA,x", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "ADC", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "ROR", am: "AAAA,x", nb: 3, il: 0, c1: 7, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "RRA", am: "AAAA,x", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "BRA", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" },
{ mn: "STA", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "NOP", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "SAX", am: "(aa,x)", nb: 2, il: 1, c1: 6, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "STY", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "STA", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "STX", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "SAX", am: "aa", nb: 2, il: 1, c1: 3, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "DEY", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "YZN" },
{ mn: "NOP", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "TXA", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "ANE", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "STY", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "STA", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "STX", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "SAX", am: "AAAA", nb: 3, il: 1, c1: 4, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "BCC", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" },
{ mn: "STA", am: "(aa),y", nb: 2, il: 0, c1: 6, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "SHA", am: "(aa),y", nb: 2, il: 1, c1: 6, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "STY", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "STA", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "STX", am: "aa,y", nb: 2, il: 0, c1: 4, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "SAX", am: "aa,y", nb: 3, il: 1, c1: 4, c2: 0, nw: 1, br: 1, mod: "" },
{ mn: "TYA", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "STA", am: "AAAA,y", nb: 3, il: 0, c1: 5, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "TXS", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "S" },
{ mn: "SHS", am: "AAAA,y", nb: 3, il: 1, c1: 5, c2: 0, nw: 1, br: 0, mod: "S" },
{ mn: "SHY", am: "AAAA,x", nb: 3, il: 1, c1: 5, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "STA", am: "AAAA,x", nb: 3, il: 0, c1: 5, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "SHX", am: "AAAA,y", nb: 3, il: 1, c1: 5, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "SHA", am: "AAAA,y", nb: 3, il: 1, c1: 5, c2: 0, nw: 1, br: 0, mod: "" },
{ mn: "LDY", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "YZN" },
{ mn: "LDA", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "LDX", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "XZN" },
{ mn: "LAX", am: "(aa,x)", nb: 2, il: 1, c1: 6, c2: 0, nw: 0, br: 0, mod: "AXZN" },
{ mn: "LDY", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "YZN" },
{ mn: "LDA", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "LDX", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "XZN" },
{ mn: "LAX", am: "aa", nb: 2, il: 1, c1: 3, c2: 0, nw: 0, br: 0, mod: "AXZN" },
{ mn: "TAY", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "YZN" },
{ mn: "LDA", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "TAX", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "XZN" },
{ mn: "LXA", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "AXZN" },
{ mn: "LDY", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "YZN" },
{ mn: "LDA", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "LDX", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "XZN" },
{ mn: "LAX", am: "AAAA", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "AXZN" },
{ mn: "BCS", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" },
{ mn: "LDA", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "AZN" },
{ mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "LAX", am: "(aa),y", nb: 2, il: 1, c1: 5, c2: 1, nw: 0, br: 0, mod: "AXZN" },
{ mn: "LDY", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "YZN" },
{ mn: "LDA", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" },
{ mn: "LDX", am: "aa,y", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "XZN" },
{ mn: "LAX", am: "aa,y", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "AXZN" },
{ mn: "CLV", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "V" },
{ mn: "LDA", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" },
{ mn: "TSX", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "XZN" },
{ mn: "LAS", am: "AAAA,y", nb: 3, il: 1, c1: 4, c2: 1, nw: 0, br: 0, mod: "SAXZN" },
{ mn: "LDY", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "YZN" },
{ mn: "LDA", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" },
{ mn: "LDX", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "XZN" },
{ mn: "LAX", am: "AAAA,y", nb: 3, il: 1, c1: 4, c2: 1, nw: 0, br: 0, mod: "AXZN" },
{ mn: "CPY", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "CZN" },
{ mn: "CMP", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "CZN" },
{ mn: "NOP", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "DCP", am: "(aa,x)", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "CPY", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "CZN" },
{ mn: "CMP", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "CZN" },
{ mn: "DEC", am: "aa", nb: 2, il: 0, c1: 5, c2: 0, nw: 2, br: 0, mod: "ZN" },
{ mn: "DCP", am: "aa", nb: 2, il: 1, c1: 5, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "INY", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "YZN" },
{ mn: "CMP", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "CZN" },
{ mn: "DEX", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "XZN" },
{ mn: "SBX", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "XCZN" },
{ mn: "CPY", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "CZN" },
{ mn: "CMP", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "CZN" },
{ mn: "DEC", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "ZN" },
{ mn: "DCP", am: "AAAA", nb: 3, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "BNE", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" },
{ mn: "CMP", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "CZN" },
{ mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "DCP", am: "(aa),y", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "NOP", am: "aa,x", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "CMP", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "CZN" },
{ mn: "DEC", am: "aa,x", nb: 2, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "ZN" },
{ mn: "DCP", am: "aa,x", nb: 2, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "CLD", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "D" },
{ mn: "CMP", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "CZN" },
{ mn: "NOP", am: "", nb: 1, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "DCP", am: "AAAA,y", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "NOP", am: "AAAA,x", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "CMP", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "CZN" },
{ mn: "DEC", am: "AAAA,x", nb: 3, il: 0, c1: 7, c2: 0, nw: 2, br: 0, mod: "ZN" },
{ mn: "DCP", am: "AAAA,x", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "CZN" },
{ mn: "CPX", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "CZN" },
{ mn: "SBC", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "NOP", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "ISB", am: "(aa,x)", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "CPX", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "CZN" },
{ mn: "SBC", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "INC", am: "aa", nb: 2, il: 0, c1: 5, c2: 0, nw: 2, br: 0, mod: "ZN" },
{ mn: "ISB", am: "aa", nb: 2, il: 1, c1: 5, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "INX", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "XZN" },
{ mn: "SBC", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "NOP", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "SBC", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "CPX", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "CZN" },
{ mn: "SBC", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "INC", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "ZN" },
{ mn: "ISB", am: "AAAA", nb: 3, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "BEQ", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" },
{ mn: "SBC", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" },
{ mn: "ISB", am: "(aa),y", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "NOP", am: "aa,x", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "SBC", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "INC", am: "aa,x", nb: 2, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "ZN" },
{ mn: "ISB", am: "aa,x", nb: 2, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "SED", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "D" },
{ mn: "SBC", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "NOP", am: "", nb: 1, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "ISB", am: "AAAA,y", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZVN" },
{ mn: "NOP", am: "AAAA,x", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" },
{ mn: "SBC", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "ACZVN" },
{ mn: "INC", am: "AAAA,x", nb: 3, il: 0, c1: 7, c2: 0, nw: 2, br: 0, mod: "ZN" },
{ mn: "ISB", am: "AAAA,x", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // ff
];
function disassembleHuC6280(pc, b0, b1, b2) {
var op = exports.OPS_HuC6280[b0];
if (op == null)
return { line: "???", nbytes: 1, isaddr: false };
var s = op.mn;
var am = op.am;
var isaddr = false;
if (am == 'branch') {
var offset = (b1 < 0x80) ? (pc + 2 + b1) : (pc + 2 - (256 - b1));
offset &= 0xffff;
am = '$' + (0, util_1.hex)(offset, 4);
isaddr = true;
}
else {
am = am.replace('aa', '$' + (0, util_1.hex)(b1, 2));
am = am.replace('AAAA', '$' + (0, util_1.hex)(b1 + (b2 << 8), 4));
if (am.indexOf('#') < 0 && am.indexOf('$') >= 0)
isaddr = true;
}
return { line: op.mn + " " + am, nbytes: op.nb, isaddr: isaddr };
}
exports.disassembleHuC6280 = disassembleHuC6280;
;
//# sourceMappingURL=disasmHuC6280.js.map