/* * Apple // emulator for Linux: Opcode tables for debugger * * Copyright 1994 Alexander Jean-Claude Bottema * Copyright 1995 Stephen Lee * Copyright 1997, 1998 Aaron Culliney * Copyright 1998, 1999, 2000 Michael Deutschmann * * This software package is subject to the GNU General Public License * version 2 or later (your choice) as published by the Free Software * Foundation. * * THERE ARE NO WARRANTIES WHATSOEVER. * */ #include "common.h" const char * const disasm_templates[15] = { "", "A", "#$%02X", "$%02X", "$%02X,X", "$%02X,Y", "$%02X%02X", "$%02X%02X,X", "$%02X%02X,Y", "($%02X)", "($%02X,X)", "($%02X),Y", "($%02X%02X)", "($%02X%02X),X", "$%04X (%c%02X)" }; const struct opcode_struct opcodes_6502[256] = { { "BRK", addr_implied }, { "ORA", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "ORA", addr_zeropage }, { "ASL", addr_zeropage }, { "???", addr_implied }, { "PHP", addr_implied }, { "ORA", addr_immediate }, { "ASL", addr_accumulator }, { "???", addr_implied }, { "???", addr_implied }, { "ORA", addr_absolute }, { "ASL", addr_absolute }, { "???", addr_implied }, { "BPL", addr_relative }, { "ORA", addr_indirect_y }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "ORA", addr_zeropage_x }, { "ASL", addr_zeropage_x }, { "???", addr_implied }, { "CLC", addr_implied }, { "ORA", addr_absolute_y }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "ORA", addr_absolute_x }, { "ASL", addr_absolute_x }, { "???", addr_implied }, { "JSR", addr_absolute }, { "AND", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "BIT", addr_zeropage }, { "AND", addr_zeropage }, { "ROL", addr_zeropage }, { "???", addr_implied }, { "PLP", addr_implied }, { "AND", addr_immediate }, { "ROL", addr_accumulator }, { "???", addr_implied }, { "BIT", addr_absolute }, { "AND", addr_absolute }, { "ROL", addr_absolute }, { "???", addr_implied }, { "BMI", addr_relative }, { "AND", addr_indirect_y }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "AND", addr_zeropage_x }, { "ROL", addr_zeropage_x }, { "???", addr_implied }, { "SEC", addr_implied }, { "AND", addr_absolute_y }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "AND", addr_absolute_x }, { "ROL", addr_absolute_x }, { "???", addr_implied }, { "RTI", addr_implied }, { "EOR", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "EOR", addr_zeropage }, { "LSR", addr_zeropage }, { "???", addr_implied }, { "PHA", addr_implied }, { "EOR", addr_immediate }, { "LSR", addr_accumulator }, { "???", addr_implied }, { "JMP", addr_absolute }, { "EOR", addr_absolute }, { "LSR", addr_absolute }, { "???", addr_implied }, { "BVC", addr_relative }, { "EOR", addr_indirect_y }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "EOR", addr_zeropage_x }, { "LSR", addr_zeropage_x }, { "???", addr_implied }, { "CLI", addr_implied }, { "EOR", addr_absolute_y }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "EOR", addr_absolute_x }, { "LSR", addr_absolute_x }, { "???", addr_implied }, { "RTS", addr_implied }, { "ADC", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "ADC", addr_zeropage }, { "ROR", addr_zeropage }, { "???", addr_implied }, { "PLA", addr_implied }, { "ADC", addr_immediate }, { "ROR", addr_accumulator }, { "???", addr_implied }, { "JMP", addr_j_indirect }, { "ADC", addr_absolute }, { "ROR", addr_absolute }, { "???", addr_implied }, { "BVS", addr_relative }, { "ADC", addr_indirect_y }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "ADC", addr_zeropage_x }, { "ROR", addr_zeropage_x }, { "???", addr_implied }, { "SEI", addr_implied }, { "ADC", addr_absolute_y }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "ADC", addr_absolute_x }, { "ROR", addr_absolute_x }, { "???", addr_implied }, { "???", addr_implied }, { "STA", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "STY", addr_zeropage }, { "STA", addr_zeropage }, { "STX", addr_zeropage }, { "???", addr_implied }, { "DEY", addr_implied }, { "???", addr_implied }, { "TXA", addr_implied }, { "???", addr_implied }, { "STY", addr_absolute }, { "STA", addr_absolute }, { "STX", addr_absolute }, { "???", addr_implied }, { "BCC", addr_relative }, { "STA", addr_indirect_y }, { "???", addr_implied }, { "???", addr_implied }, { "STY", addr_zeropage_x }, { "STA", addr_zeropage_x }, { "STX", addr_zeropage_y }, { "???", addr_implied }, { "TYA", addr_implied }, { "STA", addr_absolute_y }, { "TXS", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "STA", addr_absolute_x }, { "???", addr_implied }, { "???", addr_implied }, { "LDY", addr_immediate }, { "LDA", addr_indirect_x }, { "LDX", addr_immediate }, { "???", addr_implied }, { "LDY", addr_zeropage }, { "LDA", addr_zeropage }, { "LDX", addr_zeropage }, { "???", addr_implied }, { "TAY", addr_implied }, { "LDA", addr_immediate }, { "TAX", addr_implied }, { "???", addr_implied }, { "LDY", addr_absolute }, { "LDA", addr_absolute }, { "LDX", addr_absolute }, { "???", addr_implied }, { "BCS", addr_relative }, { "LDA", addr_indirect_y }, { "???", addr_implied }, { "???", addr_implied }, { "LDY", addr_zeropage_x }, { "LDA", addr_zeropage_x }, { "LDX", addr_zeropage_y }, { "???", addr_implied }, { "CLV", addr_implied }, { "LDA", addr_absolute_y }, { "TSX", addr_implied }, { "???", addr_implied }, { "LDY", addr_absolute_x }, { "LDA", addr_absolute_x }, { "LDX", addr_absolute_y }, { "???", addr_implied }, { "CPY", addr_immediate }, { "CMP", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "CPY", addr_zeropage }, { "CMP", addr_zeropage }, { "DEC", addr_zeropage }, { "???", addr_implied }, { "INY", addr_implied }, { "CMP", addr_immediate }, { "DEX", addr_implied }, { "???", addr_implied }, { "CPY", addr_absolute }, { "CMP", addr_absolute }, { "DEC", addr_absolute }, { "???", addr_implied }, { "BNE", addr_relative }, { "CMP", addr_indirect_y }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "CMP", addr_zeropage_x }, { "DEC", addr_zeropage_x }, { "???", addr_implied }, { "CLD", addr_implied }, { "CMP", addr_absolute_y }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "CMP", addr_absolute_x }, { "DEC", addr_absolute_x }, { "???", addr_implied }, { "CPX", addr_immediate }, { "SBC", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "CPX", addr_zeropage }, { "SBC", addr_zeropage }, { "INC", addr_zeropage }, { "???", addr_implied }, { "INX", addr_implied }, { "SBC", addr_immediate }, { "NOP", addr_implied }, { "???", addr_implied }, { "CPX", addr_absolute }, { "SBC", addr_absolute }, { "INC", addr_absolute }, { "???", addr_implied }, { "BEQ", addr_relative }, { "SBC", addr_indirect_y }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "SBC", addr_zeropage_x }, { "INC", addr_zeropage_x }, { "???", addr_implied }, { "SED", addr_implied }, { "SBC", addr_absolute_y }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "SBC", addr_absolute_x }, { "INC", addr_absolute_x }, { "???", addr_implied }, }; const struct opcode_struct opcodes_65c02[256] = { { "BRK", addr_implied }, { "ORA", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "TSB", addr_zeropage }, { "ORA", addr_zeropage }, { "ASL", addr_zeropage }, { "???", addr_implied }, { "PHP", addr_implied }, { "ORA", addr_immediate }, { "ASL", addr_accumulator }, { "???", addr_implied }, { "TSB", addr_absolute }, { "ORA", addr_absolute }, { "ASL", addr_absolute }, { "???", addr_implied }, { "BPL", addr_relative }, { "ORA", addr_indirect_y }, { "ORA", addr_indirect }, { "???", addr_implied }, { "TRB", addr_zeropage }, { "ORA", addr_zeropage_x }, { "ASL", addr_zeropage_x }, { "???", addr_implied }, { "CLC", addr_implied }, { "ORA", addr_absolute_y }, { "INC", addr_accumulator }, { "???", addr_implied }, { "TRB", addr_absolute }, { "ORA", addr_absolute_x }, { "ASL", addr_absolute_x }, { "???", addr_implied }, { "JSR", addr_absolute }, { "AND", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "BIT", addr_zeropage }, { "AND", addr_zeropage }, { "ROL", addr_zeropage }, { "???", addr_implied }, { "PLP", addr_implied }, { "AND", addr_immediate }, { "ROL", addr_accumulator }, { "???", addr_implied }, { "BIT", addr_absolute }, { "AND", addr_absolute }, { "ROL", addr_absolute }, { "???", addr_implied }, { "BMI", addr_relative }, { "AND", addr_indirect_y }, { "AND", addr_indirect }, { "???", addr_implied }, { "BIT", addr_zeropage_x }, { "AND", addr_zeropage_x }, { "ROL", addr_zeropage_x }, { "???", addr_implied }, { "SEC", addr_implied }, { "AND", addr_absolute_y }, { "DEC", addr_accumulator }, { "???", addr_implied }, { "BIT", addr_absolute_x }, { "AND", addr_absolute_x }, { "ROL", addr_absolute_x }, { "???", addr_implied }, { "RTI", addr_implied }, { "EOR", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "EOR", addr_zeropage }, { "LSR", addr_zeropage }, { "???", addr_implied }, { "PHA", addr_implied }, { "EOR", addr_immediate }, { "LSR", addr_accumulator }, { "???", addr_implied }, { "JMP", addr_absolute }, { "EOR", addr_absolute }, { "LSR", addr_absolute }, { "???", addr_implied }, { "BVC", addr_relative }, { "EOR", addr_indirect_y }, { "EOR", addr_indirect }, { "???", addr_implied }, { "???", addr_implied }, { "EOR", addr_zeropage_x }, { "LSR", addr_zeropage_x }, { "???", addr_implied }, { "CLI", addr_implied }, { "EOR", addr_absolute_y }, { "PHY", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "EOR", addr_absolute_x }, { "LSR", addr_absolute_x }, { "???", addr_implied }, { "RTS", addr_implied }, { "ADC", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "STZ", addr_zeropage }, { "ADC", addr_zeropage }, { "ROR", addr_zeropage }, { "???", addr_implied }, { "PLA", addr_implied }, { "ADC", addr_immediate }, { "ROR", addr_accumulator }, { "???", addr_implied }, { "JMP", addr_j_indirect }, { "ADC", addr_absolute }, { "ROR", addr_absolute }, { "???", addr_implied }, { "BVS", addr_relative }, { "ADC", addr_indirect_y }, { "ADC", addr_indirect }, { "???", addr_implied }, { "STZ", addr_zeropage_x }, { "ADC", addr_zeropage_x }, { "ROR", addr_zeropage_x }, { "???", addr_implied }, { "SEI", addr_implied }, { "ADC", addr_absolute_y }, { "PLY", addr_implied }, { "???", addr_implied }, { "JMP", addr_j_indirect_x }, { "ADC", addr_absolute_x }, { "ROR", addr_absolute_x }, { "???", addr_implied }, { "BRA", addr_relative }, { "STA", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "STY", addr_zeropage }, { "STA", addr_zeropage }, { "STX", addr_zeropage }, { "???", addr_implied }, { "DEY", addr_implied }, { "BIT", addr_immediate }, { "TXA", addr_implied }, { "???", addr_implied }, { "STY", addr_absolute }, { "STA", addr_absolute }, { "STX", addr_absolute }, { "???", addr_implied }, { "BCC", addr_relative }, { "STA", addr_indirect_y }, { "STA", addr_indirect }, { "???", addr_implied }, { "STY", addr_zeropage_x }, { "STA", addr_zeropage_x }, { "STX", addr_zeropage_y }, { "???", addr_implied }, { "TYA", addr_implied }, { "STA", addr_absolute_y }, { "TXS", addr_implied }, { "???", addr_implied }, { "STZ", addr_absolute }, { "STA", addr_absolute_x }, { "STZ", addr_absolute_x }, { "???", addr_implied }, { "LDY", addr_immediate }, { "LDA", addr_indirect_x }, { "LDX", addr_immediate }, { "???", addr_implied }, { "LDY", addr_zeropage }, { "LDA", addr_zeropage }, { "LDX", addr_zeropage }, { "???", addr_implied }, { "TAY", addr_implied }, { "LDA", addr_immediate }, { "TAX", addr_implied }, { "???", addr_implied }, { "LDY", addr_absolute }, { "LDA", addr_absolute }, { "LDX", addr_absolute }, { "???", addr_implied }, { "BCS", addr_relative }, { "LDA", addr_indirect_y }, { "LDA", addr_indirect }, { "???", addr_implied }, { "LDY", addr_zeropage_x }, { "LDA", addr_zeropage_x }, { "LDX", addr_zeropage_y }, { "???", addr_implied }, { "CLV", addr_implied }, { "LDA", addr_absolute_y }, { "TSX", addr_implied }, { "???", addr_implied }, { "LDY", addr_absolute_x }, { "LDA", addr_absolute_x }, { "LDX", addr_absolute_y }, { "???", addr_implied }, { "CPY", addr_immediate }, { "CMP", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "CPY", addr_zeropage }, { "CMP", addr_zeropage }, { "DEC", addr_zeropage }, { "???", addr_implied }, { "INY", addr_implied }, { "CMP", addr_immediate }, { "DEX", addr_implied }, { "???", addr_implied }, { "CPY", addr_absolute }, { "CMP", addr_absolute }, { "DEC", addr_absolute }, { "???", addr_implied }, { "BNE", addr_relative }, { "CMP", addr_indirect_y }, { "CMP", addr_indirect }, { "???", addr_implied }, { "???", addr_implied }, { "CMP", addr_zeropage_x }, { "DEC", addr_zeropage_x }, { "???", addr_implied }, { "CLD", addr_implied }, { "CMP", addr_absolute_y }, { "PHX", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "CMP", addr_absolute_x }, { "DEC", addr_absolute_x }, { "???", addr_implied }, { "CPX", addr_immediate }, { "SBC", addr_indirect_x }, { "???", addr_implied }, { "???", addr_implied }, { "CPX", addr_zeropage }, { "SBC", addr_zeropage }, { "INC", addr_zeropage }, { "???", addr_implied }, { "INX", addr_implied }, { "SBC", addr_immediate }, { "NOP", addr_implied }, { "???", addr_implied }, { "CPX", addr_absolute }, { "SBC", addr_absolute }, { "INC", addr_absolute }, { "???", addr_implied }, { "BEQ", addr_relative }, { "SBC", addr_indirect_y }, { "SBC", addr_indirect }, { "???", addr_implied }, { "???", addr_implied }, { "SBC", addr_zeropage_x }, { "INC", addr_zeropage_x }, { "???", addr_implied }, { "SED", addr_implied }, { "SBC", addr_absolute_y }, { "PLX", addr_implied }, { "???", addr_implied }, { "???", addr_implied }, { "SBC", addr_absolute_x }, { "INC", addr_absolute_x }, { "???", addr_implied }, }; const struct opcode_struct opcodes_undoc[256] = { { "BRK", addr_implied }, { "ORA", addr_indirect_x }, { "hang", addr_implied }, { "lor", addr_indirect_x }, { "nop", addr_zeropage }, { "ORA", addr_zeropage }, { "ASL", addr_zeropage }, { "lor", addr_zeropage }, { "PHP", addr_implied }, { "ORA", addr_immediate }, { "ASL", addr_accumulator }, { "ana", addr_immediate }, { "nop", addr_absolute }, { "ORA", addr_absolute }, { "ASL", addr_absolute }, { "lor", addr_absolute }, { "BPL", addr_relative }, { "ORA", addr_indirect_y }, { "hang", addr_implied }, { "lor", addr_indirect_y }, { "nop", addr_zeropage_x }, { "ORA", addr_zeropage_x }, { "ASL", addr_zeropage_x }, { "lor", addr_zeropage_x }, { "CLC", addr_implied }, { "ORA", addr_absolute_y }, { "nop", addr_implied }, { "lor", addr_absolute_y }, { "nop", addr_absolute_x }, { "ORA", addr_absolute_x }, { "ASL", addr_absolute_x }, { "lor", addr_absolute }, { "JSR", addr_absolute }, { "AND", addr_indirect_x }, { "hang", addr_implied }, { "lan", addr_indirect_x }, { "BIT", addr_zeropage }, { "AND", addr_zeropage }, { "ROL", addr_zeropage }, { "lan", addr_zeropage }, { "PLP", addr_implied }, { "AND", addr_immediate }, { "ROL", addr_accumulator }, { "anb", addr_immediate }, { "BIT", addr_absolute }, { "AND", addr_absolute }, { "ROL", addr_absolute }, { "lan", addr_absolute }, { "BMI", addr_relative }, { "AND", addr_indirect_y }, { "hang", addr_implied }, { "lan", addr_indirect_y }, { "nop", addr_zeropage_x }, { "AND", addr_zeropage_x }, { "ROL", addr_zeropage_x }, { "lan", addr_zeropage_x }, { "SEC", addr_implied }, { "AND", addr_absolute_y }, { "nop", addr_implied }, { "lan", addr_absolute_y }, { "nop", addr_absolute_x }, { "AND", addr_absolute_x }, { "ROL", addr_absolute_x }, { "lan", addr_absolute_x }, { "RTI", addr_implied }, { "EOR", addr_indirect_x }, { "hang", addr_implied }, { "reo", addr_indirect_x }, { "nop", addr_zeropage }, { "EOR", addr_zeropage }, { "LSR", addr_zeropage }, { "reo", addr_zeropage }, { "PHA", addr_implied }, { "EOR", addr_immediate }, { "LSR", addr_accumulator }, { "ram", addr_immediate }, { "JMP", addr_absolute }, { "EOR", addr_absolute }, { "LSR", addr_absolute }, { "reo", addr_absolute }, { "BVC", addr_relative }, { "EOR", addr_indirect_y }, { "hang", addr_implied }, { "reo", addr_indirect_y }, { "nop", addr_zeropage_x }, { "EOR", addr_zeropage_x }, { "LSR", addr_zeropage_x }, { "reo", addr_zeropage_x }, { "CLI", addr_implied }, { "EOR", addr_absolute_y }, { "nop", addr_implied }, { "reo", addr_absolute_y }, { "nop", addr_absolute_x }, { "EOR", addr_absolute_x }, { "LSR", addr_absolute_x }, { "reo", addr_absolute_x }, { "RTS", addr_implied }, { "ADC", addr_indirect_x }, { "hang", addr_implied }, { "rad", addr_indirect_x }, { "nop", addr_zeropage }, { "ADC", addr_zeropage }, { "ROR", addr_zeropage }, { "rad", addr_zeropage }, { "PLA", addr_implied }, { "ADC", addr_immediate }, { "ROR", addr_accumulator }, { "rbm", addr_immediate }, { "JMP", addr_j_indirect }, { "ADC", addr_absolute }, { "ROR", addr_absolute }, { "rad", addr_absolute }, { "BVS", addr_relative }, { "ADC", addr_indirect_y }, { "hang", addr_implied }, { "rad", addr_indirect_y }, { "nop", addr_zeropage_x }, { "ADC", addr_zeropage_x }, { "ROR", addr_zeropage_x }, { "rad", addr_zeropage_x }, { "SEI", addr_implied }, { "ADC", addr_absolute_y }, { "nop", addr_implied }, { "rad", addr_absolute_y }, { "nop", addr_absolute_x }, { "ADC", addr_absolute_x }, { "ROR", addr_absolute_x }, { "rad", addr_absolute_x }, { "nop", addr_immediate }, { "STA", addr_indirect_x }, { "nop", addr_immediate }, { "aax", addr_indirect_x }, { "STY", addr_zeropage }, { "STA", addr_zeropage }, { "STX", addr_zeropage }, { "aax", addr_zeropage }, { "DEY", addr_implied }, { "nop", addr_immediate }, { "TXA", addr_implied }, { "xma", addr_immediate }, { "STY", addr_absolute }, { "STA", addr_absolute }, { "STX", addr_absolute }, { "aax", addr_absolute }, { "BCC", addr_relative }, { "STA", addr_indirect_y }, { "hang", addr_implied }, { "aax", addr_indirect_y }, { "STY", addr_zeropage_x }, { "STA", addr_zeropage_x }, { "STX", addr_zeropage_y }, { "aax", addr_zeropage_y }, { "TYA", addr_implied }, { "STA", addr_absolute_y }, { "TXS", addr_implied }, { "axs", addr_absolute_y }, { "tey", addr_absolute_x }, { "STA", addr_absolute_x }, { "tex", addr_absolute_y }, { "tea", addr_absolute_y }, { "LDY", addr_immediate }, { "LDA", addr_indirect_x }, { "LDX", addr_immediate }, { "lax", addr_indirect_x }, { "LDY", addr_zeropage }, { "LDA", addr_zeropage }, { "LDX", addr_zeropage }, { "lax", addr_zeropage }, { "TAY", addr_implied }, { "LDA", addr_immediate }, { "TAX", addr_implied }, { "ama", addr_immediate }, { "LDY", addr_absolute }, { "LDA", addr_absolute }, { "LDX", addr_absolute }, { "lax", addr_absolute }, { "BCS", addr_relative }, { "LDA", addr_indirect_y }, { "hang", addr_implied }, { "lax", addr_indirect_y }, { "LDY", addr_zeropage_x }, { "LDA", addr_zeropage_x }, { "LDX", addr_zeropage_y }, { "laz", addr_zeropage_y }, { "CLV", addr_implied }, { "LDA", addr_absolute_y }, { "TSX", addr_implied }, { "las", addr_absolute_y }, { "LDY", addr_absolute_x }, { "LDA", addr_absolute_x }, { "LDX", addr_absolute_y }, { "lax", addr_absolute_y }, { "CPY", addr_immediate }, { "CMP", addr_indirect_x }, { "nop", addr_immediate }, { "dcp", addr_indirect_x }, { "CPY", addr_zeropage }, { "CMP", addr_zeropage }, { "DEC", addr_zeropage }, { "dcp", addr_zeropage }, { "INY", addr_implied }, { "CMP", addr_immediate }, { "DEX", addr_implied }, { "axm", addr_immediate }, { "CPY", addr_absolute }, { "CMP", addr_absolute }, { "DEC", addr_absolute }, { "dcp", addr_absolute }, { "BNE", addr_relative }, { "CMP", addr_indirect_y }, { "hang", addr_implied }, { "dcp", addr_indirect_y }, { "nop", addr_zeropage_x }, { "CMP", addr_zeropage_x }, { "DEC", addr_zeropage_x }, { "dcp", addr_zeropage_x }, { "CLD", addr_implied }, { "CMP", addr_absolute_y }, { "nop", addr_implied }, { "dcp", addr_absolute_y }, { "nop", addr_absolute_x }, { "CMP", addr_absolute_x }, { "DEC", addr_absolute_x }, { "dcp", addr_absolute_x }, { "CPX", addr_immediate }, { "SBC", addr_indirect_x }, { "nop", addr_immediate }, { "isb", addr_indirect_x }, { "CPX", addr_zeropage }, { "SBC", addr_zeropage }, { "INC", addr_zeropage }, { "isb", addr_zeropage }, { "INX", addr_implied }, { "SBC", addr_immediate }, { "NOP", addr_implied }, { "zbc", addr_immediate }, { "CPX", addr_absolute }, { "SBC", addr_absolute }, { "INC", addr_absolute }, { "isb", addr_absolute }, { "BEQ", addr_relative }, { "SBC", addr_indirect_y }, { "hang", addr_implied }, { "isb", addr_indirect_y }, { "nop", addr_zeropage_x }, { "SBC", addr_zeropage_x }, { "INC", addr_zeropage_x }, { "isb", addr_zeropage_x }, { "SED", addr_implied }, { "SBC", addr_absolute_y }, { "nop", addr_implied }, { "isb", addr_absolute_y }, { "nop", addr_absolute_x }, { "SBC", addr_absolute_x }, { "INC", addr_absolute_x }, { "isb", addr_absolute_x }, };