diff options
Diffstat (limited to 'src/devices/cpu/h8/h8.h')
-rw-r--r-- | src/devices/cpu/h8/h8.h | 78 |
1 files changed, 2 insertions, 76 deletions
diff --git a/src/devices/cpu/h8/h8.h b/src/devices/cpu/h8/h8.h index 3df33f8de1b..78ce598bb84 100644 --- a/src/devices/cpu/h8/h8.h +++ b/src/devices/cpu/h8/h8.h @@ -72,15 +72,6 @@ public: bool access_is_dma() const { return inst_state == STATE_DMA || inst_state == STATE_DTC; } protected: - struct disasm_entry { - int slot; - uint32_t val, mask; - uint16_t val0, mask0; - const char *opcode; - int am1, am2; - offs_t flags; - }; - enum { F_I = 0x80, F_UI = 0x40, @@ -96,64 +87,6 @@ protected: EXR_I = 0x07 }; - enum { - DASM_none, /* no additional arguments */ - - DASM_r8l, /* 8-bits register in bits 0-3 */ - DASM_r8h, /* 8-bits register in bits 4-7 */ - DASM_r8u, /* 8-bits register in bits 8-15 */ - DASM_r16l, /* 16-bits register in bits 0-3 */ - DASM_r16h, /* 16-bits register in bits 4-7 */ - DASM_r32l, /* 32-bits register in bits 0-3 */ - DASM_r32h, /* 32-bits register in bits 4-7 */ - - DASM_r16ih, /* indexed through 16-bits register in bits 4-6 */ - DASM_r16ihh, /* indexed through 16-bits register in bits 4-6 in 4-bytes instruction */ - DASM_pr16h, /* indexed through predecremented 16-bits register in bits 4-6 */ - DASM_r16ph, /* indexed through postincremented 16-bits register in bits 4-6 */ - DASM_r16d16h, /* indexed through 16-bits register in bits 4-6 with 16-bits displacement at end of instruction */ - - DASM_r32ih, /* indexed through 32-bits register in bits 4-6 */ - DASM_r32ihh, /* indexed through 32-bits register in bits 4-6 in 4-bytes instruction */ - DASM_pr32h, /* indexed through predecremented 32-bits register in bits 4-6 */ - DASM_r32pl, /* indexed through postincremented 32-bits register in bits 0-2 */ - DASM_r32ph, /* indexed through postincremented 32-bits register in bits 4-6 */ - DASM_r32d16h, /* indexed through 32-bits register in bits 4-6 with 16-bits displacement at end of instruction */ - DASM_r32d32hh, /* indexed through 32-bits register in bits 20-22 with 32-bits displacement at end of instruction */ - - DASM_psp, /* indexed through predecremented stack pointer */ - DASM_spp, /* indexed through postincremented stack pointer */ - - DASM_r32n2l, /* Block of 2 registers */ - DASM_r32n3l, /* Block of 3 registers */ - DASM_r32n4l, /* Block of 4 registers */ - - DASM_abs8, /* 8-bit address present at +1 */ - DASM_abs16, /* 16-bit address present at end of instruction */ - DASM_abs32, /* 32-bit address present at end of instruction */ - DASM_abs8i, /* 8-bit indirect jump address present at +1 */ - DASM_abs16e, /* 16-bit jump address present at +2 */ - DASM_abs24e, /* 24-bit jump address present at +1 */ - - DASM_rel8, /* 8-bit pc-relative jump address at +1, offset=2 */ - DASM_rel16, /* 16-bit pc-relative jump address at +2, offset=4 */ - - DASM_one, /* immediate value 1 */ - DASM_two, /* immediate value 2 */ - DASM_four, /* immediate value 4 */ - - DASM_imm2, /* 2-bit immediate in bits 4-5 (trapa) */ - DASM_imm3, /* 3-bit immediate in bits 4-6 (bit selection */ - DASM_imm8, /* 8-bit immediate at +1 */ - DASM_imm16, /* 16-bit immediate at +2 */ - DASM_imm32, /* 32-bit immediate at +2 */ - - DASM_ccr, /* internal register ccr */ - DASM_exr, /* internal register exr */ - DASM_macl, /* internal register macl */ - DASM_mach /* internal register mach */ - }; - h8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, bool mode_a16, address_map_delegate map_delegate); // device-level overrides @@ -175,13 +108,11 @@ protected: virtual void state_string_export(const device_state_entry &entry, std::string &str) const override; // device_disasm_interface overrides - virtual uint32_t disasm_min_opcode_bytes() const override; - virtual uint32_t disasm_max_opcode_bytes() const override; - virtual offs_t disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options) override; + virtual util::disasm_interface *create_disassembler() override; address_space_config program_config, io_config; address_space *program, *io; - direct_read_data *direct; + direct_read_data<0> *direct; h8_dma_device *dma_device; h8_dtc_device *dtc_device; h8_dma_state *current_dma; @@ -208,11 +139,6 @@ protected: int irq_level, taken_irq_level; bool irq_required, irq_nmi; - static const disasm_entry disasm_entries[]; - - offs_t disassemble_generic(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options, const disasm_entry *table); - void disassemble_am(std::ostream &stream, int am, offs_t pc, const uint8_t *oprom, uint32_t opcode, int slot, int offset); - virtual void do_exec_full(); virtual void do_exec_partial(); static void add_event(uint64_t &event_time, uint64_t new_event); |