diff options
Diffstat (limited to 'src/devices/cpu/tlcs870/tlcs870d.cpp')
-rw-r--r-- | src/devices/cpu/tlcs870/tlcs870d.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/devices/cpu/tlcs870/tlcs870d.cpp b/src/devices/cpu/tlcs870/tlcs870d.cpp index 7900e764158..d4042d43cb5 100644 --- a/src/devices/cpu/tlcs870/tlcs870d.cpp +++ b/src/devices/cpu/tlcs870/tlcs870d.cpp @@ -2268,9 +2268,16 @@ offs_t tlcs870_disassembler::disassemble(std::ostream &stream, offs_t pc, const util::stream_format (stream, "%-5s", op_names[ m_op ] ); + offs_t flags = 0; if (m_param1_type) { disassemble_param(stream, pc, opcodes, params, m_param1_type, m_param1); + if ((m_param1_type & MODE_MASK) == CONDITIONAL) + flags = STEP_COND; + else if (m_op == CALL || m_op == CALLP || m_op == CALLV || m_op == SWI) + flags = STEP_OVER; + else if (m_op == RET || m_op == RETI || m_op == RETN) + flags = STEP_OUT; } if (m_param2_type) @@ -2281,5 +2288,5 @@ offs_t tlcs870_disassembler::disassemble(std::ostream &stream, offs_t pc, const } - return (m_addr - pc) | SUPPORTED; + return (m_addr - pc) | flags | SUPPORTED; } |