summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices
diff options
context:
space:
mode:
author Patrick Mackinlay <pmackinlay@hotmail.com>2023-01-17 19:21:30 +0700
committer Patrick Mackinlay <pmackinlay@hotmail.com>2023-01-17 19:21:30 +0700
commite6adac10ecf9892c31dc0d38aaf827666a0f96b7 (patch)
treeb6735023f8bb0b39f199ef1f70b8f0fa3608dff9 /src/devices
parent16de1c7df58ac0200dfeca21a5ef3e18627f96c8 (diff)
m88000: add variants of some triadic instructions with un-decoded bits
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/cpu/m88000/m88000.cpp4
1 files changed, 4 insertions, 0 deletions
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;