If POP SS causes a fault then don't run the following instruction. Fixes Virtual Pool.
This commit is contained in:
parent
6ac7faf14f
commit
3597ae1873
1 changed files with 2 additions and 2 deletions
|
|
@ -441,7 +441,7 @@ static int opPOP_SS_w(uint32_t fetchdat)
|
|||
uint16_t temp_seg;
|
||||
uint32_t temp_esp = ESP;
|
||||
temp_seg = POP_W(); if (abrt) return 1;
|
||||
loadseg(temp_seg, &_ss); if (abrt) ESP = temp_esp;
|
||||
loadseg(temp_seg, &_ss); if (abrt) { ESP = temp_esp; return 1; }
|
||||
CLOCK_CYCLES(is486 ? 3 : 7);
|
||||
|
||||
oldpc = cpu_state.pc;
|
||||
|
|
@ -460,7 +460,7 @@ static int opPOP_SS_l(uint32_t fetchdat)
|
|||
uint32_t temp_seg;
|
||||
uint32_t temp_esp = ESP;
|
||||
temp_seg = POP_L(); if (abrt) return 1;
|
||||
loadseg(temp_seg & 0xffff, &_ss); if (abrt) ESP = temp_esp;
|
||||
loadseg(temp_seg & 0xffff, &_ss); if (abrt) { ESP = temp_esp; return 1; }
|
||||
CLOCK_CYCLES(is486 ? 3 : 7);
|
||||
|
||||
oldpc = cpu_state.pc;
|
||||
|
|
|
|||
Loading…
Reference in a new issue