diff options
Diffstat (limited to 'src/devices/cpu/g65816/g65816ds.cpp')
-rw-r--r-- | src/devices/cpu/g65816/g65816ds.cpp | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/src/devices/cpu/g65816/g65816ds.cpp b/src/devices/cpu/g65816/g65816ds.cpp index 4d4f5695b5c..a3d350b9730 100644 --- a/src/devices/cpu/g65816/g65816ds.cpp +++ b/src/devices/cpu/g65816/g65816ds.cpp @@ -8,14 +8,39 @@ G65C816 CPU Emulator V0.90 Copyright Karl Stenerud -All rights reserved. */ #include "emu.h" #include "g65816ds.h" -g65816_disassembler::g65816_disassembler(config *conf) : m_config(conf) +enum class g65816_disassembler::op : unsigned +{ + ADC, AND, ASL, BCC, BCS, BEQ, BIT, BMI, BNE, BPL, BRA, + BRK, BRL, BVC, BVS, CLC, CLD, CLI, CLV, CMP, COP, CPX, + CPY, DEA, DEC, DEX, DEY, EOR, INA, INC, INX, INY, JML, + JMP, JSL, JSR, LDA, LDX, LDY, LSR, MVN, MVP, NOP, ORA, + PEA, PEI, PER, PHA, PHB, PHD, PHK, PHP, PHX, PHY, PLA, + PLB, PLD, PLP, PLX, PLY, REP, ROL, ROR, RTI, RTL, RTS, + SBC, SEC, SED, SEI, SEP, STA, STP, STX, STY, STZ, TAX, + TAY, TCS, TCD, TDC, TRB, TSB, TSC, TSX, TXA, TXS, TXY, + TYA, TYX, WAI, WDM, XBA, XCE +}; + +class g65816_disassembler::opcode_struct { + public: + op m_name; + u8 flag; + u8 ea; + + opcode_struct(op n, u8 f, u8 e); + const char *name() const; + bool is_call() const; + bool is_return() const; + bool is_cond() const; + }; + +g65816_disassembler::g65816_disassembler(const config *conf) : m_config(conf) { } |