From e6adac10ecf9892c31dc0d38aaf827666a0f96b7 Mon Sep 17 00:00:00 2001 From: Patrick Mackinlay Date: Tue, 17 Jan 2023 19:21:30 +0700 Subject: m88000: add variants of some triadic instructions with un-decoded bits --- src/devices/cpu/m88000/m88000.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/devices/cpu/m88000/m88000.cpp b/src/devices/cpu/m88000/m88000.cpp index 9335e457639..c0df2a80a24 100644 --- a/src/devices/cpu/m88000/m88000.cpp +++ b/src/devices/cpu/m88000/m88000.cpp @@ -764,6 +764,7 @@ void mc88100_device::execute(u32 const inst) } break; case 0x340: // divu: unsigned integer divide (register) + case 0x348: if (!(m_cr[PSR] & PSR_SFD1)) { if (m_r[S2]) @@ -775,6 +776,7 @@ void mc88100_device::execute(u32 const inst) exception(E_SFU1_P); break; case 0x360: // mul: integer multiply (register) + case 0x368: if (!(m_cr[PSR] & PSR_SFD1)) m_r[D] = m_r[S1] * m_r[S2]; else @@ -869,6 +871,7 @@ void mc88100_device::execute(u32 const inst) } break; case 0x3c0: // div: signed integer divide (register) + case 0x3c8: if (!(m_cr[PSR] & PSR_SFD1)) { if (m_r[S2] && !BIT(m_r[S1], 31) && !BIT(m_r[S2], 31)) @@ -880,6 +883,7 @@ void mc88100_device::execute(u32 const inst) exception(E_SFU1_P); break; case 0x3e0: // cmp: integer compare (register) + case 0x3e8: m_r[D] = cmp(m_r[S1], m_r[S2]); break; -- cgit v1.2.3