Fixed the command-line (Node) version of PCjs

This commit is contained in:
Jeff Parsons 2014-12-29 16:26:54 -08:00 • committed by jeffpar
commit 24e3405331
5 changed files with 51 additions and 50 deletions

View file

@ -351,8 +351,8 @@ function genMode(d, w, mrm, sGroup, sRO) {
break; break;
case 4: case 4:
sRegGet = "this.regSP"; sRegGet = "this.regSP";
sRegBTLo = "X86CPU.BACKTRACK.SP_LO"; sRegBTLo = "X86.BACKTRACK.SP_LO";
sRegBTHi = "X86CPU.BACKTRACK.SP_HI"; sRegBTHi = "X86.BACKTRACK.SP_HI";
break; break;
case 5: case 5:
sRegGet = "this.regBP"; sRegGet = "this.regBP";
@ -616,8 +616,8 @@ function genMode(d, w, mrm, sGroup, sRO) {
break; break;
case 4: case 4:
sModRegGet = "this.regSP"; sModRegGet = "this.regSP";
sModRegBTLo = "X86CPU.BACKTRACK.SP_LO"; sModRegBTLo = "X86.BACKTRACK.SP_LO";
sModRegBTHi = "X86CPU.BACKTRACK.SP_HI"; sModRegBTHi = "X86.BACKTRACK.SP_HI";
break; break;
case 5: case 5:
sModRegGet = "this.regBP"; sModRegGet = "this.regBP";

View file

@ -131,6 +131,7 @@ if (typeof module !== 'undefined') {
global.EAFUNCS = EAFUNCS; global.EAFUNCS = EAFUNCS;
global.FATARRAYS = FATARRAYS; global.FATARRAYS = FATARRAYS;
global.TYPEDARRAYS = TYPEDARRAYS; global.TYPEDARRAYS = TYPEDARRAYS;
global.BACKTRACK = BACKTRACK;
global.SAMPLER = SAMPLER; global.SAMPLER = SAMPLER;
/* /*
* TODO: When we're "required" by Node, should we return anything via module.exports? * TODO: When we're "required" by Node, should we return anything via module.exports?

View file

@ -326,6 +326,13 @@ var X86 = {
} }
}; };
if (BACKTRACK) {
X86.BACKTRACK = {
SP_LO: 0,
SP_HI: 0
};
}
/* /*
* Some PS flags are stored directly in regPS, hence the "direct" designation. * Some PS flags are stored directly in regPS, hence the "direct" designation.
*/ */

View file

@ -429,13 +429,6 @@ X86CPU.PREFETCH = {
MASK: 0x7 // (X86CPU.PREFETCH.ARRAY - 1) MASK: 0x7 // (X86CPU.PREFETCH.ARRAY - 1)
}; };
if (BACKTRACK) {
X86CPU.BACKTRACK = {
SP_LO: 0,
SP_HI: 0
};
}
/** /**
* initMemory(aMemBlocks, addrLimit, blockShift, blockLimit, blockMask) * initMemory(aMemBlocks, addrLimit, blockShift, blockLimit, blockMask)
* *

View file

@ -2798,7 +2798,7 @@ var X86Mods = {
opModMemWord20: function(fn) { opModMemWord20: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex;
@ -2812,7 +2812,7 @@ var X86Mods = {
opModMemWord21: function(fn) { opModMemWord21: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra;
@ -2826,7 +2826,7 @@ var X86Mods = {
opModMemWord22: function(fn) { opModMemWord22: function(fn) {
var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra;
@ -2840,7 +2840,7 @@ var X86Mods = {
opModMemWord23: function(fn) { opModMemWord23: function(fn) {
var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex;
@ -2854,7 +2854,7 @@ var X86Mods = {
opModMemWord24: function(fn) { opModMemWord24: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, this.regSI), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, this.regSI), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBase; this.nStepCycles -= this.CYCLES.nEACyclesBase;
@ -2868,7 +2868,7 @@ var X86Mods = {
opModMemWord25: function(fn) { opModMemWord25: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, this.regDI), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, this.regDI), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBase; this.nStepCycles -= this.CYCLES.nEACyclesBase;
@ -2882,7 +2882,7 @@ var X86Mods = {
opModMemWord26: function(fn) { opModMemWord26: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesDisp; this.nStepCycles -= this.CYCLES.nEACyclesDisp;
@ -2896,7 +2896,7 @@ var X86Mods = {
opModMemWord27: function(fn) { opModMemWord27: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, this.regBX), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, this.regBX), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBase; this.nStepCycles -= this.CYCLES.nEACyclesBase;
@ -3694,7 +3694,7 @@ var X86Mods = {
opModMemWord60: function(fn) { opModMemWord60: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp;
@ -3708,7 +3708,7 @@ var X86Mods = {
opModMemWord61: function(fn) { opModMemWord61: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra;
@ -3722,7 +3722,7 @@ var X86Mods = {
opModMemWord62: function(fn) { opModMemWord62: function(fn) {
var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra;
@ -3736,7 +3736,7 @@ var X86Mods = {
opModMemWord63: function(fn) { opModMemWord63: function(fn) {
var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp;
@ -3750,7 +3750,7 @@ var X86Mods = {
opModMemWord64: function(fn) { opModMemWord64: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp;
@ -3764,7 +3764,7 @@ var X86Mods = {
opModMemWord65: function(fn) { opModMemWord65: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp;
@ -3778,7 +3778,7 @@ var X86Mods = {
opModMemWord66: function(fn) { opModMemWord66: function(fn) {
var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp;
@ -3792,7 +3792,7 @@ var X86Mods = {
opModMemWord67: function(fn) { opModMemWord67: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp;
@ -4590,7 +4590,7 @@ var X86Mods = {
opModMemWordA0: function(fn) { opModMemWordA0: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp;
@ -4604,7 +4604,7 @@ var X86Mods = {
opModMemWordA1: function(fn) { opModMemWordA1: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra;
@ -4618,7 +4618,7 @@ var X86Mods = {
opModMemWordA2: function(fn) { opModMemWordA2: function(fn) {
var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra;
@ -4632,7 +4632,7 @@ var X86Mods = {
opModMemWordA3: function(fn) { opModMemWordA3: function(fn) {
var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp;
@ -4646,7 +4646,7 @@ var X86Mods = {
opModMemWordA4: function(fn) { opModMemWordA4: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp;
@ -4660,7 +4660,7 @@ var X86Mods = {
opModMemWordA5: function(fn) { opModMemWordA5: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp;
@ -4674,7 +4674,7 @@ var X86Mods = {
opModMemWordA6: function(fn) { opModMemWordA6: function(fn) {
var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp;
@ -4688,7 +4688,7 @@ var X86Mods = {
opModMemWordA7: function(fn) { opModMemWordA7: function(fn) {
var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regSP); var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiMemLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiMemLo = X86.BACKTRACK.SP_LO; this.backTrack.btiMemHi = X86.BACKTRACK.SP_HI;
} }
this.setEAWord(w); this.setEAWord(w);
this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp;
@ -10507,7 +10507,7 @@ var X86Mods = {
opModRegWordC4: function(fn) { opModRegWordC4: function(fn) {
this.regAX = fn.call(this, this.regAX, this.regSP); this.regAX = fn.call(this, this.regAX, this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiAL = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiAH = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiAL = X86.BACKTRACK.SP_LO; this.backTrack.btiAH = X86.BACKTRACK.SP_HI;
} }
}, },
/** /**
@ -10600,7 +10600,7 @@ var X86Mods = {
opModRegWordCC: function(fn) { opModRegWordCC: function(fn) {
this.regCX = fn.call(this, this.regCX, this.regSP); this.regCX = fn.call(this, this.regCX, this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiCL = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiCH = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiCL = X86.BACKTRACK.SP_LO; this.backTrack.btiCH = X86.BACKTRACK.SP_HI;
} }
}, },
/** /**
@ -10693,7 +10693,7 @@ var X86Mods = {
opModRegWordD4: function(fn) { opModRegWordD4: function(fn) {
this.regDX = fn.call(this, this.regDX, this.regSP); this.regDX = fn.call(this, this.regDX, this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiDL = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiDH = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiDL = X86.BACKTRACK.SP_LO; this.backTrack.btiDH = X86.BACKTRACK.SP_HI;
} }
}, },
/** /**
@ -10786,7 +10786,7 @@ var X86Mods = {
opModRegWordDC: function(fn) { opModRegWordDC: function(fn) {
this.regBX = fn.call(this, this.regBX, this.regSP); this.regBX = fn.call(this, this.regBX, this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiBL = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiBH = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiBL = X86.BACKTRACK.SP_LO; this.backTrack.btiBH = X86.BACKTRACK.SP_HI;
} }
}, },
/** /**
@ -10954,7 +10954,7 @@ var X86Mods = {
opModRegWordEC: function(fn) { opModRegWordEC: function(fn) {
this.regBP = fn.call(this, this.regBP, this.regSP); this.regBP = fn.call(this, this.regBP, this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiBPLo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiBPHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiBPLo = X86.BACKTRACK.SP_LO; this.backTrack.btiBPHi = X86.BACKTRACK.SP_HI;
} }
}, },
/** /**
@ -11047,7 +11047,7 @@ var X86Mods = {
opModRegWordF4: function(fn) { opModRegWordF4: function(fn) {
this.regSI = fn.call(this, this.regSI, this.regSP); this.regSI = fn.call(this, this.regSI, this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiSILo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiSIHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiSILo = X86.BACKTRACK.SP_LO; this.backTrack.btiSIHi = X86.BACKTRACK.SP_HI;
} }
}, },
/** /**
@ -11140,7 +11140,7 @@ var X86Mods = {
opModRegWordFC: function(fn) { opModRegWordFC: function(fn) {
this.regDI = fn.call(this, this.regDI, this.regSP); this.regDI = fn.call(this, this.regDI, this.regSP);
if (BACKTRACK) { if (BACKTRACK) {
this.backTrack.btiDILo = X86CPU.BACKTRACK.SP_LO; this.backTrack.btiDIHi = X86CPU.BACKTRACK.SP_HI; this.backTrack.btiDILo = X86.BACKTRACK.SP_LO; this.backTrack.btiDIHi = X86.BACKTRACK.SP_HI;
} }
}, },
/** /**
@ -16614,7 +16614,7 @@ var X86Mods = {
opModGrpWordC4: function(afnGrp, fnSrc) { opModGrpWordC4: function(afnGrp, fnSrc) {
this.regSP = afnGrp[0].call(this, this.regSP, fnSrc.call(this)); this.regSP = afnGrp[0].call(this, this.regSP, fnSrc.call(this));
if (BACKTRACK) { if (BACKTRACK) {
X86CPU.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86CPU.BACKTRACK.SP_HI = this.backTrack.btiMemHi; X86.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86.BACKTRACK.SP_HI = this.backTrack.btiMemHi;
} }
}, },
/** /**
@ -16718,7 +16718,7 @@ var X86Mods = {
opModGrpWordCC: function(afnGrp, fnSrc) { opModGrpWordCC: function(afnGrp, fnSrc) {
this.regSP = afnGrp[1].call(this, this.regSP, fnSrc.call(this)); this.regSP = afnGrp[1].call(this, this.regSP, fnSrc.call(this));
if (BACKTRACK) { if (BACKTRACK) {
X86CPU.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86CPU.BACKTRACK.SP_HI = this.backTrack.btiMemHi; X86.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86.BACKTRACK.SP_HI = this.backTrack.btiMemHi;
} }
}, },
/** /**
@ -16822,7 +16822,7 @@ var X86Mods = {
opModGrpWordD4: function(afnGrp, fnSrc) { opModGrpWordD4: function(afnGrp, fnSrc) {
this.regSP = afnGrp[2].call(this, this.regSP, fnSrc.call(this)); this.regSP = afnGrp[2].call(this, this.regSP, fnSrc.call(this));
if (BACKTRACK) { if (BACKTRACK) {
X86CPU.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86CPU.BACKTRACK.SP_HI = this.backTrack.btiMemHi; X86.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86.BACKTRACK.SP_HI = this.backTrack.btiMemHi;
} }
}, },
/** /**
@ -16926,7 +16926,7 @@ var X86Mods = {
opModGrpWordDC: function(afnGrp, fnSrc) { opModGrpWordDC: function(afnGrp, fnSrc) {
this.regSP = afnGrp[3].call(this, this.regSP, fnSrc.call(this)); this.regSP = afnGrp[3].call(this, this.regSP, fnSrc.call(this));
if (BACKTRACK) { if (BACKTRACK) {
X86CPU.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86CPU.BACKTRACK.SP_HI = this.backTrack.btiMemHi; X86.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86.BACKTRACK.SP_HI = this.backTrack.btiMemHi;
} }
}, },
/** /**
@ -17030,7 +17030,7 @@ var X86Mods = {
opModGrpWordE4: function(afnGrp, fnSrc) { opModGrpWordE4: function(afnGrp, fnSrc) {
this.regSP = afnGrp[4].call(this, this.regSP, fnSrc.call(this)); this.regSP = afnGrp[4].call(this, this.regSP, fnSrc.call(this));
if (BACKTRACK) { if (BACKTRACK) {
X86CPU.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86CPU.BACKTRACK.SP_HI = this.backTrack.btiMemHi; X86.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86.BACKTRACK.SP_HI = this.backTrack.btiMemHi;
} }
}, },
/** /**
@ -17134,7 +17134,7 @@ var X86Mods = {
opModGrpWordEC: function(afnGrp, fnSrc) { opModGrpWordEC: function(afnGrp, fnSrc) {
this.regSP = afnGrp[5].call(this, this.regSP, fnSrc.call(this)); this.regSP = afnGrp[5].call(this, this.regSP, fnSrc.call(this));
if (BACKTRACK) { if (BACKTRACK) {
X86CPU.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86CPU.BACKTRACK.SP_HI = this.backTrack.btiMemHi; X86.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86.BACKTRACK.SP_HI = this.backTrack.btiMemHi;
} }
}, },
/** /**
@ -17238,7 +17238,7 @@ var X86Mods = {
opModGrpWordF4: function(afnGrp, fnSrc) { opModGrpWordF4: function(afnGrp, fnSrc) {
this.regSP = afnGrp[6].call(this, this.regSP, fnSrc.call(this)); this.regSP = afnGrp[6].call(this, this.regSP, fnSrc.call(this));
if (BACKTRACK) { if (BACKTRACK) {
X86CPU.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86CPU.BACKTRACK.SP_HI = this.backTrack.btiMemHi; X86.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86.BACKTRACK.SP_HI = this.backTrack.btiMemHi;
} }
}, },
/** /**
@ -17342,7 +17342,7 @@ var X86Mods = {
opModGrpWordFC: function(afnGrp, fnSrc) { opModGrpWordFC: function(afnGrp, fnSrc) {
this.regSP = afnGrp[7].call(this, this.regSP, fnSrc.call(this)); this.regSP = afnGrp[7].call(this, this.regSP, fnSrc.call(this));
if (BACKTRACK) { if (BACKTRACK) {
X86CPU.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86CPU.BACKTRACK.SP_HI = this.backTrack.btiMemHi; X86.BACKTRACK.SP_LO = this.backTrack.btiMemLo; X86.BACKTRACK.SP_HI = this.backTrack.btiMemHi;
} }
}, },
/** /**