diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/cpu/i86/instr286.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/emu/cpu/i86/instr286.c b/src/emu/cpu/i86/instr286.c index 7151735e246..a4b4b37be5f 100644 --- a/src/emu/cpu/i86/instr286.c +++ b/src/emu/cpu/i86/instr286.c @@ -788,10 +788,10 @@ static UINT16 i80286_far_return(i8086_state *cpustate, int iret, int bytes) cpustate->pc=(cpustate->base[CS]+off)&AMASK ; // docs say check rpl but windows doesn't like it - if (i80286_verify(cpustate, cpustate->sregs[DS], I80286_READ, cpustate->rights[DS]) && (DPL(cpustate->rights[DS]) < CPL)) + if (i80286_verify(cpustate, cpustate->sregs[DS], I80286_READ, cpustate->rights[DS]) || (DPL(cpustate->rights[DS]) < CPL)) i80286_data_descriptor(cpustate, DS, 0); - if (i80286_verify(cpustate, cpustate->sregs[ES], I80286_READ, cpustate->rights[ES]) && (DPL(cpustate->rights[ES]) < CPL)) + if (i80286_verify(cpustate, cpustate->sregs[ES], I80286_READ, cpustate->rights[ES]) || (DPL(cpustate->rights[ES]) < CPL)) i80286_data_descriptor(cpustate, ES, 0); } else { cpustate->regs.w[SP] += (iret?6:4) + bytes; |
