mirror of
https://github.com/holub/mame
synced 2025-07-05 18:08:04 +03:00
fix addc subc zeroflag
This commit is contained in:
parent
725380d4f0
commit
5e32a2dec8
@ -904,13 +904,21 @@ void mn10200_device::execute_run()
|
|||||||
|
|
||||||
// addc dn, dm
|
// addc dn, dm
|
||||||
case 0x80:
|
case 0x80:
|
||||||
|
{
|
||||||
|
UINT16 mask0 = ~FLAG_ZF | (m_psw & FLAG_ZF);
|
||||||
m_d[op&3] = do_add(m_d[op&3], m_d[op>>2&3], (m_psw & FLAG_CF) ? 1 : 0);
|
m_d[op&3] = do_add(m_d[op&3], m_d[op>>2&3], (m_psw & FLAG_CF) ? 1 : 0);
|
||||||
|
m_psw &= mask0; // ZF can only be set if it was set before the operation
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// subc dn, dm
|
// subc dn, dm
|
||||||
case 0x90:
|
case 0x90:
|
||||||
|
{
|
||||||
|
UINT16 mask0 = ~FLAG_ZF | (m_psw & FLAG_ZF);
|
||||||
m_d[op&3] = do_sub(m_d[op&3], m_d[op>>2&3], (m_psw & FLAG_CF) ? 1 : 0);
|
m_d[op&3] = do_sub(m_d[op&3], m_d[op>>2&3], (m_psw & FLAG_CF) ? 1 : 0);
|
||||||
|
m_psw &= mask0; // ZF can only be set if it was set before the operation
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// add an, dm
|
// add an, dm
|
||||||
case 0xc0:
|
case 0xc0:
|
||||||
@ -1169,6 +1177,7 @@ void mn10200_device::execute_run()
|
|||||||
|
|
||||||
// mov an, (abs24)
|
// mov an, (abs24)
|
||||||
case 0x50: case 0x51: case 0x52: case 0x53:
|
case 0x50: case 0x51: case 0x52: case 0x53:
|
||||||
|
m_cycles -= 1;
|
||||||
write_mem24(read_arg24(m_pc), m_a[op&3]);
|
write_mem24(read_arg24(m_pc), m_a[op&3]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user