1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
// license:BSD-3-Clause
// copyright-holders:Wilbert Pol
/*****************************************************************************
*
* lr35902d.c
* Portable Sharp LR35902 disassembler
*
*****************************************************************************/
#ifndef MAME_CPU_LR35902_LR35902D_H
#define MAME_CPU_LR35902_LR35902D_H
#pragma once
class lr35902_disassembler : public util::disasm_interface
{
public:
lr35902_disassembler() = default;
virtual ~lr35902_disassembler() = default;
virtual u32 opcode_alignment() const override;
virtual offs_t disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms) override;
private:
enum e_mnemonics
{
zADC, zADD, zAND, zBIT, zCALL, zCCF, zCP,
zCPL, zDAA, zDB, zDEC, zDI, zEI, zHLT,
zIN, zINC, zJP, zJR, zLD, zNOP, zOR,
zPOP, zPUSH, zRES, zRET, zRETI, zRL, zRLA,
zRLC, zRLCA, zRR, zRRA, zRRC, zRRCA, zRST,
zSBC, zSCF, zSET, zSLA, zSLL, zSRA, zSRL,
zSTOP, zSUB, zXOR, zSWAP
};
struct lr35902dasm
{
uint8_t mnemonic;
const char *arguments;
};
static const char *const s_mnemonic[];
static const uint32_t s_flags[];
static const lr35902dasm mnemonic_cb[256];
static const lr35902dasm mnemonic_main[256];
};
#endif // MAME_CPU_LR35902_LR35902D_H
|