mirror of
https://github.com/mauiaaron/apple2.git
synced 2024-12-27 06:29:19 +00:00
817 lines
24 KiB
C
817 lines
24 KiB
C
/*
|
|
* 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 "debug.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 },
|
|
};
|