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 &params) 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