mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
z80 disassembler, stopped invalid dd & fd instructions from eating the next byte [smf]
This commit is contained in:
parent
e42176816b
commit
347396faed
@ -420,9 +420,10 @@ offs_t z80_disassembler::disassemble(std::ostream &stream, offs_t pc, const data
|
|||||||
case 0xdd:
|
case 0xdd:
|
||||||
{
|
{
|
||||||
ixy = "ix";
|
ixy = "ix";
|
||||||
u8 op1 = opcodes.r8(pos++);
|
u8 op1 = opcodes.r8(pos);
|
||||||
if( op1 == 0xcb )
|
if( op1 == 0xcb )
|
||||||
{
|
{
|
||||||
|
pos++;
|
||||||
offset = params.r8(pos++);
|
offset = params.r8(pos++);
|
||||||
op1 = params.r8(pos++);
|
op1 = params.r8(pos++);
|
||||||
d = &mnemonic_xx_cb[op1];
|
d = &mnemonic_xx_cb[op1];
|
||||||
@ -434,9 +435,10 @@ offs_t z80_disassembler::disassemble(std::ostream &stream, offs_t pc, const data
|
|||||||
case 0xfd:
|
case 0xfd:
|
||||||
{
|
{
|
||||||
ixy = "iy";
|
ixy = "iy";
|
||||||
u8 op1 = opcodes.r8(pos++);
|
u8 op1 = opcodes.r8(pos);
|
||||||
if( op1 == 0xcb )
|
if( op1 == 0xcb )
|
||||||
{
|
{
|
||||||
|
pos++;
|
||||||
offset = params.r8(pos++);
|
offset = params.r8(pos++);
|
||||||
op1 = params.r8(pos++);
|
op1 = params.r8(pos++);
|
||||||
d = &mnemonic_xx_cb[op1];
|
d = &mnemonic_xx_cb[op1];
|
||||||
|
Loading…
Reference in New Issue
Block a user