diff options
Diffstat (limited to 'src/devices/cpu/mcs51/mcs51dasm.cpp')
-rw-r--r-- | src/devices/cpu/mcs51/mcs51dasm.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/devices/cpu/mcs51/mcs51dasm.cpp b/src/devices/cpu/mcs51/mcs51dasm.cpp index fce9b90208f..2b857f74307 100644 --- a/src/devices/cpu/mcs51/mcs51dasm.cpp +++ b/src/devices/cpu/mcs51/mcs51dasm.cpp @@ -293,16 +293,14 @@ std::string mcs51_disassembler::get_bit_address( uint8_t arg ) const } } -offs_t mcs51_disassembler::disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms) +offs_t mcs51_disassembler::disassemble_op(std::ostream &stream, unsigned PC, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms, uint8_t op) { uint32_t flags = 0; - unsigned PC = pc; std::string sym, sym2; - uint8_t op, data; + uint8_t data; uint16_t addr; int8_t rel; - op = opcodes.r8(PC++); switch( op ) { //NOP @@ -1109,6 +1107,13 @@ offs_t mcs51_disassembler::disassemble(std::ostream &stream, offs_t pc, const da return (PC - pc) | flags | SUPPORTED; } +offs_t mcs51_disassembler::disassemble(std::ostream &stream, offs_t pc, const data_buffer &opcodes, const data_buffer ¶ms) +{ + unsigned PC = pc; + uint8_t op = opcodes.r8(PC++); + return disassemble_op(stream, PC, pc, opcodes, params, op); +} + i8051_disassembler::i8051_disassembler() : mcs51_disassembler(default_names) { } |