diff options
author | Wilbert Pol <wilbert@jdg.info> | 2010-10-31 07:54:54 +0000 |
---|---|---|
committer | Wilbert Pol <wilbert@jdg.info> | 2010-10-31 07:54:54 +0000 |
commit | dd12c245a86bc39f983868b3187e747a10a0e79c (patch) | |
tree | fd77e6c52959a7c10a79270ab7d5f085adde2530 | |
parent | 66ccc4c8a4b5ab1496c777068754fe7684849a87 (diff) |
i80186/i80286: Fixed bound instruction restart when prefixed with a segment. [Wilbert Pol]
-rw-r--r-- | src/emu/cpu/i86/instr186.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/emu/cpu/i86/instr186.c b/src/emu/cpu/i86/instr186.c index d391bdce04f..52d76db52fd 100644 --- a/src/emu/cpu/i86/instr186.c +++ b/src/emu/cpu/i86/instr186.c @@ -49,7 +49,7 @@ static void PREFIX186(_bound)(i8086_state *cpustate) /* Opcode 0x62 */ int high= (INT16)GetnextRMWord; int tmp= (INT16)RegWord(ModRM); if (tmp<low || tmp>high) { - cpustate->pc-=2; + cpustate->pc-= ( cpustate->seg_prefix ? 3 : 2 ); PREFIX86(_interrupt)(cpustate, 5); } ICOUNT -= timing.bound; |