Cleaned up segment zeroing rules and added Windows 95 debugger configuration

This commit is contained in:
Jeff Parsons 2016-03-21 14:36:38 -07:00
commit f94467168d
12 changed files with 2424 additions and 2320 deletions

View file

@ -805,6 +805,12 @@ X86Seg.prototype.loadDesc8 = function(addrDesc, sel, fProbe)
*/
if (rpl >= this.cpl) {
if (rpl > this.cpl) {
/*
* TODO: See if we can defer calling setSS() and setSP() until AFTER the final checks
* below, because if, for example, the new CS is not PRESENT, we must generate a fault,
* which in turn must restore the original stack, which means helpRETF() must snapshot
* the stack registers.
*/
regSP = cpu.popWord();
cpu.setSS(cpu.popWord(), true);
cpu.setSP(regSP);