diff options
Diffstat (limited to 'src/devices/cpu/tms34010/tms34010.cpp')
-rw-r--r-- | src/devices/cpu/tms34010/tms34010.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/devices/cpu/tms34010/tms34010.cpp b/src/devices/cpu/tms34010/tms34010.cpp index 1e3c099425c..3d9d1a20a30 100644 --- a/src/devices/cpu/tms34010/tms34010.cpp +++ b/src/devices/cpu/tms34010/tms34010.cpp @@ -228,14 +228,14 @@ inline void tms340x0_device::RESET_ST() } /* shortcuts for reading opcodes */ -uint32_t tms34010_device::ROPCODE() +uint16_t tms34010_device::ROPCODE() { uint32_t pc = m_pc; m_pc += 2 << 3; return m_cache.read_word(pc); } -uint32_t tms34020_device::ROPCODE() +uint16_t tms34020_device::ROPCODE() { uint32_t pc = m_pc; m_pc += 2 << 3; @@ -887,7 +887,7 @@ void tms340x0_device::execute_run() uint16_t op; m_ppc = m_pc; op = ROPCODE(); - (this->*s_opcode_table[op >> 4])(op); + execute_op(op); } while (m_icount > 0); } else @@ -898,12 +898,22 @@ void tms340x0_device::execute_run() m_ppc = m_pc; debugger_instruction_hook(m_pc); op = ROPCODE(); - (this->*s_opcode_table[op >> 4])(op); + execute_op(op); } while (m_icount > 0); } m_executing = false; } +void tms34010_device::execute_op(uint16_t op) +{ + (this->*s_opcode_table[op >> 4])(op); +} + +void tms34020_device::execute_op(uint16_t op) +{ + (this->*s_opcode_table[op >> 4])(op); +} + /*************************************************************************** |