"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OPS_HuC6280 = void 0; exports.disassembleHuC6280 = disassembleHuC6280; 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" }, // 0 { mn: "ORA", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 1 { mn: "SXY", am: "", nb: 1, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "XY" }, // 2 { mn: "ST0", am: "#aa", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // 3 { mn: "TSB", am: "aa", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "NZV" }, // 4 { mn: "ORA", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 5 { mn: "ASL", am: "aa", nb: 2, il: 0, c1: 5, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 6 { mn: "RMB0", am: "aa", nb: 2, il: 0, c1: 7, c2: 0, nw: 1, br: 0, mod: "" }, // 7 { mn: "PHP", am: "", nb: 1, il: 0, c1: 3, c2: 0, nw: 1, br: 0, mod: "S" }, // 8 { mn: "ORA", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 9 { mn: "ASL", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" }, // a { mn: "ANC", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" }, // b { mn: "TSB", am: "AAAA", nb: 3, il: 0, c1: 7, c2: 0, nw: 0, br: 0, mod: "NZV" }, // c { mn: "ORA", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" }, // d { mn: "ASL", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" }, // e { mn: "BBR0", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "" }, // f // TODO: finish these { mn: "BPL", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" }, // 10 { mn: "ORA", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "AZN" }, // 11 { mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" }, // 12 { mn: "SLO", am: "(aa),y", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 13 { mn: "NOP", am: "aa,x", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // 14 { mn: "ORA", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 15 { mn: "ASL", am: "aa,x", nb: 2, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 16 { mn: "SLO", am: "aa,x", nb: 2, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 17 { mn: "CLC", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "C" }, // 18 { mn: "ORA", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" }, // 19 { mn: "NOP", am: "", nb: 1, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" }, // 1a { mn: "SLO", am: "AAAA,y", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 1b { mn: "NOP", am: "AAAA,x", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // 1c { mn: "ORA", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" }, // 1d { mn: "ASL", am: "AAAA,x", nb: 3, il: 0, c1: 7, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 1e { mn: "SLO", am: "AAAA,x", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 1f { mn: "JSR", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 1, mod: "S" }, // 20 { mn: "AND", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 21 { mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" }, // 22 { mn: "RLA", am: "(aa,x)", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 23 { mn: "BIT", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "ZVN" }, // 24 { mn: "AND", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 25 { mn: "ROL", am: "aa", nb: 2, il: 0, c1: 5, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 26 { mn: "RLA", am: "aa", nb: 2, il: 1, c1: 5, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 27 { mn: "PLP", am: "", nb: 1, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "SCZIDVN" }, // 28 { mn: "AND", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 29 { mn: "ROL", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" }, // 2a { mn: "ANC", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" }, // 2b { mn: "BIT", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "ZVN" }, // 2c { mn: "AND", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 2d { mn: "ROL", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 2e { mn: "RLA", am: "AAAA", nb: 3, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 2f { mn: "BMI", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" }, // 30 { mn: "AND", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "AZN" }, // 31 { mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" }, // 32 { mn: "RLA", am: "(aa),y", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 33 { mn: "NOP", am: "aa,x", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // 34 { mn: "AND", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 35 { mn: "ROL", am: "aa,x", nb: 2, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 36 { mn: "RLA", am: "aa,x", nb: 2, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 37 { mn: "SEC", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "C" }, // 38 { mn: "AND", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" }, // 39 { mn: "NOP", am: "", nb: 1, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" }, // 3a { mn: "RLA", am: "AAAA,y", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 3b { mn: "NOP", am: "AAAA,x", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // 3c { mn: "AND", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" }, // 3d { mn: "ROL", am: "AAAA,x", nb: 3, il: 0, c1: 7, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 3e { mn: "RLA", am: "AAAA,x", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 3f { mn: "RTI", am: "", nb: 1, il: 0, c1: 6, c2: 0, nw: 0, br: 1, mod: "SCZIDVN" }, // 40 { mn: "EOR", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 41 { mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" }, // 42 { mn: "SRE", am: "(aa,x)", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 43 { mn: "NOP", am: "aa", nb: 2, il: 1, c1: 3, c2: 0, nw: 0, br: 0, mod: "" }, // 44 { mn: "EOR", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 45 { mn: "LSR", am: "aa", nb: 2, il: 0, c1: 5, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 46 { mn: "SRE", am: "aa", nb: 2, il: 1, c1: 5, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 47 { mn: "PHA", am: "", nb: 1, il: 0, c1: 3, c2: 0, nw: 1, br: 0, mod: "S" }, // 48 { mn: "EOR", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 49 { mn: "LSR", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" }, // 4a { mn: "ASR", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" }, // 4b { mn: "JMP", am: "AAAA", nb: 3, il: 0, c1: 3, c2: 0, nw: 0, br: 1, mod: "" }, // 4c { mn: "EOR", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 4d { mn: "LSR", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 4e { mn: "SRE", am: "AAAA", nb: 3, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 4f { mn: "BVC", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" }, // 50 { mn: "EOR", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "AZN" }, // 51 { mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" }, // 52 { mn: "SRE", am: "(aa),y", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 53 { mn: "NOP", am: "aa,x", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // 54 { mn: "EOR", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 55 { mn: "LSR", am: "aa,x", nb: 2, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 56 { mn: "SRE", am: "aa,x", nb: 2, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 57 { mn: "CLI", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "I" }, // 58 { mn: "EOR", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" }, // 59 { mn: "NOP", am: "", nb: 1, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" }, // 5a { mn: "SRE", am: "AAAA,y", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 5b { mn: "NOP", am: "AAAA,x", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // 5c { mn: "EOR", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" }, // 5d { mn: "LSR", am: "AAAA,x", nb: 3, il: 0, c1: 7, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 5e { mn: "SRE", am: "AAAA,x", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZN" }, // 5f { mn: "RTS", am: "", nb: 1, il: 0, c1: 6, c2: 0, nw: 0, br: 1, mod: "S" }, // 60 { mn: "ADC", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "ACZVN" }, // 61 { mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" }, // 62 { mn: "RRA", am: "(aa,x)", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // 63 { mn: "NOP", am: "aa", nb: 2, il: 1, c1: 3, c2: 0, nw: 0, br: 0, mod: "" }, // 64 { mn: "ADC", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "ACZVN" }, // 65 { mn: "ROR", am: "aa", nb: 2, il: 0, c1: 5, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 66 { mn: "RRA", am: "aa", nb: 2, il: 1, c1: 5, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // 67 { mn: "PLA", am: "", nb: 1, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "SAZN" }, // 68 { mn: "ADC", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZVN" }, // 69 { mn: "ROR", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZN" }, // 6a { mn: "ARR", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZVN" }, // 6b { mn: "JMP", am: "(AAAA)", nb: 3, il: 0, c1: 5, c2: 0, nw: 0, br: 1, mod: "" }, // 6c { mn: "ADC", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "ACZVN" }, // 6d { mn: "ROR", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 6e { mn: "RRA", am: "AAAA", nb: 3, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // 6f { mn: "BVS", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" }, // 70 { mn: "ADC", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "ACZVN" }, // 71 { mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" }, // 72 { mn: "RRA", am: "(aa),y", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // 73 { mn: "NOP", am: "aa,x", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // 74 { mn: "ADC", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "ACZVN" }, // 75 { mn: "ROR", am: "aa,x", nb: 2, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 76 { mn: "RRA", am: "aa,x", nb: 2, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // 77 { mn: "SEI", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "I" }, // 78 { mn: "ADC", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "ACZVN" }, // 79 { mn: "NOP", am: "", nb: 1, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" }, // 7a { mn: "RRA", am: "AAAA,y", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // 7b { mn: "NOP", am: "AAAA,x", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // 7c { mn: "ADC", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "ACZVN" }, // 7d { mn: "ROR", am: "AAAA,x", nb: 3, il: 0, c1: 7, c2: 0, nw: 2, br: 0, mod: "CZN" }, // 7e { mn: "RRA", am: "AAAA,x", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // 7f { mn: "BRA", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" }, // 80 { mn: "STA", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 1, br: 0, mod: "" }, // 81 { mn: "NOP", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" }, // 82 { mn: "SAX", am: "(aa,x)", nb: 2, il: 1, c1: 6, c2: 0, nw: 1, br: 0, mod: "" }, // 83 { mn: "STY", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 1, br: 0, mod: "" }, // 84 { mn: "STA", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 1, br: 0, mod: "" }, // 85 { mn: "STX", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 1, br: 0, mod: "" }, // 86 { mn: "SAX", am: "aa", nb: 2, il: 1, c1: 3, c2: 0, nw: 1, br: 0, mod: "" }, // 87 { mn: "DEY", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "YZN" }, // 88 { mn: "NOP", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" }, // 89 { mn: "TXA", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 8a { mn: "ANE", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 8b { mn: "STY", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 1, br: 0, mod: "" }, // 8c { mn: "STA", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 1, br: 0, mod: "" }, // 8d { mn: "STX", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 1, br: 0, mod: "" }, // 8e { mn: "SAX", am: "AAAA", nb: 3, il: 1, c1: 4, c2: 0, nw: 1, br: 0, mod: "" }, // 8f { mn: "BCC", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" }, // 90 { mn: "STA", am: "(aa),y", nb: 2, il: 0, c1: 6, c2: 0, nw: 1, br: 0, mod: "" }, // 91 { mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" }, // 92 { mn: "SHA", am: "(aa),y", nb: 2, il: 1, c1: 6, c2: 0, nw: 1, br: 0, mod: "" }, // 93 { mn: "STY", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 1, br: 0, mod: "" }, // 94 { mn: "STA", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 1, br: 0, mod: "" }, // 95 { mn: "STX", am: "aa,y", nb: 2, il: 0, c1: 4, c2: 0, nw: 1, br: 0, mod: "" }, // 96 { mn: "SAX", am: "aa,y", nb: 3, il: 1, c1: 4, c2: 0, nw: 1, br: 1, mod: "" }, // 97 { mn: "TYA", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" }, // 98 { mn: "STA", am: "AAAA,y", nb: 3, il: 0, c1: 5, c2: 0, nw: 1, br: 0, mod: "" }, // 99 { mn: "TXS", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "S" }, // 9a { mn: "SHS", am: "AAAA,y", nb: 3, il: 1, c1: 5, c2: 0, nw: 1, br: 0, mod: "S" }, // 9b { mn: "SHY", am: "AAAA,x", nb: 3, il: 1, c1: 5, c2: 0, nw: 1, br: 0, mod: "" }, // 9c { mn: "STA", am: "AAAA,x", nb: 3, il: 0, c1: 5, c2: 0, nw: 1, br: 0, mod: "" }, // 9d { mn: "SHX", am: "AAAA,y", nb: 3, il: 1, c1: 5, c2: 0, nw: 1, br: 0, mod: "" }, // 9e { mn: "SHA", am: "AAAA,y", nb: 3, il: 1, c1: 5, c2: 0, nw: 1, br: 0, mod: "" }, // 9f { mn: "LDY", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "YZN" }, // a0 { mn: "LDA", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "AZN" }, // a1 { mn: "LDX", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "XZN" }, // a2 { mn: "LAX", am: "(aa,x)", nb: 2, il: 1, c1: 6, c2: 0, nw: 0, br: 0, mod: "AXZN" }, // a3 { mn: "LDY", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "YZN" }, // a4 { mn: "LDA", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "AZN" }, // a5 { mn: "LDX", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "XZN" }, // a6 { mn: "LAX", am: "aa", nb: 2, il: 1, c1: 3, c2: 0, nw: 0, br: 0, mod: "AXZN" }, // a7 { mn: "TAY", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "YZN" }, // a8 { mn: "LDA", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "AZN" }, // a9 { mn: "TAX", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "XZN" }, // aa { mn: "LXA", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "AXZN" }, // ab { mn: "LDY", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "YZN" }, // ac { mn: "LDA", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" }, // ad { mn: "LDX", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "XZN" }, // ae { mn: "LAX", am: "AAAA", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "AXZN" }, // af { mn: "BCS", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" }, // b0 { mn: "LDA", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "AZN" }, // b1 { mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" }, // b2 { mn: "LAX", am: "(aa),y", nb: 2, il: 1, c1: 5, c2: 1, nw: 0, br: 0, mod: "AXZN" }, // b3 { mn: "LDY", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "YZN" }, // b4 { mn: "LDA", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "AZN" }, // b5 { mn: "LDX", am: "aa,y", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "XZN" }, // b6 { mn: "LAX", am: "aa,y", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "AXZN" }, // b7 { mn: "CLV", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "V" }, // b8 { mn: "LDA", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" }, // b9 { mn: "TSX", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "XZN" }, // ba { mn: "LAS", am: "AAAA,y", nb: 3, il: 1, c1: 4, c2: 1, nw: 0, br: 0, mod: "SAXZN" }, // bb { mn: "LDY", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "YZN" }, // bc { mn: "LDA", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "AZN" }, // bd { mn: "LDX", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "XZN" }, // be { mn: "LAX", am: "AAAA,y", nb: 3, il: 1, c1: 4, c2: 1, nw: 0, br: 0, mod: "AXZN" }, // bf { mn: "CPY", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "CZN" }, // c0 { mn: "CMP", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "CZN" }, // c1 { mn: "NOP", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" }, // c2 { mn: "DCP", am: "(aa,x)", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "CZN" }, // c3 { mn: "CPY", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "CZN" }, // c4 { mn: "CMP", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "CZN" }, // c5 { mn: "DEC", am: "aa", nb: 2, il: 0, c1: 5, c2: 0, nw: 2, br: 0, mod: "ZN" }, // c6 { mn: "DCP", am: "aa", nb: 2, il: 1, c1: 5, c2: 0, nw: 2, br: 0, mod: "CZN" }, // c7 { mn: "INY", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "YZN" }, // c8 { mn: "CMP", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "CZN" }, // c9 { mn: "DEX", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "XZN" }, // ca { mn: "SBX", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "XCZN" }, // cb { mn: "CPY", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "CZN" }, // cc { mn: "CMP", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "CZN" }, // cd { mn: "DEC", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "ZN" }, // ce { mn: "DCP", am: "AAAA", nb: 3, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" }, // cf { mn: "BNE", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" }, // d0 { mn: "CMP", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "CZN" }, // d1 { mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" }, // d2 { mn: "DCP", am: "(aa),y", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "CZN" }, // d3 { mn: "NOP", am: "aa,x", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // d4 { mn: "CMP", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "CZN" }, // d5 { mn: "DEC", am: "aa,x", nb: 2, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "ZN" }, // d6 { mn: "DCP", am: "aa,x", nb: 2, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "CZN" }, // d7 { mn: "CLD", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "D" }, // d8 { mn: "CMP", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "CZN" }, // d9 { mn: "NOP", am: "", nb: 1, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" }, // da { mn: "DCP", am: "AAAA,y", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "CZN" }, // db { mn: "NOP", am: "AAAA,x", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // dc { mn: "CMP", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "CZN" }, // dd { mn: "DEC", am: "AAAA,x", nb: 3, il: 0, c1: 7, c2: 0, nw: 2, br: 0, mod: "ZN" }, // de { mn: "DCP", am: "AAAA,x", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "CZN" }, // df { mn: "CPX", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "CZN" }, // e0 { mn: "SBC", am: "(aa,x)", nb: 2, il: 0, c1: 6, c2: 0, nw: 0, br: 0, mod: "ACZVN" }, // e1 { mn: "NOP", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" }, // e2 { mn: "ISB", am: "(aa,x)", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // e3 { mn: "CPX", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "CZN" }, // e4 { mn: "SBC", am: "aa", nb: 2, il: 0, c1: 3, c2: 0, nw: 0, br: 0, mod: "ACZVN" }, // e5 { mn: "INC", am: "aa", nb: 2, il: 0, c1: 5, c2: 0, nw: 2, br: 0, mod: "ZN" }, // e6 { mn: "ISB", am: "aa", nb: 2, il: 1, c1: 5, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // e7 { mn: "INX", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "XZN" }, // e8 { mn: "SBC", am: "#aa", nb: 2, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZVN" }, // e9 { mn: "NOP", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "" }, // ea { mn: "SBC", am: "#aa", nb: 2, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "ACZVN" }, // eb { mn: "CPX", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "CZN" }, // ec { mn: "SBC", am: "AAAA", nb: 3, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "ACZVN" }, // ed { mn: "INC", am: "AAAA", nb: 3, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "ZN" }, // ee { mn: "ISB", am: "AAAA", nb: 3, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // ef { mn: "BEQ", am: "branch", nb: 2, il: 0, c1: 2, c2: 2, nw: 0, br: 1, mod: "" }, // f0 { mn: "SBC", am: "(aa),y", nb: 2, il: 0, c1: 5, c2: 1, nw: 0, br: 0, mod: "ACZVN" }, // f1 { mn: "KIL", am: "", nb: 1, il: 2, c1: 3, c2: 0, nw: 0, br: 1, mod: "" }, // f2 { mn: "ISB", am: "(aa),y", nb: 2, il: 1, c1: 8, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // f3 { mn: "NOP", am: "aa,x", nb: 2, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // f4 { mn: "SBC", am: "aa,x", nb: 2, il: 0, c1: 4, c2: 0, nw: 0, br: 0, mod: "ACZVN" }, // f5 { mn: "INC", am: "aa,x", nb: 2, il: 0, c1: 6, c2: 0, nw: 2, br: 0, mod: "ZN" }, // f6 { mn: "ISB", am: "aa,x", nb: 2, il: 1, c1: 6, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // f7 { mn: "SED", am: "", nb: 1, il: 0, c1: 2, c2: 0, nw: 0, br: 0, mod: "D" }, // f8 { mn: "SBC", am: "AAAA,y", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "ACZVN" }, // f9 { mn: "NOP", am: "", nb: 1, il: 1, c1: 2, c2: 0, nw: 0, br: 0, mod: "" }, // fa { mn: "ISB", am: "AAAA,y", nb: 3, il: 1, c1: 7, c2: 0, nw: 2, br: 0, mod: "ACZVN" }, // fb { mn: "NOP", am: "AAAA,x", nb: 3, il: 1, c1: 4, c2: 0, nw: 0, br: 0, mod: "" }, // fc { mn: "SBC", am: "AAAA,x", nb: 3, il: 0, c1: 4, c2: 1, nw: 0, br: 0, mod: "ACZVN" }, // fd { mn: "INC", am: "AAAA,x", nb: 3, il: 0, c1: 7, c2: 0, nw: 2, br: 0, mod: "ZN" }, // fe { 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 }; } ; //# sourceMappingURL=disasmHuC6280.js.map