diff options
| author | 2010-10-31 07:54:54 +0000 | |
|---|---|---|
| committer | 2010-10-31 07:54:54 +0000 | |
| commit | dd12c245a86bc39f983868b3187e747a10a0e79c (patch) | |
| tree | fd77e6c52959a7c10a79270ab7d5f085adde2530 /src | |
| parent | 66ccc4c8a4b5ab1496c777068754fe7684849a87 (diff) | |
i80186/i80286: Fixed bound instruction restart when prefixed with a segment. [Wilbert Pol]
Diffstat (limited to 'src')
| -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; |
