1 // license:BSD-3-Clause 2 // copyright-holders:Peter Trauner 3 /***************************************************************************** 4 * 5 * scdasm.c 6 * portable sharp 61860 emulator interface 7 * (sharp pocket computers) 8 * 9 * Copyright Peter Trauner, all rights reserved. 10 * 11 *****************************************************************************/ 12 13 #ifndef MAME_CPU_SC61860_SCDASM_H 14 #define MAME_CPU_SC61860_SCDASM_H 15 16 #pragma once 17 18 class sc61860_disassembler : public util::disasm_interface 19 { 20 public: 21 sc61860_disassembler() = default; 22 virtual ~sc61860_disassembler() = default; 23 24 virtual u32 opcode_alignment() const override; 25 virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms) override; 26 27 private: 28 enum Adr 29 { 30 Ill, 31 Imp, 32 Imm, ImmW, 33 RelP, RelM, 34 Abs, 35 Ptc, 36 Etc, 37 Cal, 38 Lp 39 }; 40 41 struct opcode { 42 const char *mnemonic; 43 Adr adr; 44 }; 45 46 static const opcode table[]; 47 48 }; 49 50 #endif 51