Eliminated WebStorm 11 confusion between BACKTRACK global variable and BACKTRACK global properties

This commit is contained in:
Jeff Parsons 2015-11-02 12:19:28 -08:00
commit d76693f440
9 changed files with 174 additions and 166 deletions

View file

@ -47,6 +47,8 @@
"X86Op0F": true,
"X86ModB": true,
"X86ModW": true,
"X86ModB16": true,
"X86ModW16": true,
"X86ModB32": true,
"X86ModW32": true,
"X86ModSIB": true,

View file

@ -234,7 +234,7 @@ if (BACKTRACK) {
*
* Bit 9 is reserved for now.
*/
Bus.BACKTRACK = {
Bus.BTINFO = {
SLOT_MAX: 32768,
SLOT_SHIFT: 16,
TYPE_DATA: 0x8000,
@ -962,7 +962,7 @@ Bus.prototype.addBackTrackObject = function(obj, bto, off)
*/
if (this.ibtLastAlloc >= 0) bto = this.abtObjects[this.ibtLastAlloc];
}
if (!bto || bto.obj != obj || off < bto.off || off >= bto.off + Bus.BACKTRACK.OFF_MAX) {
if (!bto || bto.obj != obj || off < bto.off || off >= bto.off + Bus.BTINFO.OFF_MAX) {
bto = {obj: obj, off: off, slot: 0, refs: 0};
@ -972,7 +972,7 @@ Bus.prototype.addBackTrackObject = function(obj, bto, off)
} else {
for (slot = this.ibtLastDelete; slot < cbtObjects; slot++) {
var btoTest = this.abtObjects[slot];
if (!btoTest || !btoTest.refs && !this.isBackTrackWeak(slot << Bus.BACKTRACK.SLOT_SHIFT)) {
if (!btoTest || !btoTest.refs && !this.isBackTrackWeak(slot << Bus.BTINFO.SLOT_SHIFT)) {
this.ibtLastDelete = slot + 1;
this.cbtDeletions--;
break;
@ -1004,7 +1004,7 @@ Bus.prototype.addBackTrackObject = function(obj, bto, off)
* TODO: Investigate. For now, BACKTRACK is completely disabled (in part because it also needs
* to be revamped for machines with paging enabled).
*/
this.assert(slot < Bus.BACKTRACK.SLOT_MAX);
this.assert(slot < Bus.BTINFO.SLOT_MAX);
this.ibtLastAlloc = slot;
bto.slot = slot + 1;
if (slot == cbtObjects) {
@ -1030,7 +1030,7 @@ Bus.prototype.getBackTrackIndex = function(bto, off)
{
var bti = 0;
if (BACKTRACK && bto) {
bti = (bto.slot << Bus.BACKTRACK.SLOT_SHIFT) | Bus.BACKTRACK.TYPE_DATA | (off - bto.off);
bti = (bto.slot << Bus.BTINFO.SLOT_SHIFT) | Bus.BTINFO.TYPE_DATA | (off - bto.off);
}
return bti;
};
@ -1046,8 +1046,8 @@ Bus.prototype.getBackTrackIndex = function(bto, off)
Bus.prototype.writeBackTrackObject = function(addr, bto, off)
{
if (BACKTRACK && bto) {
this.assert(off - bto.off >= 0 && off - bto.off < Bus.BACKTRACK.OFF_MAX);
var bti = (bto.slot << Bus.BACKTRACK.SLOT_SHIFT) | Bus.BACKTRACK.TYPE_DATA | (off - bto.off);
this.assert(off - bto.off >= 0 && off - bto.off < Bus.BTINFO.OFF_MAX);
var bti = (bto.slot << Bus.BTINFO.SLOT_SHIFT) | Bus.BTINFO.TYPE_DATA | (off - bto.off);
this.writeBackTrack(addr, bti);
}
};
@ -1077,10 +1077,10 @@ Bus.prototype.readBackTrack = function(addr)
Bus.prototype.writeBackTrack = function(addr, bti)
{
if (BACKTRACK) {
var slot = bti >>> Bus.BACKTRACK.SLOT_SHIFT;
var slot = bti >>> Bus.BTINFO.SLOT_SHIFT;
var iBlock = (addr & this.nBusMask) >>> this.nBlockShift;
var btiPrev = this.aMemBlocks[iBlock].writeBackTrack(addr & this.nBlockLimit, bti);
var slotPrev = btiPrev >>> Bus.BACKTRACK.SLOT_SHIFT;
var slotPrev = btiPrev >>> Bus.BTINFO.SLOT_SHIFT;
if (slot != slotPrev) {
this.aMemBlocks[iBlock].modBackTrack(true);
if (btiPrev && slotPrev) {
@ -1145,21 +1145,21 @@ Bus.prototype.writeBackTrack = function(addr, bti)
Bus.prototype.isBackTrackWeak = function(bti)
{
var bt = this.cpu.backTrack;
var slot = bti >> Bus.BACKTRACK.SLOT_SHIFT;
return (bt.btiAL >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiAH >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiBL >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiBH >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiCL >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiCH >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiDL >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiDH >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiBPLo >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiBPHi >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiSILo >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiSIHi >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiDILo >> Bus.BACKTRACK.SLOT_SHIFT == slot ||
bt.btiDIHi >> Bus.BACKTRACK.SLOT_SHIFT == slot
var slot = bti >> Bus.BTINFO.SLOT_SHIFT;
return (bt.btiAL >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiAH >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiBL >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiBH >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiCL >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiCH >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiDL >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiDH >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiBPLo >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiBPHi >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiSILo >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiSIHi >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiDILo >> Bus.BTINFO.SLOT_SHIFT == slot ||
bt.btiDIHi >> Bus.BTINFO.SLOT_SHIFT == slot
);
};
@ -1173,10 +1173,10 @@ Bus.prototype.isBackTrackWeak = function(bti)
Bus.prototype.updateBackTrackCode = function(addr, bti)
{
if (BACKTRACK) {
if (bti & Bus.BACKTRACK.TYPE_DATA) {
bti = (bti & ~Bus.BACKTRACK.TYPE_MASK) | Bus.BACKTRACK.TYPE_COUNT_INC;
} else if ((bti & Bus.BACKTRACK.TYPE_MASK) < Bus.BACKTRACK.TYPE_COUNT_MAX) {
bti += Bus.BACKTRACK.TYPE_COUNT_INC;
if (bti & Bus.BTINFO.TYPE_DATA) {
bti = (bti & ~Bus.BTINFO.TYPE_MASK) | Bus.BTINFO.TYPE_COUNT_INC;
} else if ((bti & Bus.BTINFO.TYPE_MASK) < Bus.BTINFO.TYPE_COUNT_MAX) {
bti += Bus.BTINFO.TYPE_COUNT_INC;
} else {
return;
}
@ -1194,7 +1194,7 @@ Bus.prototype.updateBackTrackCode = function(addr, bti)
Bus.prototype.getBackTrackObject = function(bti)
{
if (BACKTRACK) {
var slot = bti >>> Bus.BACKTRACK.SLOT_SHIFT;
var slot = bti >>> Bus.BTINFO.SLOT_SHIFT;
if (slot) return this.abtObjects[slot-1];
}
return null;
@ -1226,7 +1226,7 @@ Bus.prototype.getBackTrackInfo = function(bti, fSymbol, fNearest)
if (BACKTRACK) {
var bto = this.getBackTrackObject(bti);
if (bto) {
var off = bti & Bus.BACKTRACK.OFF_MASK;
var off = bti & Bus.BTINFO.OFF_MASK;
var file = bto.obj.file;
if (file) {
this.assert(!bto.off);

View file

@ -59,6 +59,8 @@ if (DEBUGGER) {
* type one of the Debugger.ADDRTYPE values
* fData32 true if 32-bit operand size in effect
* fAddr32 true if 32-bit address size in effect
* fData32Orig original fData32 value, if any
* fAddr32Orig original fAddr32 value, if any
* cOverrides non-zero if any overrides were processed with this address
* fComplete true if a complete instruction was processed with this address
* fTempBreak true if this is a temporary breakpoint address
@ -72,6 +74,8 @@ if (DEBUGGER) {
* type:(number|undefined),
* fData32:(boolean|undefined),
* fAddr32:(boolean|undefined),
* fData32Orig:(boolean|undefined),
* fAddr32Orig:(boolean|undefined),
* cOverrides:(number|undefined),
* fComplete:(boolean|undefined),
* fTempBreak:(boolean|undefined),
@ -1416,7 +1420,7 @@ if (DEBUGGER) {
* 0x1 data selector
* DX:EBX -> D386_Device_Params structure (see addSectionInfo() for details)
*/
this.addSectionInfo(this.newAddr(cpu.regEBX, DX), !SI, this.fWinDbg);
this.addSectionInfo(this.newAddr(cpu.regEBX, DX), !SI, !!this.fWinDbg);
break;
}
}
@ -1491,7 +1495,7 @@ if (DEBUGGER) {
break;
case Interrupts.WINDBG.LOADSEG: // 0x0050
this.addSegmentInfo(this.newAddr(DI, ES), BX+1, CX, !(SI & 0x1), this.fWinDbg);
this.addSegmentInfo(this.newAddr(DI, ES), BX+1, CX, !(SI & 0x1), !!this.fWinDbg);
break;
case Interrupts.WINDBG.FREESEG: // 0x0052
@ -1580,7 +1584,7 @@ if (DEBUGGER) {
* 0x1 data selector
* DX:EBX -> D386_Device_Params structure (see addSectionInfo() for details)
*/
this.addSectionInfo(this.newAddr(cpu.regEBX, DX), !SI, this.fWinDbg);
this.addSectionInfo(this.newAddr(cpu.regEBX, DX), !SI, !!this.fWinDbg);
break;
case Interrupts.WINDBG.FREESEG32: // 0x0152
@ -1715,7 +1719,7 @@ if (DEBUGGER) {
* CX == paragraph
* ES:DI -> module name
*/
this.addSegmentInfo(this.newAddr(DI, ES), 0, CX, true, this.fWinDbgRM);
this.addSegmentInfo(this.newAddr(DI, ES), 0, CX, true, !!this.fWinDbgRM);
}
else if (AL < 0x80) {
/*
@ -1731,7 +1735,7 @@ if (DEBUGGER) {
* DX == actual selector (if 0x40 or 0x41)
* ES:DI -> module name
*/
this.addSegmentInfo(this.newAddr(DI, ES), BX+1, (AL & 0x40)? DX : CX, !(AL & 0x1), this.fWinDbgRM);
this.addSegmentInfo(this.newAddr(DI, ES), BX+1, (AL & 0x40)? DX : CX, !(AL & 0x1), !!this.fWinDbgRM);
}
else {
/*
@ -1740,7 +1744,7 @@ if (DEBUGGER) {
* 0x81 device driver data seg
* ES:DI -> D386_Device_Params structure (see addSectionInfo() for details)
*/
this.addSectionInfo(this.newAddr(DI, ES), !(AL & 0x1), this.fWinDbgRM);
this.addSectionInfo(this.newAddr(DI, ES), !(AL & 0x1), !!this.fWinDbgRM);
}
if (this.fWinDbgRM) {
cpu.regEAX = (cpu.regEAX & ~0xff) | 0x01;
@ -5281,12 +5285,12 @@ if (DEBUGGER) {
Debugger.prototype.parseReference = function(sValue)
{
var a;
while (a = sValue.match(/\{(.*?)\}/)) {
while (a = sValue.match(/\{(.*?)}/)) {
if (a[1].indexOf('{') >= 0) break; // unsupported nested brace(s)
var value = this.parseExpression(a[1]);
sValue = sValue.replace('{' + a[1] + '}', value != null? str.toHex(value) : "undefined");
}
while (a = sValue.match(/\[(.*?)\]/)) {
while (a = sValue.match(/\[(.*?)]/)) {
if (a[1].indexOf('[') >= 0) break; // unsupported nested bracket(s)
var dbgAddr = this.parseAddr(a[1]);
sValue = sValue.replace('[' + a[1] + ']', dbgAddr? str.toHex(this.getWord(dbgAddr), dbgAddr.fData32? 8 : 4) : "undefined");

View file

@ -1960,7 +1960,9 @@ FDC.prototype.doCmd = function()
break;
}
if (this.regDataTotal > 0) this.regStatus |= (FDC.REG_STATUS.READ_DATA | FDC.REG_STATUS.BUSY);
if (this.regDataTotal > 0) {
this.regStatus |= (FDC.REG_STATUS.READ_DATA | FDC.REG_STATUS.BUSY);
}
/*
* After the Execution Phase (eg, DMA Terminal Count has occurred, or the EOT sector has been read/written),
@ -2035,7 +2037,7 @@ FDC.prototype.popCmd = function(name)
if (DEBUG && this.messageEnabled(Messages.PORT | Messages.FDC)) {
var bCmdMasked = bCmd & FDC.REG_DATA.CMD.MASK;
if (!name && !this.regDataIndex && FDC.aCmdInfo[bCmdMasked]) name = FDC.aCmdInfo[bCmdMasked].name;
this.printMessage("FDC.CMD[" + (name || this.regDataIndex) + "]: " + str.toHexByte(bCmd), true);
this.printMessage(this.id + ".popCmd(" + (name || this.regDataIndex) + "): " + str.toHexByte(bCmd), true);
}
this.regDataIndex++;
return bCmd;
@ -2087,7 +2089,7 @@ FDC.prototype.beginResult = function()
FDC.prototype.pushResult = function(bResult, name)
{
if (DEBUG && this.messageEnabled(Messages.PORT | Messages.FDC)) {
this.printMessage("FDC.RES[" + (name || this.regDataTotal) + "]: " + str.toHexByte(bResult), true);
this.printMessage(this.id + ".pushResult(" + (name || this.regDataTotal) + "): " + str.toHexByte(bResult), true);
}
this.assert(!(bResult & ~0xff));
this.regDataArray[this.regDataTotal++] = bResult;
@ -2154,7 +2156,7 @@ FDC.prototype.dmaRead = function(drive, b, done)
/*
* The DMA controller should be ASKING for data, not GIVING us data; this suggests an internal DMA miscommunication
*/
if (DEBUG) this.printMessage("dmaRead(): invalid DMA acknowledgement");
if (DEBUG) this.printMessage(this.id + ".dmaRead(): invalid DMA acknowledgement");
done(-1, false);
};
@ -2173,7 +2175,7 @@ FDC.prototype.dmaWrite = function(drive, b)
/*
* The DMA controller should be GIVING us data, not ASKING for data; this suggests an internal DMA miscommunication
*/
if (DEBUG) this.printMessage("dmaWrite(): invalid DMA acknowledgement");
if (DEBUG) this.printMessage(this.id + ".dmaWrite(): invalid DMA acknowledgement");
return -1;
};
@ -2192,7 +2194,7 @@ FDC.prototype.dmaFormat = function(drive, b)
/*
* The DMA controller should be GIVING us data, not ASKING for data; this suggests an internal DMA miscommunication
*/
if (DEBUG) this.printMessage("dmaFormat(): invalid DMA acknowledgement");
if (DEBUG) this.printMessage(this.id + ".dmaFormat(): invalid DMA acknowledgement");
return -1;
};
@ -2213,7 +2215,7 @@ FDC.prototype.doRead = function(drive)
if (drive.disk) {
if (DEBUG && this.messageEnabled()) {
this.printMessage("FDC.doRead(CHS=" + drive.bCylinder + ':' + drive.bHead + ':' + drive.bSector + ",PBA=" + (drive.bCylinder * (drive.disk.nHeads * drive.disk.nSectors) + drive.bHead * drive.disk.nSectors + drive.bSector-1) + ')');
this.printMessage(this.id + ".doRead(CHS=" + drive.bCylinder + ':' + drive.bHead + ':' + drive.bSector + ",PBA=" + (drive.bCylinder * (drive.disk.nHeads * drive.disk.nSectors) + drive.bHead * drive.disk.nSectors + drive.bSector-1) + ')');
}
drive.sector = null;
drive.resCode = FDC.REG_DATA.RES.NONE;
@ -2236,7 +2238,7 @@ FDC.prototype.doWrite = function(drive)
if (drive.disk) {
if (DEBUG && this.messageEnabled()) {
this.printMessage("FDC.doWrite(CHS=" + drive.bCylinder + ':' + drive.bHead + ':' + drive.bSector + ",PBA=" + (drive.bCylinder * (drive.disk.nHeads * drive.disk.nSectors) + drive.bHead * drive.disk.nSectors + drive.bSector-1) + ')');
this.printMessage(this.id + ".doWrite(CHS=" + drive.bCylinder + ':' + drive.bHead + ':' + drive.bSector + ",PBA=" + (drive.bCylinder * (drive.disk.nHeads * drive.disk.nSectors) + drive.bHead * drive.disk.nSectors + drive.bSector-1) + ')');
}
if (drive.disk.fWriteProtected) {
drive.resCode = FDC.REG_DATA.RES.NOT_WRITABLE | FDC.REG_DATA.RES.INCOMPLETE;
@ -2439,7 +2441,7 @@ FDC.prototype.writeFormat = function(drive, b)
drive.nBytes = 128 << drive.abFormat[3];// N (0 => 128, 1 => 256, 2 => 512, 3 => 1024)
drive.cbFormat = 0;
if (DEBUG && this.messageEnabled()) {
this.printMessage("writeFormat(head=" + str.toHexByte(drive.bHead) + ",cyl=" + str.toHexByte(drive.bCylinder) + ",sec=" + str.toHexByte(drive.bSector) + ",len=" + str.toHexWord(drive.nBytes) + ")");
this.printMessage(this.id + ".writeFormat(head=" + str.toHexByte(drive.bHead) + ",cyl=" + str.toHexByte(drive.bCylinder) + ",sec=" + str.toHexByte(drive.bSector) + ",len=" + str.toHexWord(drive.nBytes) + ")");
}
for (var i = 0; i < drive.nBytes; i++) {
if (this.writeData(drive, drive.bFiller) < 0) {

View file

@ -1459,7 +1459,7 @@ HDC.prototype.inATCByte = function(port, addrFrom)
*/
hdc.regStatus = HDC.ATC.STATUS.ERROR;
hdc.regError = HDC.ATC.ERROR.NO_CHS;
if (DEBUG) hdc.printMessage("HDC.inATCByte(): read failed");
if (DEBUG) hdc.printMessage(this.id + ".inATCByte(): read failed");
}
}, false);
} else {
@ -1507,7 +1507,7 @@ HDC.prototype.outATCByte = function(port, bOut, addrFrom)
this.regStatus = HDC.ATC.STATUS.ERROR;
this.regError = HDC.ATC.ERROR.NO_CHS;
if (DEBUG && this.messageEnabled()) {
this.printMessage("HDC.outATCByte(" + str.toHexByte(bOut) + "): write failed");
this.printMessage(this.id + ".outATCByte(" + str.toHexByte(bOut) + "): write failed");
}
}
else if (this.drive.ibSector == 1 || this.drive.ibSector == this.drive.cbSector) {
@ -1539,7 +1539,7 @@ HDC.prototype.outATCByte = function(port, bOut, addrFrom)
* TODO: What to do about unexpected writes? The number of bytes has exceeded what the command specified.
*/
if (DEBUG && this.messageEnabled()) {
this.printMessage("HDC.outATCByte(" + str.toHexByte(bOut) + "): write exceeds count (" + this.drive.nBytes + ")");
this.printMessage(this.id + ".outATCByte(" + str.toHexByte(bOut) + "): write exceeds count (" + this.drive.nBytes + ")");
}
}
} else {
@ -1547,7 +1547,7 @@ HDC.prototype.outATCByte = function(port, bOut, addrFrom)
* TODO: What to do about unexpected writes? No command was specified.
*/
if (DEBUG && this.messageEnabled()) {
this.printMessage("HDC.outATCByte(" + str.toHexByte(bOut) + "): write without command");
this.printMessage(this.id + ".outATCByte(" + str.toHexByte(bOut) + "): write without command");
}
}
};
@ -1890,7 +1890,7 @@ HDC.prototype.doATC = function()
}
if (DEBUG && this.messageEnabled(Messages.HDC)) {
this.printMessage("HDC.doATC(" + str.toHexByte(bCmd) + "): " + HDC.aATCCommands[bCmd], true);
this.printMessage(this.id + ".doATC(" + str.toHexByte(bCmd) + "): " + HDC.aATCCommands[bCmd], true);
}
switch (bCmd & HDC.ATC.COMMAND.MASK) {
@ -1904,7 +1904,7 @@ HDC.prototype.doATC = function()
case HDC.ATC.COMMAND.READ_DATA: // 0x20
if (DEBUG && this.messageEnabled(Messages.HDC)) {
this.printMessage("HDC.doRead(" + iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + nSectors + ")", true);
this.printMessage(this.id + ".doRead(" + iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + nSectors + ")", true);
}
/*
* We're using a call to readData() that disables auto-increment, so that once we've got the first
@ -1936,7 +1936,7 @@ HDC.prototype.doATC = function()
case HDC.ATC.COMMAND.WRITE_DATA: // 0x30
if (DEBUG && this.messageEnabled(Messages.HDC)) {
this.printMessage("HDC.doWrite(" + iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + nSectors + ")", true);
this.printMessage(this.id + ".doWrite(" + iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + nSectors + ")", true);
}
this.regStatus = HDC.ATC.STATUS.DATA_REQ;
break;
@ -1987,7 +1987,7 @@ HDC.prototype.doATC = function()
default:
if (DEBUG && this.messageEnabled()) {
this.printMessage("HDC.doATC(" + str.toHexByte(this.regCommand) + "): " + (bCmd < 0? ("invalid drive (" + iDrive + ")") : "unsupported operation"));
this.printMessage(this.id + ".doATC(" + str.toHexByte(this.regCommand) + "): " + (bCmd < 0? ("invalid drive (" + iDrive + ")") : "unsupported operation"));
if (MAXDEBUG && bCmd >= 0) this.dbg.stopCPU();
}
break;
@ -2031,9 +2031,9 @@ HDC.prototype.setATCIRR = function(fWrite)
* has a low tolerance for fast controller interrupts during multi-sector operations.
*/
this.chipset.setIRR(ChipSet.IRQ.ATC, 120);
if (DEBUG) this.printMessage("HDC.setATCIRR(): enabled", Messages.PIC | Messages.HDC);
if (DEBUG) this.printMessage(this.id + ".setATCIRR(): enabled", Messages.PIC | Messages.HDC);
} else {
if (DEBUG) this.printMessage("HDC.setATCIRR(): disabled", Messages.PIC | Messages.HDC);
if (DEBUG) this.printMessage(this.id + ".setATCIRR(): disabled", Messages.PIC | Messages.HDC);
}
}
};
@ -2115,7 +2115,7 @@ HDC.prototype.doXTC = function()
bDataStatus = HDC.XTC.DATA.STATUS.OK;
if (!drive && this.iDriveAllowFail == iDrive) {
this.iDriveAllowFail = -1;
if (DEBUG) this.printMessage("HDC.doXTC(): fake failure triggered");
if (DEBUG) this.printMessage(this.id + ".doXTC(): fake failure triggered");
bDataStatus = HDC.XTC.DATA.STATUS.ERROR;
}
this.beginResult(bDataStatus | bDrive);
@ -2152,7 +2152,7 @@ HDC.prototype.doXTC = function()
case HDC.XTC.DATA.CMD.RECALIBRATE: // 0x01
drive.bControl = bControl;
if (DEBUG && this.messageEnabled()) {
this.printMessage("HDC.doXTC(): drive " + iDrive + " control byte: " + str.toHexByte(bControl));
this.printMessage(this.id + ".doXTC(): drive " + iDrive + " control byte: " + str.toHexByte(bControl));
}
this.beginResult(HDC.XTC.DATA.STATUS.OK | bDrive);
break;
@ -2190,7 +2190,7 @@ HDC.prototype.doXTC = function()
default:
this.beginResult(HDC.XTC.DATA.STATUS.ERROR | bDrive);
if (DEBUG && this.messageEnabled()) {
this.printMessage("HDC.doXTC(" + str.toHexByte(bCmdOrig) + "): " + (bCmd < 0? ("invalid drive (" + iDrive + ")") : "unsupported operation"));
this.printMessage(this.id + ".doXTC(" + str.toHexByte(bCmdOrig) + "): " + (bCmd < 0? ("invalid drive (" + iDrive + ")") : "unsupported operation"));
if (MAXDEBUG && bCmd >= 0) this.dbg.stopCPU();
}
break;
@ -2211,7 +2211,7 @@ HDC.prototype.popCmd = function()
if (bCmdIndex < this.regDataTotal) {
bCmd = this.regDataArray[this.regDataIndex++];
if (DEBUG && this.messageEnabled((bCmdIndex > 0? Messages.PORT : 0) | Messages.HDC)) {
this.printMessage("HDC.CMD[" + bCmdIndex + "]: " + str.toHexByte(bCmd) + (!bCmdIndex && HDC.aXTCCommands[bCmd]? (" (" + HDC.aXTCCommands[bCmd] + ")") : ""), true);
this.printMessage(this.id + ".popCmd(" + bCmdIndex + "): " + str.toHexByte(bCmd) + (!bCmdIndex && HDC.aXTCCommands[bCmd]? (" (" + HDC.aXTCCommands[bCmd] + ")") : ""), true);
}
}
return bCmd;
@ -2229,7 +2229,7 @@ HDC.prototype.beginResult = function(bResult)
if (bResult !== undefined) {
if (DEBUG && this.messageEnabled()) {
this.printMessage("HDC.beginResult(" + str.toHexByte(bResult) + ")");
this.printMessage(this.id + ".beginResult(" + str.toHexByte(bResult) + ")");
}
this.pushResult(bResult);
}
@ -2251,7 +2251,7 @@ HDC.prototype.beginResult = function(bResult)
HDC.prototype.pushResult = function(bResult)
{
if (DEBUG && this.messageEnabled((this.regDataTotal > 0? Messages.PORT : 0) | Messages.HDC)) {
this.printMessage("HDC.RES[" + this.regDataTotal + "]: " + str.toHexByte(bResult), true);
this.printMessage(this.id + ".pushResult(" + this.regDataTotal + "): " + str.toHexByte(bResult), true);
}
this.regDataArray[this.regDataTotal++] = bResult;
};
@ -2273,7 +2273,7 @@ HDC.prototype.dmaRead = function(drive, b, done)
/*
* The DMA controller should be ASKING for data, not GIVING us data; this suggests an internal DMA miscommunication
*/
if (DEBUG) this.printMessage("dmaRead(): invalid DMA acknowledgement");
if (DEBUG) this.printMessage(this.id + ".dmaRead(): invalid DMA acknowledgement");
done(-1, false);
};
@ -2292,7 +2292,7 @@ HDC.prototype.dmaWrite = function(drive, b)
/*
* The DMA controller should be GIVING us data, not ASKING for data; this suggests an internal DMA miscommunication
*/
if (DEBUG) this.printMessage("dmaWrite(): invalid DMA acknowledgement");
if (DEBUG) this.printMessage(this.id + ".dmaWrite(): invalid DMA acknowledgement");
return -1;
};
@ -2311,7 +2311,7 @@ HDC.prototype.dmaWriteBuffer = function(drive, b)
/*
* The DMA controller should be GIVING us data, not ASKING for data; this suggests an internal DMA miscommunication
*/
if (DEBUG) this.printMessage("dmaWriteBuffer(): invalid DMA acknowledgement");
if (DEBUG) this.printMessage(this.id + ".dmaWriteBuffer(): invalid DMA acknowledgement");
return -1;
};
@ -2330,7 +2330,7 @@ HDC.prototype.dmaWriteFormat = function(drive, b)
/*
* The DMA controller should be GIVING us data, not ASKING for data; this suggests an internal DMA miscommunication
*/
if (DEBUG) this.printMessage("dmaWriteFormat(): invalid DMA acknowledgement");
if (DEBUG) this.printMessage(this.id + ".dmaWriteFormat(): invalid DMA acknowledgement");
return -1;
};
@ -2346,7 +2346,7 @@ HDC.prototype.doDMARead = function(drive, done)
drive.errorCode = HDC.XTC.DATA.ERR.NOT_READY;
if (DEBUG && this.messageEnabled()) {
this.printMessage("HDC.doDMARead(" + drive.iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + ((drive.nBytes / drive.cbSector)|0) + ")");
this.printMessage(this.id + ".doDMARead(" + drive.iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + ((drive.nBytes / drive.cbSector)|0) + ")");
}
if (drive.disk) {
@ -2390,7 +2390,7 @@ HDC.prototype.doDMAWrite = function(drive, done)
drive.errorCode = HDC.XTC.DATA.ERR.NOT_READY;
if (DEBUG && this.messageEnabled()) {
this.printMessage("HDC.doDMAWrite(" + drive.iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + ((drive.nBytes / drive.cbSector)|0) + ")");
this.printMessage(this.id + ".doDMAWrite(" + drive.iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + ((drive.nBytes / drive.cbSector)|0) + ")");
}
if (drive.disk) {
@ -2440,7 +2440,7 @@ HDC.prototype.doDMAWriteBuffer = function(drive, done)
{
drive.errorCode = HDC.XTC.DATA.ERR.NOT_READY;
if (DEBUG) this.printMessage("HDC.doDMAWriteBuffer()");
if (DEBUG) this.printMessage(this.id + ".doDMAWriteBuffer()");
if (!drive.abSector || drive.abSector.length != drive.nBytes) {
drive.abSector = new Array(drive.nBytes);
@ -2743,7 +2743,7 @@ HDC.prototype.writeFormat = function(drive, b)
drive.cbFormat = 0;
if (DEBUG && this.messageEnabled()) {
this.printMessage("HDC.writeFormat(" + drive.wCylinder + ":" + drive.bHead + ":" + drive.bSector + ":" + drive.nBytes + ")");
this.printMessage(this.id + ".writeFormat(" + drive.wCylinder + ":" + drive.bHead + ":" + drive.bSector + ":" + drive.nBytes + ")");
}
for (var i = 0; i < drive.nBytes; i++) {
@ -2828,7 +2828,7 @@ HDC.prototype.intBIOSDiskette = function(addr)
{
var AH = this.cpu.regEAX >> 8;
if ((!AH && this.chipset && this.chipset.checkIMR(ChipSet.IRQ.FDC))) {
if (DEBUG) this.printMessage("HDC.intBIOSDiskette(): skipping useless INT 0x40 diskette reset");
if (DEBUG) this.printMessage(this.id + ".intBIOSDiskette(): skipping useless INT 0x40 diskette reset");
return false;
}
return true;

View file

@ -758,7 +758,7 @@ var X86 = {
/*
* BACKTRACK-related definitions (used only if BACKTRACK is defined)
*/
X86.BACKTRACK = {
X86.BTINFO = {
SP_LO: 0,
SP_HI: 0
};

View file

@ -2517,7 +2517,7 @@ X86ModW.aOpModReg = [
function opModRegWordC4(fn) {
this.regEAX = fn.call(this, this.regEAX, this.getSP());
if (BACKTRACK) {
this.backTrack.btiAL = X86.BACKTRACK.SP_LO; this.backTrack.btiAH = X86.BACKTRACK.SP_HI;
this.backTrack.btiAL = X86.BTINFO.SP_LO; this.backTrack.btiAH = X86.BTINFO.SP_HI;
}
},
/**
@ -2610,7 +2610,7 @@ X86ModW.aOpModReg = [
function opModRegWordCC(fn) {
this.regECX = fn.call(this, this.regECX, this.getSP());
if (BACKTRACK) {
this.backTrack.btiCL = X86.BACKTRACK.SP_LO; this.backTrack.btiCH = X86.BACKTRACK.SP_HI;
this.backTrack.btiCL = X86.BTINFO.SP_LO; this.backTrack.btiCH = X86.BTINFO.SP_HI;
}
},
/**
@ -2703,7 +2703,7 @@ X86ModW.aOpModReg = [
function opModRegWordD4(fn) {
this.regEDX = fn.call(this, this.regEDX, this.getSP());
if (BACKTRACK) {
this.backTrack.btiDL = X86.BACKTRACK.SP_LO; this.backTrack.btiDH = X86.BACKTRACK.SP_HI;
this.backTrack.btiDL = X86.BTINFO.SP_LO; this.backTrack.btiDH = X86.BTINFO.SP_HI;
}
},
/**
@ -2796,7 +2796,7 @@ X86ModW.aOpModReg = [
function opModRegWordDC(fn) {
this.regEBX = fn.call(this, this.regEBX, this.getSP());
if (BACKTRACK) {
this.backTrack.btiBL = X86.BACKTRACK.SP_LO; this.backTrack.btiBH = X86.BACKTRACK.SP_HI;
this.backTrack.btiBL = X86.BTINFO.SP_LO; this.backTrack.btiBH = X86.BTINFO.SP_HI;
}
},
/**
@ -2964,7 +2964,7 @@ X86ModW.aOpModReg = [
function opModRegWordEC(fn) {
this.regEBP = fn.call(this, this.regEBP, this.getSP());
if (BACKTRACK) {
this.backTrack.btiBPLo = X86.BACKTRACK.SP_LO; this.backTrack.btiBPHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiBPLo = X86.BTINFO.SP_LO; this.backTrack.btiBPHi = X86.BTINFO.SP_HI;
}
},
/**
@ -3057,7 +3057,7 @@ X86ModW.aOpModReg = [
function opModRegWordF4(fn) {
this.regESI = fn.call(this, this.regESI, this.getSP());
if (BACKTRACK) {
this.backTrack.btiSILo = X86.BACKTRACK.SP_LO; this.backTrack.btiSIHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiSILo = X86.BTINFO.SP_LO; this.backTrack.btiSIHi = X86.BTINFO.SP_HI;
}
},
/**
@ -3150,7 +3150,7 @@ X86ModW.aOpModReg = [
function opModRegWordFC(fn) {
this.regEDI = fn.call(this, this.regEDI, this.getSP());
if (BACKTRACK) {
this.backTrack.btiDILo = X86.BACKTRACK.SP_LO; this.backTrack.btiDIHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiDILo = X86.BTINFO.SP_LO; this.backTrack.btiDIHi = X86.BTINFO.SP_HI;
}
},
/**
@ -3646,7 +3646,7 @@ X86ModW.aOpModMem = [
function opModMemWord20(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.regESI), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndex;
@ -3660,7 +3660,7 @@ X86ModW.aOpModMem = [
function opModMemWord21(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.regEDI), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexExtra;
@ -3674,7 +3674,7 @@ X86ModW.aOpModMem = [
function opModMemWord22(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regESI), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexExtra;
@ -3688,7 +3688,7 @@ X86ModW.aOpModMem = [
function opModMemWord23(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regEDI), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndex;
@ -3702,7 +3702,7 @@ X86ModW.aOpModMem = [
function opModMemWord24(fn) {
var w = fn.call(this, this.modEAWordData(this.regESI), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBase;
@ -3716,7 +3716,7 @@ X86ModW.aOpModMem = [
function opModMemWord25(fn) {
var w = fn.call(this, this.modEAWordData(this.regEDI), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBase;
@ -3730,7 +3730,7 @@ X86ModW.aOpModMem = [
function opModMemWord26(fn) {
var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesDisp;
@ -3744,7 +3744,7 @@ X86ModW.aOpModMem = [
function opModMemWord27(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBase;
@ -4542,7 +4542,7 @@ X86ModW.aOpModMem = [
function opModMemWord60(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.regESI + this.getIPDisp()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp;
@ -4556,7 +4556,7 @@ X86ModW.aOpModMem = [
function opModMemWord61(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.regEDI + this.getIPDisp()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra;
@ -4570,7 +4570,7 @@ X86ModW.aOpModMem = [
function opModMemWord62(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regESI + this.getIPDisp()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra;
@ -4584,7 +4584,7 @@ X86ModW.aOpModMem = [
function opModMemWord63(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regEDI + this.getIPDisp()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp;
@ -4598,7 +4598,7 @@ X86ModW.aOpModMem = [
function opModMemWord64(fn) {
var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -4612,7 +4612,7 @@ X86ModW.aOpModMem = [
function opModMemWord65(fn) {
var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -4626,7 +4626,7 @@ X86ModW.aOpModMem = [
function opModMemWord66(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -4640,7 +4640,7 @@ X86ModW.aOpModMem = [
function opModMemWord67(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -5438,7 +5438,7 @@ X86ModW.aOpModMem = [
function opModMemWordA0(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.regESI + this.getIPAddr()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp;
@ -5452,7 +5452,7 @@ X86ModW.aOpModMem = [
function opModMemWordA1(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.regEDI + this.getIPAddr()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra;
@ -5466,7 +5466,7 @@ X86ModW.aOpModMem = [
function opModMemWordA2(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regESI + this.getIPAddr()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra;
@ -5480,7 +5480,7 @@ X86ModW.aOpModMem = [
function opModMemWordA3(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regEDI + this.getIPAddr()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp;
@ -5494,7 +5494,7 @@ X86ModW.aOpModMem = [
function opModMemWordA4(fn) {
var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -5508,7 +5508,7 @@ X86ModW.aOpModMem = [
function opModMemWordA5(fn) {
var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -5522,7 +5522,7 @@ X86ModW.aOpModMem = [
function opModMemWordA6(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -5536,7 +5536,7 @@ X86ModW.aOpModMem = [
function opModMemWordA7(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.getSP());
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;

View file

@ -2714,7 +2714,7 @@ X86ModW16.aOpModReg = [
var w = fn.call(this, this.regEAX & this.maskData, this.getSP() & this.maskData);
this.regEAX = (this.regEAX & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiAL = X86.BACKTRACK.SP_LO; this.backTrack.btiAH = X86.BACKTRACK.SP_HI;
this.backTrack.btiAL = X86.BTINFO.SP_LO; this.backTrack.btiAH = X86.BTINFO.SP_HI;
}
},
/**
@ -2815,7 +2815,7 @@ X86ModW16.aOpModReg = [
var w = fn.call(this, this.regECX & this.maskData, this.getSP() & this.maskData);
this.regECX = (this.regECX & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiCL = X86.BACKTRACK.SP_LO; this.backTrack.btiCH = X86.BACKTRACK.SP_HI;
this.backTrack.btiCL = X86.BTINFO.SP_LO; this.backTrack.btiCH = X86.BTINFO.SP_HI;
}
},
/**
@ -2916,7 +2916,7 @@ X86ModW16.aOpModReg = [
var w = fn.call(this, this.regEDX & this.maskData, this.getSP() & this.maskData);
this.regEDX = (this.regEDX & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiDL = X86.BACKTRACK.SP_LO; this.backTrack.btiDH = X86.BACKTRACK.SP_HI;
this.backTrack.btiDL = X86.BTINFO.SP_LO; this.backTrack.btiDH = X86.BTINFO.SP_HI;
}
},
/**
@ -3017,7 +3017,7 @@ X86ModW16.aOpModReg = [
var w = fn.call(this, this.regEBX & this.maskData, this.getSP() & this.maskData);
this.regEBX = (this.regEBX & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiBL = X86.BACKTRACK.SP_LO; this.backTrack.btiBH = X86.BACKTRACK.SP_HI;
this.backTrack.btiBL = X86.BTINFO.SP_LO; this.backTrack.btiBH = X86.BTINFO.SP_HI;
}
},
/**
@ -3201,7 +3201,7 @@ X86ModW16.aOpModReg = [
var w = fn.call(this, this.regEBP & this.maskData, this.getSP() & this.maskData);
this.regEBP = (this.regEBP & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiBPLo = X86.BACKTRACK.SP_LO; this.backTrack.btiBPHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiBPLo = X86.BTINFO.SP_LO; this.backTrack.btiBPHi = X86.BTINFO.SP_HI;
}
},
/**
@ -3302,7 +3302,7 @@ X86ModW16.aOpModReg = [
var w = fn.call(this, this.regESI & this.maskData, this.getSP() & this.maskData);
this.regESI = (this.regESI & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiSILo = X86.BACKTRACK.SP_LO; this.backTrack.btiSIHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiSILo = X86.BTINFO.SP_LO; this.backTrack.btiSIHi = X86.BTINFO.SP_HI;
}
},
/**
@ -3403,7 +3403,7 @@ X86ModW16.aOpModReg = [
var w = fn.call(this, this.regEDI & this.maskData, this.getSP() & this.maskData);
this.regEDI = (this.regEDI & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiDILo = X86.BACKTRACK.SP_LO; this.backTrack.btiDIHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiDILo = X86.BTINFO.SP_LO; this.backTrack.btiDIHi = X86.BTINFO.SP_HI;
}
},
/**
@ -3902,7 +3902,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord20(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.regESI), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndex;
@ -3916,7 +3916,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord21(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.regEDI), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexExtra;
@ -3930,7 +3930,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord22(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regESI), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexExtra;
@ -3944,7 +3944,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord23(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regEDI), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndex;
@ -3958,7 +3958,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord24(fn) {
var w = fn.call(this, this.modEAWordData(this.regESI), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBase;
@ -3972,7 +3972,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord25(fn) {
var w = fn.call(this, this.modEAWordData(this.regEDI), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBase;
@ -3986,7 +3986,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord26(fn) {
var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesDisp;
@ -4000,7 +4000,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord27(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBase;
@ -4798,7 +4798,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord60(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.regESI + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp;
@ -4812,7 +4812,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord61(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.regEDI + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra;
@ -4826,7 +4826,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord62(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regESI + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra;
@ -4840,7 +4840,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord63(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regEDI + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp;
@ -4854,7 +4854,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord64(fn) {
var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -4868,7 +4868,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord65(fn) {
var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -4882,7 +4882,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord66(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -4896,7 +4896,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWord67(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -5694,7 +5694,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWordA0(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.regESI + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp;
@ -5708,7 +5708,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWordA1(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.regEDI + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra;
@ -5722,7 +5722,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWordA2(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regESI + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra;
@ -5736,7 +5736,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWordA3(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regEDI + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp;
@ -5750,7 +5750,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWordA4(fn) {
var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -5764,7 +5764,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWordA5(fn) {
var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -5778,7 +5778,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWordA6(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;
@ -5792,7 +5792,7 @@ X86ModW16.aOpModMem = [
function opMod16MemWordA7(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp;

View file

@ -2522,7 +2522,7 @@ X86ModW32.aOpModReg = [
var w = fn.call(this, this.regEAX & this.maskData, this.getSP() & this.maskData);
this.regEAX = (this.regEAX & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiAL = X86.BACKTRACK.SP_LO; this.backTrack.btiAH = X86.BACKTRACK.SP_HI;
this.backTrack.btiAL = X86.BTINFO.SP_LO; this.backTrack.btiAH = X86.BTINFO.SP_HI;
}
},
/**
@ -2623,7 +2623,7 @@ X86ModW32.aOpModReg = [
var w = fn.call(this, this.regECX & this.maskData, this.getSP() & this.maskData);
this.regECX = (this.regECX & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiCL = X86.BACKTRACK.SP_LO; this.backTrack.btiCH = X86.BACKTRACK.SP_HI;
this.backTrack.btiCL = X86.BTINFO.SP_LO; this.backTrack.btiCH = X86.BTINFO.SP_HI;
}
},
/**
@ -2724,7 +2724,7 @@ X86ModW32.aOpModReg = [
var w = fn.call(this, this.regEDX & this.maskData, this.getSP() & this.maskData);
this.regEDX = (this.regEDX & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiDL = X86.BACKTRACK.SP_LO; this.backTrack.btiDH = X86.BACKTRACK.SP_HI;
this.backTrack.btiDL = X86.BTINFO.SP_LO; this.backTrack.btiDH = X86.BTINFO.SP_HI;
}
},
/**
@ -2825,7 +2825,7 @@ X86ModW32.aOpModReg = [
var w = fn.call(this, this.regEBX & this.maskData, this.getSP() & this.maskData);
this.regEBX = (this.regEBX & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiBL = X86.BACKTRACK.SP_LO; this.backTrack.btiBH = X86.BACKTRACK.SP_HI;
this.backTrack.btiBL = X86.BTINFO.SP_LO; this.backTrack.btiBH = X86.BTINFO.SP_HI;
}
},
/**
@ -3009,7 +3009,7 @@ X86ModW32.aOpModReg = [
var w = fn.call(this, this.regEBP & this.maskData, this.getSP() & this.maskData);
this.regEBP = (this.regEBP & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiBPLo = X86.BACKTRACK.SP_LO; this.backTrack.btiBPHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiBPLo = X86.BTINFO.SP_LO; this.backTrack.btiBPHi = X86.BTINFO.SP_HI;
}
},
/**
@ -3110,7 +3110,7 @@ X86ModW32.aOpModReg = [
var w = fn.call(this, this.regESI & this.maskData, this.getSP() & this.maskData);
this.regESI = (this.regESI & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiSILo = X86.BACKTRACK.SP_LO; this.backTrack.btiSIHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiSILo = X86.BTINFO.SP_LO; this.backTrack.btiSIHi = X86.BTINFO.SP_HI;
}
},
/**
@ -3211,7 +3211,7 @@ X86ModW32.aOpModReg = [
var w = fn.call(this, this.regEDI & this.maskData, this.getSP() & this.maskData);
this.regEDI = (this.regEDI & ~this.maskData) | w;
if (BACKTRACK) {
this.backTrack.btiDILo = X86.BACKTRACK.SP_LO; this.backTrack.btiDIHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiDILo = X86.BTINFO.SP_LO; this.backTrack.btiDIHi = X86.BTINFO.SP_HI;
}
},
/**
@ -3678,7 +3678,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord20(fn) {
var w = fn.call(this, this.modEAWordData(this.regEAX), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -3691,7 +3691,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord21(fn) {
var w = fn.call(this, this.modEAWordData(this.regECX), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -3704,7 +3704,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord22(fn) {
var w = fn.call(this, this.modEAWordData(this.regEDX), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -3717,7 +3717,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord23(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -3730,7 +3730,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord24(fn) {
var w = fn.call(this, this.modEAWordData(this.getSIBAddr(0)), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -3743,7 +3743,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord25(fn) {
var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -3756,7 +3756,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord26(fn) {
var w = fn.call(this, this.modEAWordData(this.regESI), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -3769,7 +3769,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord27(fn) {
var w = fn.call(this, this.modEAWordData(this.regEDI), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -4510,7 +4510,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord60(fn) {
var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -4523,7 +4523,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord61(fn) {
var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -4536,7 +4536,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord62(fn) {
var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -4549,7 +4549,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord63(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -4562,7 +4562,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord64(fn) {
var w = fn.call(this, this.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -4575,7 +4575,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord65(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -4588,7 +4588,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord66(fn) {
var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -4601,7 +4601,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWord67(fn) {
var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -5342,7 +5342,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWordA0(fn) {
var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -5355,7 +5355,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWordA1(fn) {
var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -5368,7 +5368,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWordA2(fn) {
var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -5381,7 +5381,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWordA3(fn) {
var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -5394,7 +5394,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWordA4(fn) {
var w = fn.call(this, this.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -5407,7 +5407,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWordA5(fn) {
var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -5420,7 +5420,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWordA6(fn) {
var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},
@ -5433,7 +5433,7 @@ X86ModW32.aOpModMem = [
function opMod32MemWordA7(fn) {
var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.getSP() & this.maskData);
if (BACKTRACK) {
this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI;
this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI;
}
this.setEAWord(w);
},