summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/devices/cpu/z80/z80dasm.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/devices/cpu/z80/z80dasm.cpp b/src/devices/cpu/z80/z80dasm.cpp
index b59b3a38eb6..f579fd6d62d 100644
--- a/src/devices/cpu/z80/z80dasm.cpp
+++ b/src/devices/cpu/z80/z80dasm.cpp
@@ -416,6 +416,8 @@ offs_t z80_disassembler::disassemble(std::ostream &stream, offs_t pc, const data
break;
case 0xed:
d = &mnemonic_ed[opcodes.r8(pos++)];
+ if (d->mnemonic == zDB)
+ pos--;
break;
case 0xdd:
{
@@ -428,7 +430,11 @@ offs_t z80_disassembler::disassemble(std::ostream &stream, offs_t pc, const data
d = &mnemonic_xx_cb[op1];
}
else
+ {
d = &mnemonic_xx[op1];
+ if (d->mnemonic == zDB)
+ pos--;
+ }
break;
}
case 0xfd:
@@ -442,7 +448,11 @@ offs_t z80_disassembler::disassemble(std::ostream &stream, offs_t pc, const data
d = &mnemonic_xx_cb[op1];
}
else
+ {
d = &mnemonic_xx[op1];
+ if (d->mnemonic == zDB)
+ pos--;
+ }
break;
}
default: