1
0
mirror of https://github.com/sehugg/8bitworkshop.git synced 2025-01-08 18:30:05 +00:00
8bitworkshop/gen/common/cpu/disasmHuC6280.js

287 lines
24 KiB
JavaScript

"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