summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/i86
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2011-05-30 14:25:35 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2011-05-30 14:25:35 +0000
commit73323f655d5d81332b36f109781b5b9dbac7c939 (patch)
tree1d208a6f2d80e44cfa48bee492d6d13dabb346c0 /src/emu/cpu/i86
parentc3d6f724537ffb11b16cfdb8d948ca77d5dac4ba (diff)
idectrl - implemented verify no retry command [Carl]
i86 - Fixed imul instruction [Carl]
Diffstat (limited to 'src/emu/cpu/i86')
-rw-r--r--src/emu/cpu/i86/instr186.c2
-rw-r--r--src/emu/cpu/i86/instr286.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/emu/cpu/i86/instr186.c b/src/emu/cpu/i86/instr186.c
index 6dbf28902e2..4ab64b35bf5 100644
--- a/src/emu/cpu/i86/instr186.c
+++ b/src/emu/cpu/i86/instr186.c
@@ -68,7 +68,7 @@ static void PREFIX186(_imul_d16)(i8086_state *cpustate) /* Opcode 0x69 */
{
DEF_r16w(dst,src);
unsigned src2=FETCH;
- src+=(FETCH<<8);
+ src2+=(FETCH<<8);
ICOUNT -= (ModRM >= 0xc0) ? timing.imul_rri16 : timing.imul_rmi16;
diff --git a/src/emu/cpu/i86/instr286.c b/src/emu/cpu/i86/instr286.c
index 4b947b05daf..7151735e246 100644
--- a/src/emu/cpu/i86/instr286.c
+++ b/src/emu/cpu/i86/instr286.c
@@ -510,7 +510,7 @@ static void PREFIX286(_0fpre)(i8086_state *cpustate)
desc[2] = ReadWord(addr+4);
r = RIGHTS(desc);
if (SEGDESC(r) || (GATE(r) != LDTDESC)) throw TRAP(GENERAL_PROTECTION_FAULT,IDXTBL(sel));
- if (!PRES(r)) TRAP(SEG_NOT_PRESENT,IDXTBL(sel));
+ if (!PRES(r)) throw TRAP(SEG_NOT_PRESENT,IDXTBL(sel));
} else {
desc[0] = 0;
desc[1] = 0;
@@ -530,7 +530,7 @@ static void PREFIX286(_0fpre)(i8086_state *cpustate)
desc[2] = ReadWord(addr+4);
r = RIGHTS(desc);
if (SEGDESC(r) || (GATE(r) != TSSDESCIDLE)) throw TRAP(GENERAL_PROTECTION_FAULT,IDXTBL(sel));
- if (!PRES(r)) TRAP(SEG_NOT_PRESENT,IDXTBL(sel));
+ if (!PRES(r)) throw TRAP(SEG_NOT_PRESENT,IDXTBL(sel));
desc[2] |= 0x200; // mark busy
WriteWord(addr+4, desc[2]);
cpustate->tr.sel=sel;