From 7cdf097c8d541e6525afcc685f615cb61273ff03 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Tue, 20 Jan 2015 22:13:40 -0800 Subject: [PATCH] Scaffolding for 32-bit ModRM decoding --- modules/pcjs/bin/x86gen.js | 41 +- modules/pcjs/lib/.jshintrc | 7 +- modules/pcjs/lib/x86cpu.js | 23 +- modules/pcjs/lib/x86modb.js | 2512 ++++----- modules/pcjs/lib/x86modb32.js | 8490 +++++++++++++++++++++++++++++ modules/pcjs/lib/x86modsib.js | 2348 ++++++++ modules/pcjs/lib/x86modw.js | 2512 ++++----- modules/pcjs/lib/x86modw32.js | 9405 +++++++++++++++++++++++++++++++++ package.json | 3 + 9 files changed, 22819 insertions(+), 2522 deletions(-) create mode 100644 modules/pcjs/lib/x86modb32.js create mode 100644 modules/pcjs/lib/x86modsib.js create mode 100644 modules/pcjs/lib/x86modw32.js diff --git a/modules/pcjs/bin/x86gen.js b/modules/pcjs/bin/x86gen.js index 6ffb89075..c5847ac43 100644 --- a/modules/pcjs/bin/x86gen.js +++ b/modules/pcjs/bin/x86gen.js @@ -75,6 +75,9 @@ var w, sError = ""; var fGenMods = true; var sEAFuncs = ""; +var aBase = ["EAX", "ECX", "EDX", "EBX", "ESP", "EBP", "ESI", "EDI"]; +var aIndex = ["EAX", "ECX", "EDX", "EBX", "none", "EBP", "ESI", "EDI"]; + if (!fGenMods) { var sOps = "", cOps = 0; @@ -256,11 +259,37 @@ else { } } + sContainer = "X86ModSIB" + ".aOpModSIB"; + + print(sContainer + " = ["); + for (var sib = 0x00; sib <= 0xff && !sError; sib++) { + genSIB(sib); + } + print("];\n"); + if (sEAFuncs) { print("var X86Mods = {\n" + sEAFuncs + "};\n"); } } +function genSIB(sib) { + var scale = (sib >> 6); + var index = (sib >> 3) & 0x7; + var base = (sib & 0x7); + var sFunc = "opModSIB" + toHex(sib, 2); + print(" /**"); + print(" * " + sFunc + "(): scale=" + toBin(scale, 2) + " (" + toHex(1 << scale, 1) + ") index=" + toBin(index, 3) + " (" + aIndex[index] + ") base=" + toBin(base, 3) + " (" + (base == 5? "mod? EBP : disp32)" : aBase[base] + ")")); + print(" *"); + print(" * @this {X86CPU}"); + print(" * @param {number} mod"); + print(" */"); + print(" function " + sFunc + "(mod) {"); + var sBase = (base == 5? "(mod? this.reg" + aBase[base] + " : this.getIPWord())" : "this.reg" + aBase[base]); + if (index != 4) sBase += " + (this.reg" + (aIndex[index] + " << " + scale) + ")"; + print(" return " + sBase + ";"); + print(" }" + (sib < 255? "," : "")); +} + function genMode(a, d, w, mrm, sGroup, sRO) { var mod = (mrm >> 6); var reg = (mrm >> 3) & 0x7; @@ -680,7 +709,7 @@ function genMode(a, d, w, mrm, sGroup, sRO) { nCycles = "this.CYCLES.nEACyclesBase"; break; case 4: - sModAddr = "this.getSIB()"; + sModAddr = "this.getSIB(0)"; sModFunc = "SIB"; nCycles = "this.CYCLES.nEACyclesBase"; break; @@ -727,7 +756,7 @@ function genMode(a, d, w, mrm, sGroup, sRO) { nCycles = "this.CYCLES.nEACyclesBaseDisp"; break; case 4: - sModAddr = "this.getSIB() + this.getIPDisp()"; + sModAddr = "this.getSIB(1) + this.getIPDisp()"; sModFunc = "SIBD8"; nCycles = "this.CYCLES.nEACyclesBaseDisp"; break; @@ -774,7 +803,7 @@ function genMode(a, d, w, mrm, sGroup, sRO) { nCycles = "this.CYCLES.nEACyclesBaseDisp"; break; case 4: - sModAddr = "this.getSIB() + this.getIPWord()"; + sModAddr = "this.getSIB(2) + this.getIPWord()"; sModFunc = "SIBD32"; nCycles = "this.CYCLES.nEACyclesBaseDisp"; break; @@ -917,7 +946,7 @@ function genMode(a, d, w, mrm, sGroup, sRO) { return null; } - sOpMod = "opMod" + aOpPrefix[w] + aAddrPrefix[a] + (sGroup? sGroup + (sRO? sRO : "") : aDst[d]) + toHex(mrm, 2); + sOpMod = "opMod" + aAddrPrefix[a] + (sGroup? sGroup + (sRO? sRO : "") : aDst[d]) + aSize[w] + toHex(mrm, 2); var sTemp = aSize[w].charAt(0).toLowerCase(); @@ -926,7 +955,7 @@ function genMode(a, d, w, mrm, sGroup, sRO) { * Use this to generate ModRM decoders that accept an array (ie, "group") of functions, and pass along an implied argument as well */ if (sRO && reg != 7) { - sOpMod = "opMod" + aSize[w] + aAddrPrefix[a] + (sGroup? sGroup : aDst[d]) + toHex(mrm, 2); + sOpMod = "opMod" + aAddrPrefix[a] + (sGroup? sGroup : aDst[d]) + aSize[w] + toHex(mrm, 2); return sOpMod; } @@ -1023,7 +1052,7 @@ function genMode(a, d, w, mrm, sGroup, sRO) { if (mod == 3 && !d) { var mrmPrime = (mod << 6) | (r_m << 3) | reg; print(" X86Mod" + aOpPrefix[w] + aAddrPrefix[a] + ".aOpModReg[0x" + toHex(mrmPrime, 2) + "],"); - sOpMod = "opMod" + aOpPrefix[w] + aAddrPrefix[a] + aDst[1] + toHex(mrmPrime, 2); + sOpMod = "opMod" + aAddrPrefix[a] + aDst[1] + aSize[w] + toHex(mrmPrime, 2); return sOpMod; } diff --git a/modules/pcjs/lib/.jshintrc b/modules/pcjs/lib/.jshintrc index 3c344cec6..0d84832d7 100644 --- a/modules/pcjs/lib/.jshintrc +++ b/modules/pcjs/lib/.jshintrc @@ -20,6 +20,7 @@ "FATARRAYS": true, "TYPEDARRAYS": true, "SAMPLER": true, + "BACKTRACK": true, "Component": true, "State": true, "Bus": true, @@ -43,7 +44,11 @@ "X86CPU": true, "X86Grps": true, "X86Help": true, - "X86Mods": true, + "X86ModB": true, + "X86ModW": true, + "X86ModB32": true, + "X86ModW32": true, + "X86ModSIB": true, "X86OpXX": true, "X86Op0F": true, "str": true, diff --git a/modules/pcjs/lib/x86cpu.js b/modules/pcjs/lib/x86cpu.js index e8adacd50..55d09579b 100644 --- a/modules/pcjs/lib/x86cpu.js +++ b/modules/pcjs/lib/x86cpu.js @@ -46,6 +46,9 @@ if (typeof module !== 'undefined') { var X86Help = require("./x86help"); var X86ModB = require("./x86modb"); var X86ModW = require("./x86modw"); + var X86ModB32 = require("./x86modb32"); + var X86ModW32 = require("./x86modw32"); + var X86ModSIB = require("./x86modsib"); var X86OpXX = require("./x86opxx"); var X86Op0F = require("./x86op0f"); } @@ -2318,7 +2321,7 @@ X86CPU.prototype.getIPByte = function() { var b = (PREFETCH? this.getBytePrefetch(this.regLIP) : this.getByte(this.regLIP)); if (BACKTRACK) this.bus.updateBackTrackCode(this.regLIP, this.backTrack.btiMemLo); - this.regLIP = this.segCS.base + (this.regEIP = (this.regEIP + 1) & 0xffff); // this.advanceIP(1) + this.regLIP = this.segCS.base + (this.regEIP = (this.regEIP + 1) & 0xffff); // this.advanceIP(1) return b; }; @@ -2332,7 +2335,7 @@ X86CPU.prototype.getIPDisp = function() { var b = ((PREFETCH? this.getBytePrefetch(this.regLIP) : this.getByte(this.regLIP)) << 24) >> 24; if (BACKTRACK) this.bus.updateBackTrackCode(this.regLIP, this.backTrack.btiMemLo); - this.regLIP = this.segCS.base + (this.regEIP = (this.regEIP + 1) & 0xffff); // this.advanceIP(1) + this.regLIP = this.segCS.base + (this.regEIP = (this.regEIP + 1) & 0xffff); // this.advanceIP(1) return b & 0xffff; }; @@ -2349,10 +2352,24 @@ X86CPU.prototype.getIPWord = function() this.bus.updateBackTrackCode(this.regLIP, this.backTrack.btiMemLo); this.bus.updateBackTrackCode(this.regLIP + 1, this.backTrack.btiMemHi); } - this.regLIP = this.segCS.base + (this.regEIP = (this.regEIP + 2) & 0xffff); // this.advanceIP(2) + this.regLIP = this.segCS.base + (this.regEIP = (this.regEIP + 2) & 0xffff); // this.advanceIP(2) return w; }; +/** + * getSIB(mod) + * + * @this {X86CPU} + * @param {number} mod + * @return {number} + */ +X86CPU.prototype.getSIB = function(mod) +{ + var b = PREFETCH? this.getBytePrefetch(this.regLIP) : this.getByte(this.regLIP); + if (BACKTRACK) this.bus.updateBackTrackCode(this.regLIP, this.backTrack.btiMemLo); + return X86ModSIB.aOpModSIB[b].call(this, mod); +}; + /** * popWord() * diff --git a/modules/pcjs/lib/x86modb.js b/modules/pcjs/lib/x86modb.js index 6dda26327..e41d31e0d 100644 --- a/modules/pcjs/lib/x86modb.js +++ b/modules/pcjs/lib/x86modb.js @@ -40,79 +40,79 @@ var X86ModB = {}; X86ModB.aOpModReg = [ /** - * opModRegByte00(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=000 (BX+SI) + * opModRegByte00(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte00(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte01(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=001 (BX+DI) + * opModRegByte01(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte01(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte02(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=010 (BP+SI) + * opModRegByte02(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte02(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte03(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=011 (BP+DI) + * opModRegByte03(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte03(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte04(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=100 (SI) + * opModRegByte04(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte04(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regESI & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte05(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=101 (DI) + * opModRegByte05(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte05(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEDI & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte06(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=110 (d16) + * opModRegByte06(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -124,91 +124,91 @@ X86ModB.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegByte07(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=111 (BX) + * opModRegByte07(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte07(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEBX & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte08(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=000 (BX+SI) + * opModRegByte08(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte08(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte09(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=001 (BX+DI) + * opModRegByte09(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte09(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte0A(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=010 (BP+SI) + * opModRegByte0A(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte0A(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte0B(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=011 (BP+DI) + * opModRegByte0B(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte0B(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte0C(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=100 (SI) + * opModRegByte0C(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte0C(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regESI & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte0D(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=101 (DI) + * opModRegByte0D(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte0D(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEDI & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte0E(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=110 (d16) + * opModRegByte0E(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -220,91 +220,91 @@ X86ModB.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegByte0F(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=111 (BX) + * opModRegByte0F(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte0F(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEBX & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte10(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=000 (BX+SI) + * opModRegByte10(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte10(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte11(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=001 (BX+DI) + * opModRegByte11(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte11(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte12(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=010 (BP+SI) + * opModRegByte12(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte12(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte13(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=011 (BP+DI) + * opModRegByte13(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte13(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte14(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=100 (SI) + * opModRegByte14(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte14(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regESI & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte15(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=101 (DI) + * opModRegByte15(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte15(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEDI & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte16(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=110 (d16) + * opModRegByte16(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -316,91 +316,91 @@ X86ModB.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegByte17(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=111 (BX) + * opModRegByte17(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte17(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEBX & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte18(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=000 (BX+SI) + * opModRegByte18(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte18(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte19(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=001 (BX+DI) + * opModRegByte19(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte19(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte1A(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=010 (BP+SI) + * opModRegByte1A(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte1A(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte1B(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=011 (BP+DI) + * opModRegByte1B(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte1B(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte1C(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=100 (SI) + * opModRegByte1C(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte1C(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regESI & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte1D(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=101 (DI) + * opModRegByte1D(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte1D(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEDI & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte1E(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=110 (d16) + * opModRegByte1E(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -412,91 +412,91 @@ X86ModB.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegByte1F(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=111 (BX) + * opModRegByte1F(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte1F(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEBX & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte20(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=000 (BX+SI) + * opModRegByte20(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte20(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte21(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=001 (BX+DI) + * opModRegByte21(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte21(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte22(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=010 (BP+SI) + * opModRegByte22(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte22(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte23(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=011 (BP+DI) + * opModRegByte23(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte23(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte24(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=100 (SI) + * opModRegByte24(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte24(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte25(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=101 (DI) + * opModRegByte25(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte25(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte26(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=110 (d16) + * opModRegByte26(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -508,91 +508,91 @@ X86ModB.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegByte27(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=111 (BX) + * opModRegByte27(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte27(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte28(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=000 (BX+SI) + * opModRegByte28(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte28(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte29(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=001 (BX+DI) + * opModRegByte29(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte29(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte2A(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=010 (BP+SI) + * opModRegByte2A(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte2A(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte2B(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=011 (BP+DI) + * opModRegByte2B(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte2B(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte2C(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=100 (SI) + * opModRegByte2C(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte2C(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte2D(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=101 (DI) + * opModRegByte2D(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte2D(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte2E(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=110 (d16) + * opModRegByte2E(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -604,91 +604,91 @@ X86ModB.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegByte2F(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=111 (BX) + * opModRegByte2F(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte2F(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte30(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=000 (BX+SI) + * opModRegByte30(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte30(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte31(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=001 (BX+DI) + * opModRegByte31(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte31(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte32(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=010 (BP+SI) + * opModRegByte32(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte32(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte33(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=011 (BP+DI) + * opModRegByte33(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte33(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte34(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=100 (SI) + * opModRegByte34(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte34(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte35(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=101 (DI) + * opModRegByte35(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte35(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte36(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=110 (d16) + * opModRegByte36(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -700,91 +700,91 @@ X86ModB.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegByte37(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=111 (BX) + * opModRegByte37(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte37(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte38(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=000 (BX+SI) + * opModRegByte38(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte38(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte39(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=001 (BX+DI) + * opModRegByte39(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte39(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte3A(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=010 (BP+SI) + * opModRegByte3A(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte3A(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegByte3B(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=011 (BP+DI) + * opModRegByte3B(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte3B(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegByte3C(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=100 (SI) + * opModRegByte3C(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte3C(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte3D(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=101 (DI) + * opModRegByte3D(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte3D(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte3E(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=110 (d16) + * opModRegByte3E(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -796,1555 +796,1555 @@ X86ModB.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegByte3F(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=111 (BX) + * opModRegByte3F(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte3F(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegByte40(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=000 (BX+SI+d8) + * opModRegByte40(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte40(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte41(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=001 (BX+DI+d8) + * opModRegByte41(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte41(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte42(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=010 (BP+SI+d8) + * opModRegByte42(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte42(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte43(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=011 (BP+DI+d8) + * opModRegByte43(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte43(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte44(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=100 (SI+d8) + * opModRegByte44(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte44(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte45(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=101 (DI+d8) + * opModRegByte45(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte45(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte46(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=110 (BP+d8) + * opModRegByte46(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte46(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte47(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=111 (BX+d8) + * opModRegByte47(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte47(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte48(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=000 (BX+SI+d8) + * opModRegByte48(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte48(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte49(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=001 (BX+DI+d8) + * opModRegByte49(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte49(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte4A(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=010 (BP+SI+d8) + * opModRegByte4A(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte4A(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte4B(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=011 (BP+DI+d8) + * opModRegByte4B(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte4B(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte4C(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=100 (SI+d8) + * opModRegByte4C(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte4C(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte4D(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=101 (DI+d8) + * opModRegByte4D(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte4D(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte4E(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=110 (BP+d8) + * opModRegByte4E(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte4E(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte4F(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=111 (BX+d8) + * opModRegByte4F(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte4F(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte50(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=000 (BX+SI+d8) + * opModRegByte50(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte50(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte51(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=001 (BX+DI+d8) + * opModRegByte51(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte51(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte52(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=010 (BP+SI+d8) + * opModRegByte52(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte52(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte53(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=011 (BP+DI+d8) + * opModRegByte53(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte53(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte54(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=100 (SI+d8) + * opModRegByte54(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte54(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte55(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=101 (DI+d8) + * opModRegByte55(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte55(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte56(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=110 (BP+d8) + * opModRegByte56(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte56(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte57(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=111 (BX+d8) + * opModRegByte57(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte57(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte58(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=000 (BX+SI+d8) + * opModRegByte58(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte58(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte59(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=001 (BX+DI+d8) + * opModRegByte59(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte59(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte5A(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=010 (BP+SI+d8) + * opModRegByte5A(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte5A(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte5B(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=011 (BP+DI+d8) + * opModRegByte5B(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte5B(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte5C(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=100 (SI+d8) + * opModRegByte5C(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte5C(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte5D(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=101 (DI+d8) + * opModRegByte5D(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte5D(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte5E(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=110 (BP+d8) + * opModRegByte5E(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte5E(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte5F(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=111 (BX+d8) + * opModRegByte5F(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte5F(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte60(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=000 (BX+SI+d8) + * opModRegByte60(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte60(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte61(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=001 (BX+DI+d8) + * opModRegByte61(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte61(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte62(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=010 (BP+SI+d8) + * opModRegByte62(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte62(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte63(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=011 (BP+DI+d8) + * opModRegByte63(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte63(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte64(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=100 (SI+d8) + * opModRegByte64(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte64(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte65(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=101 (DI+d8) + * opModRegByte65(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte65(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte66(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=110 (BP+d8) + * opModRegByte66(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte66(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte67(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=111 (BX+d8) + * opModRegByte67(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte67(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte68(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=000 (BX+SI+d8) + * opModRegByte68(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte68(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte69(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=001 (BX+DI+d8) + * opModRegByte69(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte69(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte6A(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=010 (BP+SI+d8) + * opModRegByte6A(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte6A(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte6B(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=011 (BP+DI+d8) + * opModRegByte6B(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte6B(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte6C(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=100 (SI+d8) + * opModRegByte6C(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte6C(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte6D(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=101 (DI+d8) + * opModRegByte6D(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte6D(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte6E(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=110 (BP+d8) + * opModRegByte6E(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte6E(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte6F(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=111 (BX+d8) + * opModRegByte6F(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte6F(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte70(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=000 (BX+SI+d8) + * opModRegByte70(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte70(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte71(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=001 (BX+DI+d8) + * opModRegByte71(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte71(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte72(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=010 (BP+SI+d8) + * opModRegByte72(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte72(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte73(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=011 (BP+DI+d8) + * opModRegByte73(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte73(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte74(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=100 (SI+d8) + * opModRegByte74(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte74(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte75(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=101 (DI+d8) + * opModRegByte75(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte75(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte76(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=110 (BP+d8) + * opModRegByte76(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte76(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte77(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=111 (BX+d8) + * opModRegByte77(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte77(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte78(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=000 (BX+SI+d8) + * opModRegByte78(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte78(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte79(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=001 (BX+DI+d8) + * opModRegByte79(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte79(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte7A(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=010 (BP+SI+d8) + * opModRegByte7A(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte7A(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte7B(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=011 (BP+DI+d8) + * opModRegByte7B(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte7B(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte7C(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=100 (SI+d8) + * opModRegByte7C(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte7C(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte7D(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=101 (DI+d8) + * opModRegByte7D(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte7D(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte7E(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=110 (BP+d8) + * opModRegByte7E(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte7E(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte7F(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=111 (BX+d8) + * opModRegByte7F(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte7F(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte80(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=000 (BX+SI+d16) + * opModRegByte80(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte80(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte81(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=001 (BX+DI+d16) + * opModRegByte81(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte81(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte82(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=010 (BP+SI+d16) + * opModRegByte82(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte82(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte83(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=011 (BP+DI+d16) + * opModRegByte83(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte83(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte84(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=100 (SI+d16) + * opModRegByte84(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte84(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte85(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=101 (DI+d16) + * opModRegByte85(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte85(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte86(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=110 (BP+d16) + * opModRegByte86(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte86(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte87(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=111 (BX+d16) + * opModRegByte87(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte87(fn) { - var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte88(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=000 (BX+SI+d16) + * opModRegByte88(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte88(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte89(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=001 (BX+DI+d16) + * opModRegByte89(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte89(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte8A(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=010 (BP+SI+d16) + * opModRegByte8A(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte8A(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte8B(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=011 (BP+DI+d16) + * opModRegByte8B(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte8B(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte8C(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=100 (SI+d16) + * opModRegByte8C(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte8C(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte8D(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=101 (DI+d16) + * opModRegByte8D(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte8D(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte8E(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=110 (BP+d16) + * opModRegByte8E(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte8E(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte8F(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=111 (BX+d16) + * opModRegByte8F(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte8F(fn) { - var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte90(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=000 (BX+SI+d16) + * opModRegByte90(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte90(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte91(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=001 (BX+DI+d16) + * opModRegByte91(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte91(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte92(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=010 (BP+SI+d16) + * opModRegByte92(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte92(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte93(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=011 (BP+DI+d16) + * opModRegByte93(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte93(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte94(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=100 (SI+d16) + * opModRegByte94(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte94(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte95(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=101 (DI+d16) + * opModRegByte95(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte95(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte96(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=110 (BP+d16) + * opModRegByte96(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte96(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte97(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=111 (BX+d16) + * opModRegByte97(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte97(fn) { - var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte98(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=000 (BX+SI+d16) + * opModRegByte98(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte98(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte99(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=001 (BX+DI+d16) + * opModRegByte99(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte99(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte9A(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=010 (BP+SI+d16) + * opModRegByte9A(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte9A(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByte9B(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=011 (BP+DI+d16) + * opModRegByte9B(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte9B(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByte9C(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=100 (SI+d16) + * opModRegByte9C(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte9C(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte9D(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=101 (DI+d16) + * opModRegByte9D(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte9D(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte9E(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=110 (BP+d16) + * opModRegByte9E(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte9E(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByte9F(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=111 (BX+d16) + * opModRegByte9F(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByte9F(fn) { - var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff) | b; if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteA0(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=000 (BX+SI+d16) + * opModRegByteA0(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteA0(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByteA1(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=001 (BX+DI+d16) + * opModRegByteA1(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteA1(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByteA2(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=010 (BP+SI+d16) + * opModRegByteA2(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteA2(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByteA3(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=011 (BP+DI+d16) + * opModRegByteA3(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteA3(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByteA4(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=100 (SI+d16) + * opModRegByteA4(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteA4(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteA5(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=101 (DI+d16) + * opModRegByteA5(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteA5(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteA6(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=110 (BP+d16) + * opModRegByteA6(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteA6(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteA7(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=111 (BX+d16) + * opModRegByteA7(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteA7(fn) { - var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteA8(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=000 (BX+SI+d16) + * opModRegByteA8(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteA8(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByteA9(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=001 (BX+DI+d16) + * opModRegByteA9(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteA9(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByteAA(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=010 (BP+SI+d16) + * opModRegByteAA(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteAA(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByteAB(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=011 (BP+DI+d16) + * opModRegByteAB(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteAB(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByteAC(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=100 (SI+d16) + * opModRegByteAC(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteAC(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteAD(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=101 (DI+d16) + * opModRegByteAD(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteAD(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteAE(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=110 (BP+d16) + * opModRegByteAE(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteAE(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteAF(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=111 (BX+d16) + * opModRegByteAF(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteAF(fn) { - var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteB0(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=000 (BX+SI+d16) + * opModRegByteB0(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteB0(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByteB1(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=001 (BX+DI+d16) + * opModRegByteB1(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteB1(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByteB2(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=010 (BP+SI+d16) + * opModRegByteB2(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteB2(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByteB3(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=011 (BP+DI+d16) + * opModRegByteB3(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteB3(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByteB4(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=100 (SI+d16) + * opModRegByteB4(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteB4(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteB5(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=101 (DI+d16) + * opModRegByteB5(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteB5(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteB6(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=110 (BP+d16) + * opModRegByteB6(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteB6(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteB7(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=111 (BX+d16) + * opModRegByteB7(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteB7(fn) { - var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteB8(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=000 (BX+SI+d16) + * opModRegByteB8(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteB8(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByteB9(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=001 (BX+DI+d16) + * opModRegByteB9(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteB9(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByteBA(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=010 (BP+SI+d16) + * opModRegByteBA(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteBA(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegByteBB(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=011 (BP+DI+d16) + * opModRegByteBB(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteBB(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegByteBC(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=100 (SI+d16) + * opModRegByteBC(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteBC(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteBD(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=101 (DI+d16) + * opModRegByteBD(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteBD(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteBE(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=110 (BP+d16) + * opModRegByteBE(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteBE(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteBF(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=111 (BX+d16) + * opModRegByteBF(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegByteBF(fn) { - var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~0xff00) | (b << 8); if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegByteC0(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=000 (AL) + * opModRegByteC0(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=000 (AL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2354,7 +2354,7 @@ X86ModB.aOpModReg = [ this.regEAX = (this.regEAX & ~0xff) | b; }, /** - * opModRegByteC1(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=001 (CL) + * opModRegByteC1(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=001 (CL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2365,7 +2365,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiCL; }, /** - * opModRegByteC2(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=010 (DL) + * opModRegByteC2(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=010 (DL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2376,7 +2376,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiDL; }, /** - * opModRegByteC3(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=011 (BL) + * opModRegByteC3(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=011 (BL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2387,7 +2387,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiBL; }, /** - * opModRegByteC4(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=100 (AH) + * opModRegByteC4(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=100 (AH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2398,7 +2398,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiAH; }, /** - * opModRegByteC5(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=101 (CH) + * opModRegByteC5(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=101 (CH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2409,7 +2409,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiCH; }, /** - * opModRegByteC6(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=110 (DH) + * opModRegByteC6(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=110 (DH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2420,7 +2420,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiDH; }, /** - * opModRegByteC7(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=111 (BH) + * opModRegByteC7(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=111 (BH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2431,7 +2431,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiBH; }, /** - * opModRegByteC8(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=000 (AL) + * opModRegByteC8(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=000 (AL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2442,7 +2442,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiAL; }, /** - * opModRegByteC9(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=001 (CL) + * opModRegByteC9(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=001 (CL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2452,7 +2452,7 @@ X86ModB.aOpModReg = [ this.regECX = (this.regECX & ~0xff) | b; }, /** - * opModRegByteCA(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=010 (DL) + * opModRegByteCA(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=010 (DL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2463,7 +2463,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiDL; }, /** - * opModRegByteCB(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=011 (BL) + * opModRegByteCB(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=011 (BL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2474,7 +2474,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiBL; }, /** - * opModRegByteCC(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=100 (AH) + * opModRegByteCC(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=100 (AH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2485,7 +2485,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiAH; }, /** - * opModRegByteCD(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=101 (CH) + * opModRegByteCD(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=101 (CH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2496,7 +2496,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiCH; }, /** - * opModRegByteCE(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=110 (DH) + * opModRegByteCE(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=110 (DH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2507,7 +2507,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiDH; }, /** - * opModRegByteCF(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=111 (BH) + * opModRegByteCF(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=111 (BH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2518,7 +2518,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiBH; }, /** - * opModRegByteD0(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=000 (AL) + * opModRegByteD0(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=000 (AL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2529,7 +2529,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiAL; }, /** - * opModRegByteD1(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=001 (CL) + * opModRegByteD1(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=001 (CL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2540,7 +2540,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiCL; }, /** - * opModRegByteD2(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=010 (DL) + * opModRegByteD2(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=010 (DL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2550,7 +2550,7 @@ X86ModB.aOpModReg = [ this.regEDX = (this.regEDX & ~0xff) | b; }, /** - * opModRegByteD3(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=011 (BL) + * opModRegByteD3(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=011 (BL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2561,7 +2561,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiBL; }, /** - * opModRegByteD4(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=100 (AH) + * opModRegByteD4(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=100 (AH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2572,7 +2572,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiAH; }, /** - * opModRegByteD5(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=101 (CH) + * opModRegByteD5(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=101 (CH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2583,7 +2583,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiCH; }, /** - * opModRegByteD6(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=110 (DH) + * opModRegByteD6(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=110 (DH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2594,7 +2594,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiDH; }, /** - * opModRegByteD7(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=111 (BH) + * opModRegByteD7(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=111 (BH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2605,7 +2605,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiBH; }, /** - * opModRegByteD8(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=000 (AL) + * opModRegByteD8(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=000 (AL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2616,7 +2616,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiAL; }, /** - * opModRegByteD9(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=001 (CL) + * opModRegByteD9(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=001 (CL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2627,7 +2627,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiCL; }, /** - * opModRegByteDA(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=010 (DL) + * opModRegByteDA(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=010 (DL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2638,7 +2638,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiDL; }, /** - * opModRegByteDB(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=011 (BL) + * opModRegByteDB(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=011 (BL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2648,7 +2648,7 @@ X86ModB.aOpModReg = [ this.regEBX = (this.regEBX & ~0xff) | b; }, /** - * opModRegByteDC(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=100 (AH) + * opModRegByteDC(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=100 (AH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2659,7 +2659,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiAH; }, /** - * opModRegByteDD(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=101 (CH) + * opModRegByteDD(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=101 (CH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2670,7 +2670,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiCH; }, /** - * opModRegByteDE(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=110 (DH) + * opModRegByteDE(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=110 (DH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2681,7 +2681,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiDH; }, /** - * opModRegByteDF(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=111 (BH) + * opModRegByteDF(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=111 (BH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2692,7 +2692,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiBH; }, /** - * opModRegByteE0(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=000 (AL) + * opModRegByteE0(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=000 (AL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2703,7 +2703,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiAL; }, /** - * opModRegByteE1(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=001 (CL) + * opModRegByteE1(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=001 (CL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2714,7 +2714,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiCL; }, /** - * opModRegByteE2(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=010 (DL) + * opModRegByteE2(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=010 (DL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2725,7 +2725,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiDL; }, /** - * opModRegByteE3(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=011 (BL) + * opModRegByteE3(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=011 (BL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2736,7 +2736,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiBL; }, /** - * opModRegByteE4(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=100 (AH) + * opModRegByteE4(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=100 (AH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2746,7 +2746,7 @@ X86ModB.aOpModReg = [ this.regEAX = (this.regEAX & ~0xff00) | (b << 8); }, /** - * opModRegByteE5(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=101 (CH) + * opModRegByteE5(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=101 (CH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2757,7 +2757,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiCH; }, /** - * opModRegByteE6(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=110 (DH) + * opModRegByteE6(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=110 (DH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2768,7 +2768,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiDH; }, /** - * opModRegByteE7(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=111 (BH) + * opModRegByteE7(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=111 (BH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2779,7 +2779,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiBH; }, /** - * opModRegByteE8(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=000 (AL) + * opModRegByteE8(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=000 (AL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2790,7 +2790,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiAL; }, /** - * opModRegByteE9(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=001 (CL) + * opModRegByteE9(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=001 (CL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2801,7 +2801,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiCL; }, /** - * opModRegByteEA(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=010 (DL) + * opModRegByteEA(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=010 (DL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2812,7 +2812,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiDL; }, /** - * opModRegByteEB(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=011 (BL) + * opModRegByteEB(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=011 (BL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2823,7 +2823,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiBL; }, /** - * opModRegByteEC(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=100 (AH) + * opModRegByteEC(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=100 (AH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2834,7 +2834,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiAH; }, /** - * opModRegByteED(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=101 (CH) + * opModRegByteED(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=101 (CH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2844,7 +2844,7 @@ X86ModB.aOpModReg = [ this.regECX = (this.regECX & ~0xff00) | (b << 8); }, /** - * opModRegByteEE(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=110 (DH) + * opModRegByteEE(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=110 (DH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2855,7 +2855,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiDH; }, /** - * opModRegByteEF(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=111 (BH) + * opModRegByteEF(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=111 (BH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2866,7 +2866,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiBH; }, /** - * opModRegByteF0(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=000 (AL) + * opModRegByteF0(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=000 (AL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2877,7 +2877,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiAL; }, /** - * opModRegByteF1(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=001 (CL) + * opModRegByteF1(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=001 (CL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2888,7 +2888,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiCL; }, /** - * opModRegByteF2(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=010 (DL) + * opModRegByteF2(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=010 (DL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2899,7 +2899,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiDL; }, /** - * opModRegByteF3(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=011 (BL) + * opModRegByteF3(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=011 (BL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2910,7 +2910,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiBL; }, /** - * opModRegByteF4(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=100 (AH) + * opModRegByteF4(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=100 (AH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2921,7 +2921,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiAH; }, /** - * opModRegByteF5(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=101 (CH) + * opModRegByteF5(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=101 (CH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2932,7 +2932,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiCH; }, /** - * opModRegByteF6(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=110 (DH) + * opModRegByteF6(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=110 (DH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2942,7 +2942,7 @@ X86ModB.aOpModReg = [ this.regEDX = (this.regEDX & ~0xff00) | (b << 8); }, /** - * opModRegByteF7(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=111 (BH) + * opModRegByteF7(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=111 (BH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2953,7 +2953,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiBH; }, /** - * opModRegByteF8(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=000 (AL) + * opModRegByteF8(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=000 (AL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2964,7 +2964,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiAL; }, /** - * opModRegByteF9(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=001 (CL) + * opModRegByteF9(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=001 (CL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2975,7 +2975,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiCL; }, /** - * opModRegByteFA(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=010 (DL) + * opModRegByteFA(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=010 (DL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2986,7 +2986,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiDL; }, /** - * opModRegByteFB(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=011 (BL) + * opModRegByteFB(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=011 (BL) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2997,7 +2997,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiBL; }, /** - * opModRegByteFC(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=100 (AH) + * opModRegByteFC(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=100 (AH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3008,7 +3008,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiAH; }, /** - * opModRegByteFD(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=101 (CH) + * opModRegByteFD(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=101 (CH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3019,7 +3019,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiCH; }, /** - * opModRegByteFE(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=110 (DH) + * opModRegByteFE(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=110 (DH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3030,7 +3030,7 @@ X86ModB.aOpModReg = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiDH; }, /** - * opModRegByteFF(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=111 (BH) + * opModRegByteFF(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=111 (BH) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3043,79 +3043,79 @@ X86ModB.aOpModReg = [ X86ModB.aOpModMem = [ /** - * opModMemByte00(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=000 (BX+SI) + * opModMemByte00(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte00(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte01(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=001 (BX+DI) + * opModMemByte01(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte01(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte02(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=010 (BP+SI) + * opModMemByte02(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte02(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte03(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=011 (BP+DI) + * opModMemByte03(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte03(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte04(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=100 (SI) + * opModMemByte04(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte04(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regESI & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte05(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=101 (DI) + * opModMemByte05(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte05(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte06(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=110 (d16) + * opModMemByte06(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3127,91 +3127,91 @@ X86ModB.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemByte07(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=111 (BX) + * opModMemByte07(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte07(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte08(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=000 (BX+SI) + * opModMemByte08(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte08(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte09(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=001 (BX+DI) + * opModMemByte09(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte09(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte0A(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=010 (BP+SI) + * opModMemByte0A(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte0A(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte0B(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=011 (BP+DI) + * opModMemByte0B(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte0B(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte0C(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=100 (SI) + * opModMemByte0C(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte0C(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regESI & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte0D(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=101 (DI) + * opModMemByte0D(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte0D(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte0E(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=110 (d16) + * opModMemByte0E(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3223,91 +3223,91 @@ X86ModB.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemByte0F(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=111 (BX) + * opModMemByte0F(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte0F(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte10(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=000 (BX+SI) + * opModMemByte10(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte10(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte11(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=001 (BX+DI) + * opModMemByte11(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte11(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte12(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=010 (BP+SI) + * opModMemByte12(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte12(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte13(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=011 (BP+DI) + * opModMemByte13(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte13(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte14(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=100 (SI) + * opModMemByte14(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte14(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regESI & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte15(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=101 (DI) + * opModMemByte15(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte15(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte16(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=110 (d16) + * opModMemByte16(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3319,91 +3319,91 @@ X86ModB.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemByte17(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=111 (BX) + * opModMemByte17(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte17(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte18(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=000 (BX+SI) + * opModMemByte18(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte18(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte19(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=001 (BX+DI) + * opModMemByte19(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte19(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte1A(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=010 (BP+SI) + * opModMemByte1A(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte1A(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte1B(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=011 (BP+DI) + * opModMemByte1B(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte1B(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte1C(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=100 (SI) + * opModMemByte1C(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte1C(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regESI & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte1D(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=101 (DI) + * opModMemByte1D(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte1D(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte1E(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=110 (d16) + * opModMemByte1E(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3415,91 +3415,91 @@ X86ModB.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemByte1F(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=111 (BX) + * opModMemByte1F(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte1F(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte20(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=000 (BX+SI) + * opModMemByte20(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte20(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte21(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=001 (BX+DI) + * opModMemByte21(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte21(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte22(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=010 (BP+SI) + * opModMemByte22(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte22(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte23(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=011 (BP+DI) + * opModMemByte23(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte23(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte24(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=100 (SI) + * opModMemByte24(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte24(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regESI & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte25(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=101 (DI) + * opModMemByte25(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte25(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte26(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=110 (d16) + * opModMemByte26(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3511,91 +3511,91 @@ X86ModB.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemByte27(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=111 (BX) + * opModMemByte27(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte27(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte28(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=000 (BX+SI) + * opModMemByte28(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte28(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte29(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=001 (BX+DI) + * opModMemByte29(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte29(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte2A(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=010 (BP+SI) + * opModMemByte2A(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte2A(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte2B(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=011 (BP+DI) + * opModMemByte2B(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte2B(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte2C(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=100 (SI) + * opModMemByte2C(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte2C(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regESI & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte2D(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=101 (DI) + * opModMemByte2D(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte2D(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte2E(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=110 (d16) + * opModMemByte2E(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3607,91 +3607,91 @@ X86ModB.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemByte2F(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=111 (BX) + * opModMemByte2F(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte2F(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte30(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=000 (BX+SI) + * opModMemByte30(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte30(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte31(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=001 (BX+DI) + * opModMemByte31(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte31(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte32(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=010 (BP+SI) + * opModMemByte32(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte32(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte33(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=011 (BP+DI) + * opModMemByte33(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte33(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte34(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=100 (SI) + * opModMemByte34(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte34(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regESI & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte35(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=101 (DI) + * opModMemByte35(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte35(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte36(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=110 (d16) + * opModMemByte36(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3703,91 +3703,91 @@ X86ModB.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemByte37(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=111 (BX) + * opModMemByte37(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte37(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte38(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=000 (BX+SI) + * opModMemByte38(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte38(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte39(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=001 (BX+DI) + * opModMemByte39(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte39(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte3A(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=010 (BP+SI) + * opModMemByte3A(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte3A(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemByte3B(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=011 (BP+DI) + * opModMemByte3B(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte3B(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemByte3C(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=100 (SI) + * opModMemByte3C(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte3C(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regESI & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte3D(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=101 (DI) + * opModMemByte3D(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte3D(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte3E(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=110 (d16) + * opModMemByte3E(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3799,1549 +3799,1549 @@ X86ModB.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemByte3F(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=111 (BX) + * opModMemByte3F(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte3F(fn) { - var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemByte40(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=000 (BX+SI+d8) + * opModMemByte40(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte40(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte41(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=001 (BX+DI+d8) + * opModMemByte41(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte41(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte42(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=010 (BP+SI+d8) + * opModMemByte42(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte42(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte43(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=011 (BP+DI+d8) + * opModMemByte43(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte43(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte44(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=100 (SI+d8) + * opModMemByte44(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte44(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte45(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=101 (DI+d8) + * opModMemByte45(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte45(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte46(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=110 (BP+d8) + * opModMemByte46(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte46(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte47(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=111 (BX+d8) + * opModMemByte47(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte47(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte48(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=000 (BX+SI+d8) + * opModMemByte48(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte48(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte49(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=001 (BX+DI+d8) + * opModMemByte49(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte49(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte4A(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=010 (BP+SI+d8) + * opModMemByte4A(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte4A(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte4B(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=011 (BP+DI+d8) + * opModMemByte4B(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte4B(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte4C(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=100 (SI+d8) + * opModMemByte4C(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte4C(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte4D(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=101 (DI+d8) + * opModMemByte4D(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte4D(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte4E(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=110 (BP+d8) + * opModMemByte4E(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte4E(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte4F(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=111 (BX+d8) + * opModMemByte4F(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte4F(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte50(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=000 (BX+SI+d8) + * opModMemByte50(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte50(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte51(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=001 (BX+DI+d8) + * opModMemByte51(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte51(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte52(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=010 (BP+SI+d8) + * opModMemByte52(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte52(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte53(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=011 (BP+DI+d8) + * opModMemByte53(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte53(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte54(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=100 (SI+d8) + * opModMemByte54(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte54(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte55(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=101 (DI+d8) + * opModMemByte55(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte55(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte56(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=110 (BP+d8) + * opModMemByte56(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte56(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte57(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=111 (BX+d8) + * opModMemByte57(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte57(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte58(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=000 (BX+SI+d8) + * opModMemByte58(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte58(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte59(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=001 (BX+DI+d8) + * opModMemByte59(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte59(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte5A(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=010 (BP+SI+d8) + * opModMemByte5A(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte5A(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte5B(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=011 (BP+DI+d8) + * opModMemByte5B(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte5B(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte5C(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=100 (SI+d8) + * opModMemByte5C(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte5C(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte5D(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=101 (DI+d8) + * opModMemByte5D(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte5D(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte5E(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=110 (BP+d8) + * opModMemByte5E(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte5E(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte5F(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=111 (BX+d8) + * opModMemByte5F(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte5F(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte60(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=000 (BX+SI+d8) + * opModMemByte60(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte60(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte61(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=001 (BX+DI+d8) + * opModMemByte61(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte61(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte62(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=010 (BP+SI+d8) + * opModMemByte62(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte62(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte63(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=011 (BP+DI+d8) + * opModMemByte63(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte63(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte64(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=100 (SI+d8) + * opModMemByte64(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte64(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte65(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=101 (DI+d8) + * opModMemByte65(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte65(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte66(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=110 (BP+d8) + * opModMemByte66(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte66(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte67(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=111 (BX+d8) + * opModMemByte67(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte67(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte68(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=000 (BX+SI+d8) + * opModMemByte68(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte68(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte69(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=001 (BX+DI+d8) + * opModMemByte69(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte69(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte6A(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=010 (BP+SI+d8) + * opModMemByte6A(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte6A(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte6B(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=011 (BP+DI+d8) + * opModMemByte6B(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte6B(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte6C(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=100 (SI+d8) + * opModMemByte6C(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte6C(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte6D(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=101 (DI+d8) + * opModMemByte6D(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte6D(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte6E(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=110 (BP+d8) + * opModMemByte6E(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte6E(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte6F(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=111 (BX+d8) + * opModMemByte6F(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte6F(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte70(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=000 (BX+SI+d8) + * opModMemByte70(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte70(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte71(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=001 (BX+DI+d8) + * opModMemByte71(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte71(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte72(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=010 (BP+SI+d8) + * opModMemByte72(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte72(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte73(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=011 (BP+DI+d8) + * opModMemByte73(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte73(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte74(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=100 (SI+d8) + * opModMemByte74(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte74(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte75(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=101 (DI+d8) + * opModMemByte75(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte75(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte76(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=110 (BP+d8) + * opModMemByte76(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte76(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte77(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=111 (BX+d8) + * opModMemByte77(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte77(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte78(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=000 (BX+SI+d8) + * opModMemByte78(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte78(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte79(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=001 (BX+DI+d8) + * opModMemByte79(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte79(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte7A(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=010 (BP+SI+d8) + * opModMemByte7A(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte7A(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte7B(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=011 (BP+DI+d8) + * opModMemByte7B(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte7B(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte7C(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=100 (SI+d8) + * opModMemByte7C(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte7C(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte7D(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=101 (DI+d8) + * opModMemByte7D(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte7D(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte7E(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=110 (BP+d8) + * opModMemByte7E(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte7E(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte7F(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=111 (BX+d8) + * opModMemByte7F(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte7F(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte80(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=000 (BX+SI+d16) + * opModMemByte80(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte80(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte81(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=001 (BX+DI+d16) + * opModMemByte81(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte81(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte82(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=010 (BP+SI+d16) + * opModMemByte82(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte82(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte83(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=011 (BP+DI+d16) + * opModMemByte83(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte83(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte84(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=100 (SI+d16) + * opModMemByte84(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte84(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte85(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=101 (DI+d16) + * opModMemByte85(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte85(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte86(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=110 (BP+d16) + * opModMemByte86(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte86(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte87(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=111 (BX+d16) + * opModMemByte87(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte87(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), this.regEAX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte88(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=000 (BX+SI+d16) + * opModMemByte88(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte88(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte89(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=001 (BX+DI+d16) + * opModMemByte89(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte89(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte8A(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=010 (BP+SI+d16) + * opModMemByte8A(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte8A(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte8B(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=011 (BP+DI+d16) + * opModMemByte8B(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte8B(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte8C(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=100 (SI+d16) + * opModMemByte8C(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte8C(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte8D(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=101 (DI+d16) + * opModMemByte8D(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte8D(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte8E(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=110 (BP+d16) + * opModMemByte8E(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte8E(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte8F(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=111 (BX+d16) + * opModMemByte8F(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte8F(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), this.regECX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte90(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=000 (BX+SI+d16) + * opModMemByte90(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte90(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte91(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=001 (BX+DI+d16) + * opModMemByte91(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte91(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte92(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=010 (BP+SI+d16) + * opModMemByte92(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte92(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte93(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=011 (BP+DI+d16) + * opModMemByte93(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte93(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte94(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=100 (SI+d16) + * opModMemByte94(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte94(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte95(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=101 (DI+d16) + * opModMemByte95(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte95(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte96(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=110 (BP+d16) + * opModMemByte96(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte96(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte97(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=111 (BX+d16) + * opModMemByte97(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte97(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), this.regEDX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte98(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=000 (BX+SI+d16) + * opModMemByte98(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte98(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte99(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=001 (BX+DI+d16) + * opModMemByte99(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte99(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte9A(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=010 (BP+SI+d16) + * opModMemByte9A(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte9A(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByte9B(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=011 (BP+DI+d16) + * opModMemByte9B(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte9B(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByte9C(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=100 (SI+d16) + * opModMemByte9C(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte9C(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte9D(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=101 (DI+d16) + * opModMemByte9D(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte9D(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte9E(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=110 (BP+d16) + * opModMemByte9E(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte9E(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByte9F(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=111 (BX+d16) + * opModMemByte9F(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByte9F(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), this.regEBX & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteA0(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=000 (BX+SI+d16) + * opModMemByteA0(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteA0(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByteA1(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=001 (BX+DI+d16) + * opModMemByteA1(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteA1(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByteA2(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=010 (BP+SI+d16) + * opModMemByteA2(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteA2(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByteA3(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=011 (BP+DI+d16) + * opModMemByteA3(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteA3(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByteA4(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=100 (SI+d16) + * opModMemByteA4(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteA4(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteA5(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=101 (DI+d16) + * opModMemByteA5(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteA5(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteA6(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=110 (BP+d16) + * opModMemByteA6(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteA6(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteA7(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=111 (BX+d16) + * opModMemByteA7(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteA7(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), (this.regEAX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteA8(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=000 (BX+SI+d16) + * opModMemByteA8(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteA8(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByteA9(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=001 (BX+DI+d16) + * opModMemByteA9(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteA9(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByteAA(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=010 (BP+SI+d16) + * opModMemByteAA(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteAA(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByteAB(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=011 (BP+DI+d16) + * opModMemByteAB(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteAB(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByteAC(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=100 (SI+d16) + * opModMemByteAC(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteAC(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteAD(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=101 (DI+d16) + * opModMemByteAD(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteAD(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteAE(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=110 (BP+d16) + * opModMemByteAE(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteAE(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteAF(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=111 (BX+d16) + * opModMemByteAF(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteAF(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), (this.regECX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteB0(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=000 (BX+SI+d16) + * opModMemByteB0(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteB0(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByteB1(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=001 (BX+DI+d16) + * opModMemByteB1(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteB1(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByteB2(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=010 (BP+SI+d16) + * opModMemByteB2(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteB2(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByteB3(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=011 (BP+DI+d16) + * opModMemByteB3(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteB3(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByteB4(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=100 (SI+d16) + * opModMemByteB4(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteB4(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteB5(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=101 (DI+d16) + * opModMemByteB5(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteB5(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteB6(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=110 (BP+d16) + * opModMemByteB6(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteB6(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteB7(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=111 (BX+d16) + * opModMemByteB7(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteB7(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), (this.regEDX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteB8(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=000 (BX+SI+d16) + * opModMemByteB8(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteB8(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByteB9(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=001 (BX+DI+d16) + * opModMemByteB9(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteB9(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByteBA(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=010 (BP+SI+d16) + * opModMemByteBA(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteBA(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemByteBB(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=011 (BP+DI+d16) + * opModMemByteBB(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteBB(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemByteBC(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=100 (SI+d16) + * opModMemByteBC(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteBC(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteBD(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=101 (DI+d16) + * opModMemByteBD(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteBD(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteBE(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=110 (BP+d16) + * opModMemByteBE(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteBE(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemByteBF(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=111 (BX+d16) + * opModMemByteBF(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemByteBF(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), (this.regEBX >> 8) & 0xff); if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; @@ -5366,79 +5366,79 @@ X86ModB.aOpModMem = [ X86ModB.aOpModGrp = [ /** - * opModGrpByte00(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI) + * opModGrpByte00(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte00(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte01(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI) + * opModGrpByte01(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte01(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte02(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI) + * opModGrpByte02(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte02(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte03(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI) + * opModGrpByte03(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte03(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte04(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=100 (SI) + * opModGrpByte04(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte04(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte05(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=101 (DI) + * opModGrpByte05(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte05(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte06(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=110 (d16) + * opModGrpByte06(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -5450,91 +5450,91 @@ X86ModB.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpByte07(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=111 (BX) + * opModGrpByte07(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte07(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte08(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI) + * opModGrpByte08(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte08(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte09(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI) + * opModGrpByte09(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte09(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte0A(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI) + * opModGrpByte0A(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte0A(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte0B(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI) + * opModGrpByte0B(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte0B(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte0C(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=100 (SI) + * opModGrpByte0C(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte0C(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte0D(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=101 (DI) + * opModGrpByte0D(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte0D(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte0E(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=110 (d16) + * opModGrpByte0E(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -5546,91 +5546,91 @@ X86ModB.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpByte0F(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=111 (BX) + * opModGrpByte0F(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte0F(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte10(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI) + * opModGrpByte10(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte10(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte11(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI) + * opModGrpByte11(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte11(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte12(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI) + * opModGrpByte12(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte12(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte13(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI) + * opModGrpByte13(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte13(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte14(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=100 (SI) + * opModGrpByte14(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte14(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte15(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=101 (DI) + * opModGrpByte15(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte15(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte16(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=110 (d16) + * opModGrpByte16(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -5642,91 +5642,91 @@ X86ModB.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpByte17(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=111 (BX) + * opModGrpByte17(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte17(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte18(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI) + * opModGrpByte18(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte18(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte19(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI) + * opModGrpByte19(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte19(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte1A(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI) + * opModGrpByte1A(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte1A(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte1B(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI) + * opModGrpByte1B(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte1B(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte1C(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=100 (SI) + * opModGrpByte1C(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte1C(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte1D(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=101 (DI) + * opModGrpByte1D(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte1D(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte1E(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=110 (d16) + * opModGrpByte1E(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -5738,91 +5738,91 @@ X86ModB.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpByte1F(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=111 (BX) + * opModGrpByte1F(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte1F(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte20(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI) + * opModGrpByte20(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte20(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte21(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI) + * opModGrpByte21(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte21(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte22(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI) + * opModGrpByte22(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte22(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte23(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI) + * opModGrpByte23(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte23(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte24(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=100 (SI) + * opModGrpByte24(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte24(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte25(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=101 (DI) + * opModGrpByte25(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte25(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte26(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=110 (d16) + * opModGrpByte26(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -5834,91 +5834,91 @@ X86ModB.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpByte27(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=111 (BX) + * opModGrpByte27(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte27(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte28(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI) + * opModGrpByte28(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte28(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte29(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI) + * opModGrpByte29(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte29(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte2A(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI) + * opModGrpByte2A(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte2A(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte2B(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI) + * opModGrpByte2B(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte2B(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte2C(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=100 (SI) + * opModGrpByte2C(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte2C(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte2D(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=101 (DI) + * opModGrpByte2D(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte2D(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte2E(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=110 (d16) + * opModGrpByte2E(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -5930,91 +5930,91 @@ X86ModB.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpByte2F(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=111 (BX) + * opModGrpByte2F(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte2F(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte30(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI) + * opModGrpByte30(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte30(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte31(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI) + * opModGrpByte31(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte31(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte32(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI) + * opModGrpByte32(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte32(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte33(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI) + * opModGrpByte33(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte33(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte34(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=100 (SI) + * opModGrpByte34(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte34(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte35(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=101 (DI) + * opModGrpByte35(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte35(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte36(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=110 (d16) + * opModGrpByte36(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -6026,91 +6026,91 @@ X86ModB.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpByte37(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=111 (BX) + * opModGrpByte37(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte37(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte38(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI) + * opModGrpByte38(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte38(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte39(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI) + * opModGrpByte39(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte39(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte3A(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI) + * opModGrpByte3A(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte3A(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpByte3B(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI) + * opModGrpByte3B(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte3B(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpByte3C(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=100 (SI) + * opModGrpByte3C(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte3C(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte3D(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=101 (DI) + * opModGrpByte3D(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte3D(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte3E(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=110 (d16) + * opModGrpByte3E(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -6122,1555 +6122,1555 @@ X86ModB.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpByte3F(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=111 (BX) + * opModGrpByte3F(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte3F(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpByte40(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d8) + * opModGrpByte40(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte40(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte41(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d8) + * opModGrpByte41(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte41(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte42(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d8) + * opModGrpByte42(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte42(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte43(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d8) + * opModGrpByte43(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte43(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte44(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=100 (SI+d8) + * opModGrpByte44(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte44(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte45(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=101 (DI+d8) + * opModGrpByte45(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte45(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte46(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=110 (BP+d8) + * opModGrpByte46(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte46(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte47(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=111 (BX+d8) + * opModGrpByte47(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte47(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte48(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d8) + * opModGrpByte48(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte48(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte49(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d8) + * opModGrpByte49(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte49(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte4A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d8) + * opModGrpByte4A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte4A(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte4B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d8) + * opModGrpByte4B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte4B(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte4C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=100 (SI+d8) + * opModGrpByte4C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte4C(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte4D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=101 (DI+d8) + * opModGrpByte4D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte4D(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte4E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=110 (BP+d8) + * opModGrpByte4E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte4E(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte4F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=111 (BX+d8) + * opModGrpByte4F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte4F(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte50(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d8) + * opModGrpByte50(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte50(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte51(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d8) + * opModGrpByte51(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte51(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte52(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d8) + * opModGrpByte52(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte52(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte53(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d8) + * opModGrpByte53(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte53(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte54(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=100 (SI+d8) + * opModGrpByte54(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte54(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte55(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=101 (DI+d8) + * opModGrpByte55(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte55(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte56(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=110 (BP+d8) + * opModGrpByte56(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte56(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte57(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=111 (BX+d8) + * opModGrpByte57(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte57(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte58(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d8) + * opModGrpByte58(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte58(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte59(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d8) + * opModGrpByte59(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte59(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte5A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d8) + * opModGrpByte5A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte5A(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte5B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d8) + * opModGrpByte5B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte5B(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte5C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=100 (SI+d8) + * opModGrpByte5C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte5C(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte5D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=101 (DI+d8) + * opModGrpByte5D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte5D(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte5E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=110 (BP+d8) + * opModGrpByte5E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte5E(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte5F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=111 (BX+d8) + * opModGrpByte5F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte5F(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte60(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d8) + * opModGrpByte60(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte60(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte61(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d8) + * opModGrpByte61(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte61(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte62(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d8) + * opModGrpByte62(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte62(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte63(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d8) + * opModGrpByte63(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte63(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte64(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=100 (SI+d8) + * opModGrpByte64(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte64(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte65(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=101 (DI+d8) + * opModGrpByte65(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte65(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte66(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=110 (BP+d8) + * opModGrpByte66(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte66(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte67(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=111 (BX+d8) + * opModGrpByte67(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte67(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte68(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d8) + * opModGrpByte68(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte68(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte69(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d8) + * opModGrpByte69(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte69(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte6A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d8) + * opModGrpByte6A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte6A(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte6B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d8) + * opModGrpByte6B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte6B(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte6C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=100 (SI+d8) + * opModGrpByte6C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte6C(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte6D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=101 (DI+d8) + * opModGrpByte6D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte6D(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte6E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=110 (BP+d8) + * opModGrpByte6E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte6E(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte6F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=111 (BX+d8) + * opModGrpByte6F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte6F(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte70(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d8) + * opModGrpByte70(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte70(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte71(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d8) + * opModGrpByte71(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte71(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte72(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d8) + * opModGrpByte72(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte72(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte73(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d8) + * opModGrpByte73(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte73(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte74(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=100 (SI+d8) + * opModGrpByte74(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte74(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte75(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=101 (DI+d8) + * opModGrpByte75(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte75(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte76(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=110 (BP+d8) + * opModGrpByte76(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte76(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte77(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=111 (BX+d8) + * opModGrpByte77(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte77(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte78(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d8) + * opModGrpByte78(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte78(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte79(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d8) + * opModGrpByte79(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte79(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte7A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d8) + * opModGrpByte7A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte7A(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte7B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d8) + * opModGrpByte7B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte7B(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte7C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=100 (SI+d8) + * opModGrpByte7C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte7C(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte7D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=101 (DI+d8) + * opModGrpByte7D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte7D(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte7E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=110 (BP+d8) + * opModGrpByte7E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte7E(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte7F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=111 (BX+d8) + * opModGrpByte7F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte7F(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte80(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d16) + * opModGrpByte80(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte80(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte81(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d16) + * opModGrpByte81(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte81(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte82(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d16) + * opModGrpByte82(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte82(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte83(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d16) + * opModGrpByte83(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte83(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte84(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=100 (SI+d16) + * opModGrpByte84(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte84(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte85(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=101 (DI+d16) + * opModGrpByte85(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte85(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte86(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=110 (BP+d16) + * opModGrpByte86(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte86(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte87(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=111 (BX+d16) + * opModGrpByte87(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte87(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte88(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d16) + * opModGrpByte88(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte88(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte89(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d16) + * opModGrpByte89(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte89(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte8A(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d16) + * opModGrpByte8A(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte8A(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte8B(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d16) + * opModGrpByte8B(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte8B(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte8C(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=100 (SI+d16) + * opModGrpByte8C(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte8C(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte8D(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=101 (DI+d16) + * opModGrpByte8D(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte8D(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte8E(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=110 (BP+d16) + * opModGrpByte8E(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte8E(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte8F(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=111 (BX+d16) + * opModGrpByte8F(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte8F(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte90(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d16) + * opModGrpByte90(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte90(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte91(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d16) + * opModGrpByte91(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte91(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte92(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d16) + * opModGrpByte92(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte92(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte93(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d16) + * opModGrpByte93(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte93(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte94(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=100 (SI+d16) + * opModGrpByte94(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte94(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte95(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=101 (DI+d16) + * opModGrpByte95(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte95(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte96(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=110 (BP+d16) + * opModGrpByte96(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte96(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte97(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=111 (BX+d16) + * opModGrpByte97(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte97(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte98(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d16) + * opModGrpByte98(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte98(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte99(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d16) + * opModGrpByte99(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte99(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte9A(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d16) + * opModGrpByte9A(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte9A(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByte9B(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d16) + * opModGrpByte9B(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte9B(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByte9C(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=100 (SI+d16) + * opModGrpByte9C(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte9C(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte9D(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=101 (DI+d16) + * opModGrpByte9D(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte9D(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte9E(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=110 (BP+d16) + * opModGrpByte9E(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte9E(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByte9F(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=111 (BX+d16) + * opModGrpByte9F(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByte9F(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteA0(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d16) + * opModGrpByteA0(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteA0(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByteA1(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d16) + * opModGrpByteA1(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteA1(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByteA2(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d16) + * opModGrpByteA2(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteA2(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByteA3(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d16) + * opModGrpByteA3(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteA3(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByteA4(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=100 (SI+d16) + * opModGrpByteA4(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteA4(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteA5(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=101 (DI+d16) + * opModGrpByteA5(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteA5(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteA6(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=110 (BP+d16) + * opModGrpByteA6(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteA6(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteA7(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=111 (BX+d16) + * opModGrpByteA7(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteA7(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteA8(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d16) + * opModGrpByteA8(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteA8(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByteA9(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d16) + * opModGrpByteA9(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteA9(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByteAA(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d16) + * opModGrpByteAA(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteAA(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByteAB(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d16) + * opModGrpByteAB(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteAB(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByteAC(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=100 (SI+d16) + * opModGrpByteAC(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteAC(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteAD(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=101 (DI+d16) + * opModGrpByteAD(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteAD(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteAE(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=110 (BP+d16) + * opModGrpByteAE(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteAE(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteAF(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=111 (BX+d16) + * opModGrpByteAF(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteAF(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteB0(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d16) + * opModGrpByteB0(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteB0(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByteB1(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d16) + * opModGrpByteB1(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteB1(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByteB2(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d16) + * opModGrpByteB2(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteB2(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByteB3(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d16) + * opModGrpByteB3(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteB3(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByteB4(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=100 (SI+d16) + * opModGrpByteB4(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteB4(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteB5(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=101 (DI+d16) + * opModGrpByteB5(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteB5(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteB6(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=110 (BP+d16) + * opModGrpByteB6(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteB6(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteB7(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=111 (BX+d16) + * opModGrpByteB7(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteB7(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteB8(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d16) + * opModGrpByteB8(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteB8(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByteB9(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d16) + * opModGrpByteB9(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteB9(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByteBA(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d16) + * opModGrpByteBA(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteBA(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpByteBB(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d16) + * opModGrpByteBB(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteBB(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpByteBC(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=100 (SI+d16) + * opModGrpByteBC(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteBC(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteBD(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=101 (DI+d16) + * opModGrpByteBD(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteBD(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteBE(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=110 (BP+d16) + * opModGrpByteBE(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteBE(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteBF(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=111 (BX+d16) + * opModGrpByteBF(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpByteBF(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAByte(b); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpByteC0(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=000 (AL) + * opModGrpByteC0(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=000 (AL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7682,7 +7682,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; }, /** - * opModGrpByteC1(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=001 (CL) + * opModGrpByteC1(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=001 (CL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7694,7 +7694,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; }, /** - * opModGrpByteC2(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=010 (DL) + * opModGrpByteC2(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=010 (DL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7706,7 +7706,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; }, /** - * opModGrpByteC3(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=011 (BL) + * opModGrpByteC3(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=011 (BL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7718,7 +7718,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; }, /** - * opModGrpByteC4(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=100 (AH) + * opModGrpByteC4(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=100 (AH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7730,7 +7730,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; }, /** - * opModGrpByteC5(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=101 (CH) + * opModGrpByteC5(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=101 (CH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7742,7 +7742,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; }, /** - * opModGrpByteC6(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=110 (DH) + * opModGrpByteC6(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=110 (DH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7754,7 +7754,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; }, /** - * opModGrpByteC7(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=111 (BH) + * opModGrpByteC7(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=111 (BH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7766,7 +7766,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; }, /** - * opModGrpByteC8(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=000 (AL) + * opModGrpByteC8(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=000 (AL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7778,7 +7778,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; }, /** - * opModGrpByteC9(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=001 (CL) + * opModGrpByteC9(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=001 (CL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7790,7 +7790,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; }, /** - * opModGrpByteCA(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=010 (DL) + * opModGrpByteCA(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=010 (DL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7802,7 +7802,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; }, /** - * opModGrpByteCB(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=011 (BL) + * opModGrpByteCB(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=011 (BL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7814,7 +7814,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; }, /** - * opModGrpByteCC(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=100 (AH) + * opModGrpByteCC(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=100 (AH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7826,7 +7826,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; }, /** - * opModGrpByteCD(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=101 (CH) + * opModGrpByteCD(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=101 (CH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7838,7 +7838,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; }, /** - * opModGrpByteCE(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=110 (DH) + * opModGrpByteCE(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=110 (DH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7850,7 +7850,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; }, /** - * opModGrpByteCF(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=111 (BH) + * opModGrpByteCF(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=111 (BH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7862,7 +7862,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; }, /** - * opModGrpByteD0(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=000 (AL) + * opModGrpByteD0(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=000 (AL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7874,7 +7874,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; }, /** - * opModGrpByteD1(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=001 (CL) + * opModGrpByteD1(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=001 (CL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7886,7 +7886,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; }, /** - * opModGrpByteD2(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=010 (DL) + * opModGrpByteD2(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=010 (DL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7898,7 +7898,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; }, /** - * opModGrpByteD3(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=011 (BL) + * opModGrpByteD3(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=011 (BL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7910,7 +7910,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; }, /** - * opModGrpByteD4(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=100 (AH) + * opModGrpByteD4(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=100 (AH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7922,7 +7922,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; }, /** - * opModGrpByteD5(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=101 (CH) + * opModGrpByteD5(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=101 (CH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7934,7 +7934,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; }, /** - * opModGrpByteD6(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=110 (DH) + * opModGrpByteD6(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=110 (DH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7946,7 +7946,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; }, /** - * opModGrpByteD7(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=111 (BH) + * opModGrpByteD7(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=111 (BH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7958,7 +7958,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; }, /** - * opModGrpByteD8(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=000 (AL) + * opModGrpByteD8(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=000 (AL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7970,7 +7970,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; }, /** - * opModGrpByteD9(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=001 (CL) + * opModGrpByteD9(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=001 (CL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7982,7 +7982,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; }, /** - * opModGrpByteDA(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=010 (DL) + * opModGrpByteDA(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=010 (DL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -7994,7 +7994,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; }, /** - * opModGrpByteDB(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=011 (BL) + * opModGrpByteDB(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=011 (BL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8006,7 +8006,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; }, /** - * opModGrpByteDC(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=100 (AH) + * opModGrpByteDC(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=100 (AH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8018,7 +8018,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; }, /** - * opModGrpByteDD(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=101 (CH) + * opModGrpByteDD(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=101 (CH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8030,7 +8030,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; }, /** - * opModGrpByteDE(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=110 (DH) + * opModGrpByteDE(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=110 (DH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8042,7 +8042,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; }, /** - * opModGrpByteDF(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=111 (BH) + * opModGrpByteDF(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=111 (BH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8054,7 +8054,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; }, /** - * opModGrpByteE0(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=000 (AL) + * opModGrpByteE0(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=000 (AL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8066,7 +8066,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; }, /** - * opModGrpByteE1(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=001 (CL) + * opModGrpByteE1(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=001 (CL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8078,7 +8078,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; }, /** - * opModGrpByteE2(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=010 (DL) + * opModGrpByteE2(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=010 (DL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8090,7 +8090,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; }, /** - * opModGrpByteE3(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=011 (BL) + * opModGrpByteE3(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=011 (BL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8102,7 +8102,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; }, /** - * opModGrpByteE4(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=100 (AH) + * opModGrpByteE4(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=100 (AH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8114,7 +8114,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; }, /** - * opModGrpByteE5(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=101 (CH) + * opModGrpByteE5(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=101 (CH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8126,7 +8126,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; }, /** - * opModGrpByteE6(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=110 (DH) + * opModGrpByteE6(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=110 (DH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8138,7 +8138,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; }, /** - * opModGrpByteE7(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=111 (BH) + * opModGrpByteE7(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=111 (BH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8150,7 +8150,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; }, /** - * opModGrpByteE8(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=000 (AL) + * opModGrpByteE8(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=000 (AL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8162,7 +8162,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; }, /** - * opModGrpByteE9(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=001 (CL) + * opModGrpByteE9(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=001 (CL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8174,7 +8174,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; }, /** - * opModGrpByteEA(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=010 (DL) + * opModGrpByteEA(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=010 (DL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8186,7 +8186,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; }, /** - * opModGrpByteEB(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=011 (BL) + * opModGrpByteEB(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=011 (BL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8198,7 +8198,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; }, /** - * opModGrpByteEC(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=100 (AH) + * opModGrpByteEC(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=100 (AH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8210,7 +8210,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; }, /** - * opModGrpByteED(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=101 (CH) + * opModGrpByteED(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=101 (CH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8222,7 +8222,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; }, /** - * opModGrpByteEE(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=110 (DH) + * opModGrpByteEE(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=110 (DH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8234,7 +8234,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; }, /** - * opModGrpByteEF(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=111 (BH) + * opModGrpByteEF(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=111 (BH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8246,7 +8246,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; }, /** - * opModGrpByteF0(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=000 (AL) + * opModGrpByteF0(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=000 (AL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8258,7 +8258,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; }, /** - * opModGrpByteF1(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=001 (CL) + * opModGrpByteF1(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=001 (CL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8270,7 +8270,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; }, /** - * opModGrpByteF2(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=010 (DL) + * opModGrpByteF2(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=010 (DL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8282,7 +8282,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; }, /** - * opModGrpByteF3(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=011 (BL) + * opModGrpByteF3(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=011 (BL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8294,7 +8294,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; }, /** - * opModGrpByteF4(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=100 (AH) + * opModGrpByteF4(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=100 (AH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8306,7 +8306,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; }, /** - * opModGrpByteF5(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=101 (CH) + * opModGrpByteF5(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=101 (CH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8318,7 +8318,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; }, /** - * opModGrpByteF6(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=110 (DH) + * opModGrpByteF6(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=110 (DH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8330,7 +8330,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; }, /** - * opModGrpByteF7(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=111 (BH) + * opModGrpByteF7(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=111 (BH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8342,7 +8342,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; }, /** - * opModGrpByteF8(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=000 (AL) + * opModGrpByteF8(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=000 (AL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8354,7 +8354,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; }, /** - * opModGrpByteF9(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=001 (CL) + * opModGrpByteF9(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=001 (CL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8366,7 +8366,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; }, /** - * opModGrpByteFA(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=010 (DL) + * opModGrpByteFA(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=010 (DL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8378,7 +8378,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; }, /** - * opModGrpByteFB(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=011 (BL) + * opModGrpByteFB(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=011 (BL) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8390,7 +8390,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; }, /** - * opModGrpByteFC(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=100 (AH) + * opModGrpByteFC(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=100 (AH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8402,7 +8402,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; }, /** - * opModGrpByteFD(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=101 (CH) + * opModGrpByteFD(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=101 (CH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8414,7 +8414,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; }, /** - * opModGrpByteFE(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=110 (DH) + * opModGrpByteFE(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=110 (DH) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8426,7 +8426,7 @@ X86ModB.aOpModGrp = [ if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; }, /** - * opModGrpByteFF(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=111 (BH) + * opModGrpByteFF(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=111 (BH) * * @this {X86CPU} * @param {Array.} afnGrp diff --git a/modules/pcjs/lib/x86modb32.js b/modules/pcjs/lib/x86modb32.js new file mode 100644 index 000000000..bdb6c6b2e --- /dev/null +++ b/modules/pcjs/lib/x86modb32.js @@ -0,0 +1,8490 @@ +/** + * @fileoverview Implements PCjs 80386 mode-byte decoding. + * @author Jeff Parsons + * @version 1.0 + * Created 2015-Jan-20 + * + * Copyright © 2012-2015 Jeff Parsons + * + * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines) + * at and . + * + * PCjs is free software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with PCjs. If not, + * see . + * + * You are required to include the above copyright notice in every source code file of every + * copy or modified version of this work, and to display that copyright notice on every screen + * that loads or runs any version of this software (see Computer.sCopyright). + * + * Some PCjs files also attempt to load external resource files, such as character-image files, + * ROM files, and disk image files. Those external resource files are not considered part of the + * PCjs program for purposes of the GNU General Public License, and the author does not claim + * any copyright as to their contents. + */ + +"use strict"; + +if (typeof module !== 'undefined') { + var X86 = require("./x86"); +} + +var X86ModB32 = {}; + +X86ModB32.aOpModReg = [ + /** + * opMod32RegByte00(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte00(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEAX)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte01(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte01(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regECX)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte02(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte02(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEDX)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte03(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte03(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEBX)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte04(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte04(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.getSIB(0))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte05(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte05(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegByte06(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte06(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regESI)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte07(fn): mod=00 (src:mem) reg=000 (dst:AL) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte07(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEDI)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte08(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte08(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEAX)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte09(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte09(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regECX)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte0A(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte0A(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEDX)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte0B(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte0B(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEBX)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte0C(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte0C(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.getSIB(0))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte0D(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte0D(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegByte0E(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte0E(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regESI)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte0F(fn): mod=00 (src:mem) reg=001 (dst:CL) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte0F(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEDI)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte10(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte10(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEAX)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte11(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte11(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regECX)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte12(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte12(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEDX)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte13(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte13(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEBX)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte14(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte14(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.getSIB(0))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte15(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte15(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegByte16(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte16(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regESI)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte17(fn): mod=00 (src:mem) reg=010 (dst:DL) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte17(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEDI)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte18(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte18(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEAX)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte19(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte19(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regECX)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte1A(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte1A(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEDX)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte1B(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte1B(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEBX)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte1C(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte1C(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.getSIB(0))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte1D(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte1D(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegByte1E(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte1E(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regESI)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte1F(fn): mod=00 (src:mem) reg=011 (dst:BL) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte1F(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEDI)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte20(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte20(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEAX)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte21(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte21(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regECX)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte22(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte22(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDX)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte23(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte23(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte24(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte24(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.getSIB(0))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte25(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte25(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegByte26(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte26(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte27(fn): mod=00 (src:mem) reg=100 (dst:AH) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte27(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte28(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte28(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEAX)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte29(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte29(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regECX)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte2A(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte2A(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDX)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte2B(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte2B(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte2C(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte2C(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.getSIB(0))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte2D(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte2D(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegByte2E(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte2E(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte2F(fn): mod=00 (src:mem) reg=101 (dst:CH) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte2F(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte30(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte30(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEAX)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte31(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte31(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regECX)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte32(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte32(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDX)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte33(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte33(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte34(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte34(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.getSIB(0))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte35(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte35(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegByte36(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte36(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte37(fn): mod=00 (src:mem) reg=110 (dst:DH) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte37(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte38(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte38(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEAX)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte39(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte39(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regECX)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte3A(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte3A(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDX)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte3B(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte3B(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte3C(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte3C(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.getSIB(0))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte3D(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte3D(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegByte3E(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte3E(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte3F(fn): mod=00 (src:mem) reg=111 (dst:BH) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte3F(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegByte40(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte40(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte41(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte41(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte42(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte42(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte43(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte43(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte44(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte44(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte45(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte45(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte46(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte46(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte47(fn): mod=01 (src:mem+d8) reg=000 (dst:AL) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte47(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte48(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte48(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte49(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte49(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte4A(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte4A(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte4B(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte4B(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte4C(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte4C(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte4D(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte4D(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte4E(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte4E(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte4F(fn): mod=01 (src:mem+d8) reg=001 (dst:CL) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte4F(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte50(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte50(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte51(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte51(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte52(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte52(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte53(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte53(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte54(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte54(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte55(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte55(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte56(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte56(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte57(fn): mod=01 (src:mem+d8) reg=010 (dst:DL) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte57(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte58(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte58(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte59(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte59(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte5A(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte5A(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte5B(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte5B(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte5C(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte5C(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte5D(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte5D(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte5E(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte5E(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte5F(fn): mod=01 (src:mem+d8) reg=011 (dst:BL) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte5F(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte60(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte60(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte61(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte61(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte62(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte62(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte63(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte63(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte64(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte64(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte65(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte65(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte66(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte66(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte67(fn): mod=01 (src:mem+d8) reg=100 (dst:AH) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte67(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPDisp())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte68(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte68(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte69(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte69(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte6A(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte6A(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte6B(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte6B(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte6C(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte6C(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte6D(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte6D(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte6E(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte6E(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte6F(fn): mod=01 (src:mem+d8) reg=101 (dst:CH) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte6F(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPDisp())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte70(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte70(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte71(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte71(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte72(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte72(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte73(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte73(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte74(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte74(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte75(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte75(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte76(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte76(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte77(fn): mod=01 (src:mem+d8) reg=110 (dst:DH) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte77(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPDisp())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte78(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte78(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte79(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte79(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte7A(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte7A(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte7B(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte7B(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte7C(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte7C(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte7D(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte7D(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte7E(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte7E(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte7F(fn): mod=01 (src:mem+d8) reg=111 (dst:BH) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte7F(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPDisp())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte80(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte80(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte81(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte81(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte82(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte82(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte83(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte83(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte84(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte84(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.getSIB(2) + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte85(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte85(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte86(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte86(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte87(fn): mod=10 (src:mem+d16) reg=000 (dst:AL) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte87(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte88(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte88(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPWord())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte89(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte89(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPWord())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte8A(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte8A(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPWord())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte8B(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte8B(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPWord())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte8C(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte8C(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.getSIB(2) + this.getIPWord())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte8D(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte8D(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPWord())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte8E(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte8E(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPWord())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte8F(fn): mod=10 (src:mem+d16) reg=001 (dst:CL) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte8F(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPWord())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte90(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte90(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte91(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte91(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte92(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte92(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte93(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte93(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte94(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte94(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.getSIB(2) + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte95(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte95(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte96(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte96(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte97(fn): mod=10 (src:mem+d16) reg=010 (dst:DL) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte97(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte98(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte98(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte99(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte99(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte9A(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte9A(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte9B(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte9B(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte9C(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte9C(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.getSIB(2) + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte9D(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte9D(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte9E(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte9E(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByte9F(fn): mod=10 (src:mem+d16) reg=011 (dst:BL) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByte9F(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteA0(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteA0(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteA1(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteA1(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteA2(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteA2(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteA3(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteA3(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteA4(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteA4(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.getSIB(2) + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteA5(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteA5(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteA6(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteA6(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteA7(fn): mod=10 (src:mem+d16) reg=100 (dst:AH) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteA7(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteA8(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteA8(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPWord())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteA9(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteA9(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPWord())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteAA(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteAA(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPWord())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteAB(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteAB(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPWord())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteAC(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteAC(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.getSIB(2) + this.getIPWord())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteAD(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteAD(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPWord())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteAE(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteAE(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPWord())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteAF(fn): mod=10 (src:mem+d16) reg=101 (dst:CH) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteAF(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPWord())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteB0(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteB0(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteB1(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteB1(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteB2(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteB2(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteB3(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteB3(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteB4(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteB4(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.getSIB(2) + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteB5(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteB5(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteB6(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteB6(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteB7(fn): mod=10 (src:mem+d16) reg=110 (dst:DH) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteB7(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteB8(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteB8(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEAX + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteB9(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteB9(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regECX + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteBA(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteBA(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDX + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteBB(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteBB(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBX + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteBC(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteBC(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.getSIB(2) + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteBD(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteBD(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEBP + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteBE(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteBE(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regESI + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteBF(fn): mod=10 (src:mem+d16) reg=111 (dst:BH) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteBF(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.regEDI + this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegByteC0(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteC0(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.regEAX & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + }, + /** + * opMod32RegByteC1(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteC1(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.regECX & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiCL; + }, + /** + * opMod32RegByteC2(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteC2(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.regEDX & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiDL; + }, + /** + * opMod32RegByteC3(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteC3(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.regEBX & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiBL; + }, + /** + * opMod32RegByteC4(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteC4(fn) { + var b = fn.call(this, this.regEAX & 0xff, (this.regEAX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiAH; + }, + /** + * opMod32RegByteC5(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteC5(fn) { + var b = fn.call(this, this.regEAX & 0xff, (this.regECX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiCH; + }, + /** + * opMod32RegByteC6(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteC6(fn) { + var b = fn.call(this, this.regEAX & 0xff, (this.regEDX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiDH; + }, + /** + * opMod32RegByteC7(fn): mod=11 (src:reg) reg=000 (dst:AL) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteC7(fn) { + var b = fn.call(this, this.regEAX & 0xff, (this.regEBX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiBH; + }, + /** + * opMod32RegByteC8(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteC8(fn) { + var b = fn.call(this, this.regECX & 0xff, this.regEAX & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiAL; + }, + /** + * opMod32RegByteC9(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteC9(fn) { + var b = fn.call(this, this.regECX & 0xff, this.regECX & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + }, + /** + * opMod32RegByteCA(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteCA(fn) { + var b = fn.call(this, this.regECX & 0xff, this.regEDX & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiDL; + }, + /** + * opMod32RegByteCB(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteCB(fn) { + var b = fn.call(this, this.regECX & 0xff, this.regEBX & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiBL; + }, + /** + * opMod32RegByteCC(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteCC(fn) { + var b = fn.call(this, this.regECX & 0xff, (this.regEAX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiAH; + }, + /** + * opMod32RegByteCD(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteCD(fn) { + var b = fn.call(this, this.regECX & 0xff, (this.regECX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiCH; + }, + /** + * opMod32RegByteCE(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteCE(fn) { + var b = fn.call(this, this.regECX & 0xff, (this.regEDX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiDH; + }, + /** + * opMod32RegByteCF(fn): mod=11 (src:reg) reg=001 (dst:CL) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteCF(fn) { + var b = fn.call(this, this.regECX & 0xff, (this.regEBX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiBH; + }, + /** + * opMod32RegByteD0(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteD0(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.regEAX & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiAL; + }, + /** + * opMod32RegByteD1(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteD1(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.regECX & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiCL; + }, + /** + * opMod32RegByteD2(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteD2(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.regEDX & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + }, + /** + * opMod32RegByteD3(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteD3(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.regEBX & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiBL; + }, + /** + * opMod32RegByteD4(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteD4(fn) { + var b = fn.call(this, this.regEDX & 0xff, (this.regEAX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiAH; + }, + /** + * opMod32RegByteD5(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteD5(fn) { + var b = fn.call(this, this.regEDX & 0xff, (this.regECX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiCH; + }, + /** + * opMod32RegByteD6(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteD6(fn) { + var b = fn.call(this, this.regEDX & 0xff, (this.regEDX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiDH; + }, + /** + * opMod32RegByteD7(fn): mod=11 (src:reg) reg=010 (dst:DL) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteD7(fn) { + var b = fn.call(this, this.regEDX & 0xff, (this.regEBX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiBH; + }, + /** + * opMod32RegByteD8(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteD8(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.regEAX & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiAL; + }, + /** + * opMod32RegByteD9(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteD9(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.regECX & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiCL; + }, + /** + * opMod32RegByteDA(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteDA(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.regEDX & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiDL; + }, + /** + * opMod32RegByteDB(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteDB(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.regEBX & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + }, + /** + * opMod32RegByteDC(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteDC(fn) { + var b = fn.call(this, this.regEBX & 0xff, (this.regEAX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiAH; + }, + /** + * opMod32RegByteDD(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteDD(fn) { + var b = fn.call(this, this.regEBX & 0xff, (this.regECX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiCH; + }, + /** + * opMod32RegByteDE(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteDE(fn) { + var b = fn.call(this, this.regEBX & 0xff, (this.regEDX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiDH; + }, + /** + * opMod32RegByteDF(fn): mod=11 (src:reg) reg=011 (dst:BL) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteDF(fn) { + var b = fn.call(this, this.regEBX & 0xff, (this.regEBX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiBH; + }, + /** + * opMod32RegByteE0(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteE0(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.regEAX & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiAL; + }, + /** + * opMod32RegByteE1(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteE1(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.regECX & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiCL; + }, + /** + * opMod32RegByteE2(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteE2(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.regEDX & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiDL; + }, + /** + * opMod32RegByteE3(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteE3(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.regEBX & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiBL; + }, + /** + * opMod32RegByteE4(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteE4(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, (this.regEAX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + }, + /** + * opMod32RegByteE5(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteE5(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, (this.regECX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiCH; + }, + /** + * opMod32RegByteE6(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteE6(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, (this.regEDX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiDH; + }, + /** + * opMod32RegByteE7(fn): mod=11 (src:reg) reg=100 (dst:AH) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteE7(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, (this.regEBX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiBH; + }, + /** + * opMod32RegByteE8(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteE8(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.regEAX & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiAL; + }, + /** + * opMod32RegByteE9(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteE9(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.regECX & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiCL; + }, + /** + * opMod32RegByteEA(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteEA(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.regEDX & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiDL; + }, + /** + * opMod32RegByteEB(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteEB(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.regEBX & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiBL; + }, + /** + * opMod32RegByteEC(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteEC(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, (this.regEAX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiAH; + }, + /** + * opMod32RegByteED(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteED(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, (this.regECX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + }, + /** + * opMod32RegByteEE(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteEE(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, (this.regEDX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiDH; + }, + /** + * opMod32RegByteEF(fn): mod=11 (src:reg) reg=101 (dst:CH) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteEF(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, (this.regEBX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiBH; + }, + /** + * opMod32RegByteF0(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteF0(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.regEAX & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiAL; + }, + /** + * opMod32RegByteF1(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteF1(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.regECX & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiCL; + }, + /** + * opMod32RegByteF2(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteF2(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.regEDX & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiDL; + }, + /** + * opMod32RegByteF3(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteF3(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.regEBX & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiBL; + }, + /** + * opMod32RegByteF4(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteF4(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, (this.regEAX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiAH; + }, + /** + * opMod32RegByteF5(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteF5(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, (this.regECX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiCH; + }, + /** + * opMod32RegByteF6(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteF6(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, (this.regEDX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + }, + /** + * opMod32RegByteF7(fn): mod=11 (src:reg) reg=110 (dst:DH) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteF7(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, (this.regEBX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiBH; + }, + /** + * opMod32RegByteF8(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteF8(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.regEAX & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiAL; + }, + /** + * opMod32RegByteF9(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteF9(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.regECX & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiCL; + }, + /** + * opMod32RegByteFA(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteFA(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.regEDX & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiDL; + }, + /** + * opMod32RegByteFB(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteFB(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.regEBX & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiBL; + }, + /** + * opMod32RegByteFC(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteFC(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, (this.regEAX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiAH; + }, + /** + * opMod32RegByteFD(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteFD(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, (this.regECX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiCH; + }, + /** + * opMod32RegByteFE(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteFE(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, (this.regEDX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiDH; + }, + /** + * opMod32RegByteFF(fn): mod=11 (src:reg) reg=111 (dst:BH) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegByteFF(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, (this.regEBX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + } +]; + +X86ModB32.aOpModMem = [ + /** + * opMod32MemByte00(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte00(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte01(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte01(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte02(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte02(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte03(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte03(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte04(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte04(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(0)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte05(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte05(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemByte06(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte06(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte07(fn): mod=00 (dst:mem) reg=000 (src:AL) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte07(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte08(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte08(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte09(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte09(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte0A(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte0A(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte0B(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte0B(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte0C(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte0C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(0)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte0D(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte0D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemByte0E(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte0E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte0F(fn): mod=00 (dst:mem) reg=001 (src:CL) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte0F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte10(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte10(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte11(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte11(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte12(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte12(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte13(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte13(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte14(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte14(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(0)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte15(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte15(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemByte16(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte16(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte17(fn): mod=00 (dst:mem) reg=010 (src:DL) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte17(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte18(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte18(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte19(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte19(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte1A(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte1A(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte1B(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte1B(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte1C(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte1C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(0)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte1D(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte1D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemByte1E(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte1E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte1F(fn): mod=00 (dst:mem) reg=011 (src:BL) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte1F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte20(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte20(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte21(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte21(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte22(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte22(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte23(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte23(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte24(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte24(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(0)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte25(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte25(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemByte26(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte26(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte27(fn): mod=00 (dst:mem) reg=100 (src:AH) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte27(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte28(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte28(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte29(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte29(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte2A(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte2A(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte2B(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte2B(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte2C(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte2C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(0)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte2D(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte2D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemByte2E(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte2E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte2F(fn): mod=00 (dst:mem) reg=101 (src:CH) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte2F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte30(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte30(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte31(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte31(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte32(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte32(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte33(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte33(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte34(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte34(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(0)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte35(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte35(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemByte36(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte36(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte37(fn): mod=00 (dst:mem) reg=110 (src:DH) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte37(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte38(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte38(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte39(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte39(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte3A(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte3A(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte3B(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte3B(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte3C(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte3C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(0)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte3D(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte3D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemByte3E(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte3E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte3F(fn): mod=00 (dst:mem) reg=111 (src:BH) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte3F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemByte40(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte40(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte41(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte41(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte42(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte42(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte43(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte43(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte44(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte44(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte45(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte45(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte46(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte46(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte47(fn): mod=01 (dst:mem+d8) reg=000 (src:AL) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte47(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte48(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte48(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte49(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte49(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte4A(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte4A(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte4B(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte4B(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte4C(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte4C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte4D(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte4D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte4E(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte4E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte4F(fn): mod=01 (dst:mem+d8) reg=001 (src:CL) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte4F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte50(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte50(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte51(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte51(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte52(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte52(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte53(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte53(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte54(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte54(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte55(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte55(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte56(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte56(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte57(fn): mod=01 (dst:mem+d8) reg=010 (src:DL) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte57(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte58(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte58(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte59(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte59(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte5A(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte5A(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte5B(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte5B(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte5C(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte5C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte5D(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte5D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte5E(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte5E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte5F(fn): mod=01 (dst:mem+d8) reg=011 (src:BL) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte5F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte60(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte60(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte61(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte61(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte62(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte62(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte63(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte63(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte64(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte64(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte65(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte65(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte66(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte66(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte67(fn): mod=01 (dst:mem+d8) reg=100 (src:AH) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte67(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte68(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte68(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte69(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte69(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte6A(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte6A(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte6B(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte6B(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte6C(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte6C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte6D(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte6D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte6E(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte6E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte6F(fn): mod=01 (dst:mem+d8) reg=101 (src:CH) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte6F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte70(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte70(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte71(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte71(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte72(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte72(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte73(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte73(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte74(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte74(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte75(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte75(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte76(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte76(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte77(fn): mod=01 (dst:mem+d8) reg=110 (src:DH) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte77(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte78(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte78(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte79(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte79(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte7A(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte7A(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte7B(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte7B(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte7C(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte7C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte7D(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte7D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte7E(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte7E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte7F(fn): mod=01 (dst:mem+d8) reg=111 (src:BH) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte7F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte80(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte80(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte81(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte81(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte82(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte82(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte83(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte83(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte84(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte84(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte85(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte85(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte86(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte86(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte87(fn): mod=10 (dst:mem+d16) reg=000 (src:AL) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte87(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte88(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte88(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte89(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte89(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte8A(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte8A(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte8B(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte8B(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte8C(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte8C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte8D(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte8D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte8E(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte8E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte8F(fn): mod=10 (dst:mem+d16) reg=001 (src:CL) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte8F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte90(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte90(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte91(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte91(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte92(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte92(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte93(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte93(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte94(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte94(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte95(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte95(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte96(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte96(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte97(fn): mod=10 (dst:mem+d16) reg=010 (src:DL) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte97(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte98(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte98(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte99(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte99(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte9A(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte9A(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte9B(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte9B(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte9C(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte9C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte9D(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte9D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte9E(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte9E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByte9F(fn): mod=10 (dst:mem+d16) reg=011 (src:BL) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByte9F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteA0(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteA0(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteA1(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteA1(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteA2(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteA2(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteA3(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteA3(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteA4(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteA4(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteA5(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteA5(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteA6(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteA6(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteA7(fn): mod=10 (dst:mem+d16) reg=100 (src:AH) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteA7(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteA8(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteA8(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteA9(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteA9(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteAA(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteAA(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteAB(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteAB(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteAC(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteAC(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteAD(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteAD(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteAE(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteAE(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteAF(fn): mod=10 (dst:mem+d16) reg=101 (src:CH) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteAF(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteB0(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteB0(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteB1(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteB1(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteB2(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteB2(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteB3(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteB3(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteB4(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteB4(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteB5(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteB5(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteB6(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteB6(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteB7(fn): mod=10 (dst:mem+d16) reg=110 (src:DH) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteB7(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteB8(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteB8(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteB9(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteB9(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteBA(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteBA(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteBB(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteBB(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteBC(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteBC(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteBD(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteBD(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteBE(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteBE(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemByteBF(fn): mod=10 (dst:mem+d16) reg=111 (src:BH) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemByteBF(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + X86ModB32.aOpModReg[0xC0], + X86ModB32.aOpModReg[0xC8], + X86ModB32.aOpModReg[0xD0], + X86ModB32.aOpModReg[0xD8], + X86ModB32.aOpModReg[0xE0], + X86ModB32.aOpModReg[0xE8], + X86ModB32.aOpModReg[0xF0], + X86ModB32.aOpModReg[0xF8], + X86ModB32.aOpModReg[0xC1], + X86ModB32.aOpModReg[0xC9], + X86ModB32.aOpModReg[0xD1], + X86ModB32.aOpModReg[0xD9], + X86ModB32.aOpModReg[0xE1], + X86ModB32.aOpModReg[0xE9], + X86ModB32.aOpModReg[0xF1], + X86ModB32.aOpModReg[0xF9], + X86ModB32.aOpModReg[0xC2], + X86ModB32.aOpModReg[0xCA], + X86ModB32.aOpModReg[0xD2], + X86ModB32.aOpModReg[0xDA], + X86ModB32.aOpModReg[0xE2], + X86ModB32.aOpModReg[0xEA], + X86ModB32.aOpModReg[0xF2], + X86ModB32.aOpModReg[0xFA], + X86ModB32.aOpModReg[0xC3], + X86ModB32.aOpModReg[0xCB], + X86ModB32.aOpModReg[0xD3], + X86ModB32.aOpModReg[0xDB], + X86ModB32.aOpModReg[0xE3], + X86ModB32.aOpModReg[0xEB], + X86ModB32.aOpModReg[0xF3], + X86ModB32.aOpModReg[0xFB], + X86ModB32.aOpModReg[0xC4], + X86ModB32.aOpModReg[0xCC], + X86ModB32.aOpModReg[0xD4], + X86ModB32.aOpModReg[0xDC], + X86ModB32.aOpModReg[0xE4], + X86ModB32.aOpModReg[0xEC], + X86ModB32.aOpModReg[0xF4], + X86ModB32.aOpModReg[0xFC], + X86ModB32.aOpModReg[0xC5], + X86ModB32.aOpModReg[0xCD], + X86ModB32.aOpModReg[0xD5], + X86ModB32.aOpModReg[0xDD], + X86ModB32.aOpModReg[0xE5], + X86ModB32.aOpModReg[0xED], + X86ModB32.aOpModReg[0xF5], + X86ModB32.aOpModReg[0xFD], + X86ModB32.aOpModReg[0xC6], + X86ModB32.aOpModReg[0xCE], + X86ModB32.aOpModReg[0xD6], + X86ModB32.aOpModReg[0xDE], + X86ModB32.aOpModReg[0xE6], + X86ModB32.aOpModReg[0xEE], + X86ModB32.aOpModReg[0xF6], + X86ModB32.aOpModReg[0xFE], + X86ModB32.aOpModReg[0xC7], + X86ModB32.aOpModReg[0xCF], + X86ModB32.aOpModReg[0xD7], + X86ModB32.aOpModReg[0xDF], + X86ModB32.aOpModReg[0xE7], + X86ModB32.aOpModReg[0xEF], + X86ModB32.aOpModReg[0xF7], + X86ModB32.aOpModReg[0xFF] +]; + +X86ModB32.aOpModGrp = [ + /** + * opMod32GrpByte00(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte00(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte01(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte01(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regECX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte02(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte02(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte03(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte03(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte04(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte04(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte05(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte05(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpByte06(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte06(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regESI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte07(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte07(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte08(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte08(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte09(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte09(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regECX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte0A(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte0A(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte0B(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte0B(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte0C(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte0C(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte0D(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte0D(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpByte0E(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte0E(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regESI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte0F(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte0F(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte10(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte10(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte11(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte11(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regECX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte12(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte12(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte13(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte13(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte14(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte14(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte15(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte15(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpByte16(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte16(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regESI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte17(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte17(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte18(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte18(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte19(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte19(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regECX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte1A(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte1A(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte1B(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte1B(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte1C(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte1C(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte1D(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte1D(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpByte1E(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte1E(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regESI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte1F(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte1F(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte20(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte20(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte21(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte21(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regECX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte22(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte22(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte23(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte23(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte24(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte24(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte25(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte25(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpByte26(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte26(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regESI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte27(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte27(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte28(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte28(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte29(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte29(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regECX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte2A(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte2A(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte2B(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte2B(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte2C(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte2C(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte2D(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte2D(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpByte2E(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte2E(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regESI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte2F(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte2F(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte30(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte30(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte31(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte31(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regECX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte32(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte32(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte33(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte33(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte34(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte34(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte35(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte35(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpByte36(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte36(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regESI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte37(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte37(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte38(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte38(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte39(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte39(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regECX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte3A(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte3A(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte3B(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte3B(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte3C(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte3C(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte3D(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte3D(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpByte3E(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte3E(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regESI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte3F(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte3F(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpByte40(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte40(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte41(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte41(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte42(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte42(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte43(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte43(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte44(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte44(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte45(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte45(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte46(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte46(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte47(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte47(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte48(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte48(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte49(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte49(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte4A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte4A(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte4B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte4B(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte4C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte4C(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte4D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte4D(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte4E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte4E(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte4F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte4F(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte50(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte50(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte51(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte51(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte52(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte52(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte53(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte53(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte54(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte54(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte55(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte55(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte56(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte56(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte57(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte57(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte58(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte58(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte59(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte59(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte5A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte5A(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte5B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte5B(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte5C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte5C(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte5D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte5D(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte5E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte5E(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte5F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte5F(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte60(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte60(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte61(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte61(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte62(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte62(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte63(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte63(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte64(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte64(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte65(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte65(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte66(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte66(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte67(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte67(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte68(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte68(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte69(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte69(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte6A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte6A(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte6B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte6B(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte6C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte6C(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte6D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte6D(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte6E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte6E(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte6F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte6F(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte70(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte70(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte71(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte71(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte72(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte72(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte73(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte73(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte74(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte74(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte75(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte75(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte76(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte76(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte77(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte77(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte78(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte78(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte79(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte79(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte7A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte7A(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte7B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte7B(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte7C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte7C(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte7D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte7D(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte7E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte7E(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte7F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte7F(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte80(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte80(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte81(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte81(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte82(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte82(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte83(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte83(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte84(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte84(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte85(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte85(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte86(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte86(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte87(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte87(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte88(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte88(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte89(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte89(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte8A(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte8A(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte8B(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte8B(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte8C(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte8C(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte8D(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte8D(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte8E(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte8E(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte8F(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte8F(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte90(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte90(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte91(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte91(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte92(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte92(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte93(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte93(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte94(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte94(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte95(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte95(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte96(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte96(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte97(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte97(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte98(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte98(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte99(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte99(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte9A(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte9A(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte9B(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte9B(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte9C(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte9C(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte9D(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte9D(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte9E(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte9E(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByte9F(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByte9F(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteA0(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteA0(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteA1(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteA1(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteA2(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteA2(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteA3(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteA3(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteA4(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteA4(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteA5(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteA5(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteA6(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteA6(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteA7(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteA7(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteA8(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteA8(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteA9(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteA9(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteAA(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteAA(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteAB(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteAB(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteAC(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteAC(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteAD(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteAD(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteAE(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteAE(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteAF(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteAF(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteB0(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteB0(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteB1(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteB1(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteB2(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteB2(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteB3(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteB3(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteB4(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteB4(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteB5(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteB5(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteB6(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteB6(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteB7(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteB7(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteB8(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteB8(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteB9(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteB9(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteBA(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteBA(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteBB(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteBB(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteBC(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteBC(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteBD(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteBD(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteBE(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteBE(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteBF(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteBF(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpByteC0(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteC0(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteC1(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteC1(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteC2(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteC2(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteC3(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteC3(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteC4(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteC4(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteC5(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteC5(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteC6(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteC6(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteC7(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteC7(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteC8(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteC8(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteC9(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteC9(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteCA(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteCA(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteCB(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteCB(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteCC(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteCC(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteCD(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteCD(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteCE(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteCE(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteCF(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteCF(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteD0(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteD0(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteD1(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteD1(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteD2(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteD2(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteD3(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteD3(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteD4(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteD4(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteD5(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteD5(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteD6(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteD6(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteD7(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteD7(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteD8(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteD8(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteD9(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteD9(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteDA(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteDA(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteDB(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteDB(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteDC(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteDC(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteDD(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteDD(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteDE(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteDE(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteDF(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteDF(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteE0(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteE0(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteE1(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteE1(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteE2(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteE2(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteE3(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteE3(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteE4(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteE4(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteE5(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteE5(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteE6(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteE6(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteE7(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteE7(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteE8(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteE8(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteE9(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteE9(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteEA(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteEA(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteEB(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteEB(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteEC(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteEC(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteED(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteED(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteEE(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteEE(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteEF(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteEF(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteF0(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteF0(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteF1(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteF1(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteF2(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteF2(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteF3(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteF3(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteF4(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteF4(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteF5(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteF5(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteF6(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteF6(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteF7(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteF7(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteF8(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteF8(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteF9(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteF9(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteFA(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteFA(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteFB(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteFB(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteFC(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteFC(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteFD(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteFD(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteFE(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteFE(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opMod32GrpByteFF(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpByteFF(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + } +]; + +if (typeof module !== 'undefined') module.exports = X86ModB32; diff --git a/modules/pcjs/lib/x86modsib.js b/modules/pcjs/lib/x86modsib.js new file mode 100644 index 000000000..0e536db20 --- /dev/null +++ b/modules/pcjs/lib/x86modsib.js @@ -0,0 +1,2348 @@ +/** + * @fileoverview Implements PCjs 8086 mode-byte decoding. + * @author Jeff Parsons + * @version 1.0 + * Created 2015-Jan-20 + * + * Copyright © 2012-2015 Jeff Parsons + * + * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines) + * at and . + * + * PCjs is free software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with PCjs. If not, + * see . + * + * You are required to include the above copyright notice in every source code file of every + * copy or modified version of this work, and to display that copyright notice on every screen + * that loads or runs any version of this software (see Computer.sCopyright). + * + * Some PCjs files also attempt to load external resource files, such as character-image files, + * ROM files, and disk image files. Those external resource files are not considered part of the + * PCjs program for purposes of the GNU General Public License, and the author does not claim + * any copyright as to their contents. + */ + +"use strict"; + +if (typeof module !== 'undefined') { + var X86 = require("./x86"); +} + +var X86ModSIB = {}; + +X86ModSIB.aOpModSIB = [ + /** + * opModSIB00(): scale=00 (1) index=000 (EAX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB00(mod) { + return this.regEAX + (this.regEAX << 0); + }, + /** + * opModSIB01(): scale=00 (1) index=000 (EAX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB01(mod) { + return this.regECX + (this.regEAX << 0); + }, + /** + * opModSIB02(): scale=00 (1) index=000 (EAX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB02(mod) { + return this.regEDX + (this.regEAX << 0); + }, + /** + * opModSIB03(): scale=00 (1) index=000 (EAX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB03(mod) { + return this.regEBX + (this.regEAX << 0); + }, + /** + * opModSIB04(): scale=00 (1) index=000 (EAX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB04(mod) { + return this.regESP + (this.regEAX << 0); + }, + /** + * opModSIB05(): scale=00 (1) index=000 (EAX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB05(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEAX << 0); + }, + /** + * opModSIB06(): scale=00 (1) index=000 (EAX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB06(mod) { + return this.regESI + (this.regEAX << 0); + }, + /** + * opModSIB07(): scale=00 (1) index=000 (EAX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB07(mod) { + return this.regEDI + (this.regEAX << 0); + }, + /** + * opModSIB08(): scale=00 (1) index=001 (ECX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB08(mod) { + return this.regEAX + (this.regECX << 0); + }, + /** + * opModSIB09(): scale=00 (1) index=001 (ECX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB09(mod) { + return this.regECX + (this.regECX << 0); + }, + /** + * opModSIB0A(): scale=00 (1) index=001 (ECX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB0A(mod) { + return this.regEDX + (this.regECX << 0); + }, + /** + * opModSIB0B(): scale=00 (1) index=001 (ECX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB0B(mod) { + return this.regEBX + (this.regECX << 0); + }, + /** + * opModSIB0C(): scale=00 (1) index=001 (ECX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB0C(mod) { + return this.regESP + (this.regECX << 0); + }, + /** + * opModSIB0D(): scale=00 (1) index=001 (ECX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB0D(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regECX << 0); + }, + /** + * opModSIB0E(): scale=00 (1) index=001 (ECX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB0E(mod) { + return this.regESI + (this.regECX << 0); + }, + /** + * opModSIB0F(): scale=00 (1) index=001 (ECX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB0F(mod) { + return this.regEDI + (this.regECX << 0); + }, + /** + * opModSIB10(): scale=00 (1) index=010 (EDX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB10(mod) { + return this.regEAX + (this.regEDX << 0); + }, + /** + * opModSIB11(): scale=00 (1) index=010 (EDX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB11(mod) { + return this.regECX + (this.regEDX << 0); + }, + /** + * opModSIB12(): scale=00 (1) index=010 (EDX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB12(mod) { + return this.regEDX + (this.regEDX << 0); + }, + /** + * opModSIB13(): scale=00 (1) index=010 (EDX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB13(mod) { + return this.regEBX + (this.regEDX << 0); + }, + /** + * opModSIB14(): scale=00 (1) index=010 (EDX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB14(mod) { + return this.regESP + (this.regEDX << 0); + }, + /** + * opModSIB15(): scale=00 (1) index=010 (EDX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB15(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEDX << 0); + }, + /** + * opModSIB16(): scale=00 (1) index=010 (EDX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB16(mod) { + return this.regESI + (this.regEDX << 0); + }, + /** + * opModSIB17(): scale=00 (1) index=010 (EDX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB17(mod) { + return this.regEDI + (this.regEDX << 0); + }, + /** + * opModSIB18(): scale=00 (1) index=011 (EBX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB18(mod) { + return this.regEAX + (this.regEBX << 0); + }, + /** + * opModSIB19(): scale=00 (1) index=011 (EBX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB19(mod) { + return this.regECX + (this.regEBX << 0); + }, + /** + * opModSIB1A(): scale=00 (1) index=011 (EBX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB1A(mod) { + return this.regEDX + (this.regEBX << 0); + }, + /** + * opModSIB1B(): scale=00 (1) index=011 (EBX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB1B(mod) { + return this.regEBX + (this.regEBX << 0); + }, + /** + * opModSIB1C(): scale=00 (1) index=011 (EBX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB1C(mod) { + return this.regESP + (this.regEBX << 0); + }, + /** + * opModSIB1D(): scale=00 (1) index=011 (EBX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB1D(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEBX << 0); + }, + /** + * opModSIB1E(): scale=00 (1) index=011 (EBX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB1E(mod) { + return this.regESI + (this.regEBX << 0); + }, + /** + * opModSIB1F(): scale=00 (1) index=011 (EBX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB1F(mod) { + return this.regEDI + (this.regEBX << 0); + }, + /** + * opModSIB20(): scale=00 (1) index=100 (none) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB20(mod) { + return this.regEAX; + }, + /** + * opModSIB21(): scale=00 (1) index=100 (none) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB21(mod) { + return this.regECX; + }, + /** + * opModSIB22(): scale=00 (1) index=100 (none) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB22(mod) { + return this.regEDX; + }, + /** + * opModSIB23(): scale=00 (1) index=100 (none) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB23(mod) { + return this.regEBX; + }, + /** + * opModSIB24(): scale=00 (1) index=100 (none) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB24(mod) { + return this.regESP; + }, + /** + * opModSIB25(): scale=00 (1) index=100 (none) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB25(mod) { + return (mod? this.regEBP : this.getIPWord()); + }, + /** + * opModSIB26(): scale=00 (1) index=100 (none) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB26(mod) { + return this.regESI; + }, + /** + * opModSIB27(): scale=00 (1) index=100 (none) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB27(mod) { + return this.regEDI; + }, + /** + * opModSIB28(): scale=00 (1) index=101 (EBP) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB28(mod) { + return this.regEAX + (this.regEBP << 0); + }, + /** + * opModSIB29(): scale=00 (1) index=101 (EBP) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB29(mod) { + return this.regECX + (this.regEBP << 0); + }, + /** + * opModSIB2A(): scale=00 (1) index=101 (EBP) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB2A(mod) { + return this.regEDX + (this.regEBP << 0); + }, + /** + * opModSIB2B(): scale=00 (1) index=101 (EBP) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB2B(mod) { + return this.regEBX + (this.regEBP << 0); + }, + /** + * opModSIB2C(): scale=00 (1) index=101 (EBP) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB2C(mod) { + return this.regESP + (this.regEBP << 0); + }, + /** + * opModSIB2D(): scale=00 (1) index=101 (EBP) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB2D(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEBP << 0); + }, + /** + * opModSIB2E(): scale=00 (1) index=101 (EBP) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB2E(mod) { + return this.regESI + (this.regEBP << 0); + }, + /** + * opModSIB2F(): scale=00 (1) index=101 (EBP) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB2F(mod) { + return this.regEDI + (this.regEBP << 0); + }, + /** + * opModSIB30(): scale=00 (1) index=110 (ESI) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB30(mod) { + return this.regEAX + (this.regESI << 0); + }, + /** + * opModSIB31(): scale=00 (1) index=110 (ESI) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB31(mod) { + return this.regECX + (this.regESI << 0); + }, + /** + * opModSIB32(): scale=00 (1) index=110 (ESI) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB32(mod) { + return this.regEDX + (this.regESI << 0); + }, + /** + * opModSIB33(): scale=00 (1) index=110 (ESI) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB33(mod) { + return this.regEBX + (this.regESI << 0); + }, + /** + * opModSIB34(): scale=00 (1) index=110 (ESI) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB34(mod) { + return this.regESP + (this.regESI << 0); + }, + /** + * opModSIB35(): scale=00 (1) index=110 (ESI) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB35(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regESI << 0); + }, + /** + * opModSIB36(): scale=00 (1) index=110 (ESI) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB36(mod) { + return this.regESI + (this.regESI << 0); + }, + /** + * opModSIB37(): scale=00 (1) index=110 (ESI) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB37(mod) { + return this.regEDI + (this.regESI << 0); + }, + /** + * opModSIB38(): scale=00 (1) index=111 (EDI) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB38(mod) { + return this.regEAX + (this.regEDI << 0); + }, + /** + * opModSIB39(): scale=00 (1) index=111 (EDI) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB39(mod) { + return this.regECX + (this.regEDI << 0); + }, + /** + * opModSIB3A(): scale=00 (1) index=111 (EDI) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB3A(mod) { + return this.regEDX + (this.regEDI << 0); + }, + /** + * opModSIB3B(): scale=00 (1) index=111 (EDI) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB3B(mod) { + return this.regEBX + (this.regEDI << 0); + }, + /** + * opModSIB3C(): scale=00 (1) index=111 (EDI) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB3C(mod) { + return this.regESP + (this.regEDI << 0); + }, + /** + * opModSIB3D(): scale=00 (1) index=111 (EDI) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB3D(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEDI << 0); + }, + /** + * opModSIB3E(): scale=00 (1) index=111 (EDI) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB3E(mod) { + return this.regESI + (this.regEDI << 0); + }, + /** + * opModSIB3F(): scale=00 (1) index=111 (EDI) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB3F(mod) { + return this.regEDI + (this.regEDI << 0); + }, + /** + * opModSIB40(): scale=01 (2) index=000 (EAX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB40(mod) { + return this.regEAX + (this.regEAX << 1); + }, + /** + * opModSIB41(): scale=01 (2) index=000 (EAX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB41(mod) { + return this.regECX + (this.regEAX << 1); + }, + /** + * opModSIB42(): scale=01 (2) index=000 (EAX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB42(mod) { + return this.regEDX + (this.regEAX << 1); + }, + /** + * opModSIB43(): scale=01 (2) index=000 (EAX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB43(mod) { + return this.regEBX + (this.regEAX << 1); + }, + /** + * opModSIB44(): scale=01 (2) index=000 (EAX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB44(mod) { + return this.regESP + (this.regEAX << 1); + }, + /** + * opModSIB45(): scale=01 (2) index=000 (EAX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB45(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEAX << 1); + }, + /** + * opModSIB46(): scale=01 (2) index=000 (EAX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB46(mod) { + return this.regESI + (this.regEAX << 1); + }, + /** + * opModSIB47(): scale=01 (2) index=000 (EAX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB47(mod) { + return this.regEDI + (this.regEAX << 1); + }, + /** + * opModSIB48(): scale=01 (2) index=001 (ECX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB48(mod) { + return this.regEAX + (this.regECX << 1); + }, + /** + * opModSIB49(): scale=01 (2) index=001 (ECX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB49(mod) { + return this.regECX + (this.regECX << 1); + }, + /** + * opModSIB4A(): scale=01 (2) index=001 (ECX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB4A(mod) { + return this.regEDX + (this.regECX << 1); + }, + /** + * opModSIB4B(): scale=01 (2) index=001 (ECX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB4B(mod) { + return this.regEBX + (this.regECX << 1); + }, + /** + * opModSIB4C(): scale=01 (2) index=001 (ECX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB4C(mod) { + return this.regESP + (this.regECX << 1); + }, + /** + * opModSIB4D(): scale=01 (2) index=001 (ECX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB4D(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regECX << 1); + }, + /** + * opModSIB4E(): scale=01 (2) index=001 (ECX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB4E(mod) { + return this.regESI + (this.regECX << 1); + }, + /** + * opModSIB4F(): scale=01 (2) index=001 (ECX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB4F(mod) { + return this.regEDI + (this.regECX << 1); + }, + /** + * opModSIB50(): scale=01 (2) index=010 (EDX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB50(mod) { + return this.regEAX + (this.regEDX << 1); + }, + /** + * opModSIB51(): scale=01 (2) index=010 (EDX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB51(mod) { + return this.regECX + (this.regEDX << 1); + }, + /** + * opModSIB52(): scale=01 (2) index=010 (EDX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB52(mod) { + return this.regEDX + (this.regEDX << 1); + }, + /** + * opModSIB53(): scale=01 (2) index=010 (EDX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB53(mod) { + return this.regEBX + (this.regEDX << 1); + }, + /** + * opModSIB54(): scale=01 (2) index=010 (EDX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB54(mod) { + return this.regESP + (this.regEDX << 1); + }, + /** + * opModSIB55(): scale=01 (2) index=010 (EDX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB55(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEDX << 1); + }, + /** + * opModSIB56(): scale=01 (2) index=010 (EDX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB56(mod) { + return this.regESI + (this.regEDX << 1); + }, + /** + * opModSIB57(): scale=01 (2) index=010 (EDX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB57(mod) { + return this.regEDI + (this.regEDX << 1); + }, + /** + * opModSIB58(): scale=01 (2) index=011 (EBX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB58(mod) { + return this.regEAX + (this.regEBX << 1); + }, + /** + * opModSIB59(): scale=01 (2) index=011 (EBX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB59(mod) { + return this.regECX + (this.regEBX << 1); + }, + /** + * opModSIB5A(): scale=01 (2) index=011 (EBX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB5A(mod) { + return this.regEDX + (this.regEBX << 1); + }, + /** + * opModSIB5B(): scale=01 (2) index=011 (EBX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB5B(mod) { + return this.regEBX + (this.regEBX << 1); + }, + /** + * opModSIB5C(): scale=01 (2) index=011 (EBX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB5C(mod) { + return this.regESP + (this.regEBX << 1); + }, + /** + * opModSIB5D(): scale=01 (2) index=011 (EBX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB5D(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEBX << 1); + }, + /** + * opModSIB5E(): scale=01 (2) index=011 (EBX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB5E(mod) { + return this.regESI + (this.regEBX << 1); + }, + /** + * opModSIB5F(): scale=01 (2) index=011 (EBX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB5F(mod) { + return this.regEDI + (this.regEBX << 1); + }, + /** + * opModSIB60(): scale=01 (2) index=100 (none) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB60(mod) { + return this.regEAX; + }, + /** + * opModSIB61(): scale=01 (2) index=100 (none) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB61(mod) { + return this.regECX; + }, + /** + * opModSIB62(): scale=01 (2) index=100 (none) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB62(mod) { + return this.regEDX; + }, + /** + * opModSIB63(): scale=01 (2) index=100 (none) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB63(mod) { + return this.regEBX; + }, + /** + * opModSIB64(): scale=01 (2) index=100 (none) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB64(mod) { + return this.regESP; + }, + /** + * opModSIB65(): scale=01 (2) index=100 (none) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB65(mod) { + return (mod? this.regEBP : this.getIPWord()); + }, + /** + * opModSIB66(): scale=01 (2) index=100 (none) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB66(mod) { + return this.regESI; + }, + /** + * opModSIB67(): scale=01 (2) index=100 (none) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB67(mod) { + return this.regEDI; + }, + /** + * opModSIB68(): scale=01 (2) index=101 (EBP) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB68(mod) { + return this.regEAX + (this.regEBP << 1); + }, + /** + * opModSIB69(): scale=01 (2) index=101 (EBP) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB69(mod) { + return this.regECX + (this.regEBP << 1); + }, + /** + * opModSIB6A(): scale=01 (2) index=101 (EBP) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB6A(mod) { + return this.regEDX + (this.regEBP << 1); + }, + /** + * opModSIB6B(): scale=01 (2) index=101 (EBP) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB6B(mod) { + return this.regEBX + (this.regEBP << 1); + }, + /** + * opModSIB6C(): scale=01 (2) index=101 (EBP) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB6C(mod) { + return this.regESP + (this.regEBP << 1); + }, + /** + * opModSIB6D(): scale=01 (2) index=101 (EBP) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB6D(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEBP << 1); + }, + /** + * opModSIB6E(): scale=01 (2) index=101 (EBP) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB6E(mod) { + return this.regESI + (this.regEBP << 1); + }, + /** + * opModSIB6F(): scale=01 (2) index=101 (EBP) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB6F(mod) { + return this.regEDI + (this.regEBP << 1); + }, + /** + * opModSIB70(): scale=01 (2) index=110 (ESI) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB70(mod) { + return this.regEAX + (this.regESI << 1); + }, + /** + * opModSIB71(): scale=01 (2) index=110 (ESI) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB71(mod) { + return this.regECX + (this.regESI << 1); + }, + /** + * opModSIB72(): scale=01 (2) index=110 (ESI) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB72(mod) { + return this.regEDX + (this.regESI << 1); + }, + /** + * opModSIB73(): scale=01 (2) index=110 (ESI) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB73(mod) { + return this.regEBX + (this.regESI << 1); + }, + /** + * opModSIB74(): scale=01 (2) index=110 (ESI) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB74(mod) { + return this.regESP + (this.regESI << 1); + }, + /** + * opModSIB75(): scale=01 (2) index=110 (ESI) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB75(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regESI << 1); + }, + /** + * opModSIB76(): scale=01 (2) index=110 (ESI) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB76(mod) { + return this.regESI + (this.regESI << 1); + }, + /** + * opModSIB77(): scale=01 (2) index=110 (ESI) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB77(mod) { + return this.regEDI + (this.regESI << 1); + }, + /** + * opModSIB78(): scale=01 (2) index=111 (EDI) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB78(mod) { + return this.regEAX + (this.regEDI << 1); + }, + /** + * opModSIB79(): scale=01 (2) index=111 (EDI) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB79(mod) { + return this.regECX + (this.regEDI << 1); + }, + /** + * opModSIB7A(): scale=01 (2) index=111 (EDI) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB7A(mod) { + return this.regEDX + (this.regEDI << 1); + }, + /** + * opModSIB7B(): scale=01 (2) index=111 (EDI) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB7B(mod) { + return this.regEBX + (this.regEDI << 1); + }, + /** + * opModSIB7C(): scale=01 (2) index=111 (EDI) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB7C(mod) { + return this.regESP + (this.regEDI << 1); + }, + /** + * opModSIB7D(): scale=01 (2) index=111 (EDI) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB7D(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEDI << 1); + }, + /** + * opModSIB7E(): scale=01 (2) index=111 (EDI) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB7E(mod) { + return this.regESI + (this.regEDI << 1); + }, + /** + * opModSIB7F(): scale=01 (2) index=111 (EDI) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB7F(mod) { + return this.regEDI + (this.regEDI << 1); + }, + /** + * opModSIB80(): scale=10 (4) index=000 (EAX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB80(mod) { + return this.regEAX + (this.regEAX << 2); + }, + /** + * opModSIB81(): scale=10 (4) index=000 (EAX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB81(mod) { + return this.regECX + (this.regEAX << 2); + }, + /** + * opModSIB82(): scale=10 (4) index=000 (EAX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB82(mod) { + return this.regEDX + (this.regEAX << 2); + }, + /** + * opModSIB83(): scale=10 (4) index=000 (EAX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB83(mod) { + return this.regEBX + (this.regEAX << 2); + }, + /** + * opModSIB84(): scale=10 (4) index=000 (EAX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB84(mod) { + return this.regESP + (this.regEAX << 2); + }, + /** + * opModSIB85(): scale=10 (4) index=000 (EAX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB85(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEAX << 2); + }, + /** + * opModSIB86(): scale=10 (4) index=000 (EAX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB86(mod) { + return this.regESI + (this.regEAX << 2); + }, + /** + * opModSIB87(): scale=10 (4) index=000 (EAX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB87(mod) { + return this.regEDI + (this.regEAX << 2); + }, + /** + * opModSIB88(): scale=10 (4) index=001 (ECX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB88(mod) { + return this.regEAX + (this.regECX << 2); + }, + /** + * opModSIB89(): scale=10 (4) index=001 (ECX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB89(mod) { + return this.regECX + (this.regECX << 2); + }, + /** + * opModSIB8A(): scale=10 (4) index=001 (ECX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB8A(mod) { + return this.regEDX + (this.regECX << 2); + }, + /** + * opModSIB8B(): scale=10 (4) index=001 (ECX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB8B(mod) { + return this.regEBX + (this.regECX << 2); + }, + /** + * opModSIB8C(): scale=10 (4) index=001 (ECX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB8C(mod) { + return this.regESP + (this.regECX << 2); + }, + /** + * opModSIB8D(): scale=10 (4) index=001 (ECX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB8D(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regECX << 2); + }, + /** + * opModSIB8E(): scale=10 (4) index=001 (ECX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB8E(mod) { + return this.regESI + (this.regECX << 2); + }, + /** + * opModSIB8F(): scale=10 (4) index=001 (ECX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB8F(mod) { + return this.regEDI + (this.regECX << 2); + }, + /** + * opModSIB90(): scale=10 (4) index=010 (EDX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB90(mod) { + return this.regEAX + (this.regEDX << 2); + }, + /** + * opModSIB91(): scale=10 (4) index=010 (EDX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB91(mod) { + return this.regECX + (this.regEDX << 2); + }, + /** + * opModSIB92(): scale=10 (4) index=010 (EDX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB92(mod) { + return this.regEDX + (this.regEDX << 2); + }, + /** + * opModSIB93(): scale=10 (4) index=010 (EDX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB93(mod) { + return this.regEBX + (this.regEDX << 2); + }, + /** + * opModSIB94(): scale=10 (4) index=010 (EDX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB94(mod) { + return this.regESP + (this.regEDX << 2); + }, + /** + * opModSIB95(): scale=10 (4) index=010 (EDX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB95(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEDX << 2); + }, + /** + * opModSIB96(): scale=10 (4) index=010 (EDX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB96(mod) { + return this.regESI + (this.regEDX << 2); + }, + /** + * opModSIB97(): scale=10 (4) index=010 (EDX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB97(mod) { + return this.regEDI + (this.regEDX << 2); + }, + /** + * opModSIB98(): scale=10 (4) index=011 (EBX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB98(mod) { + return this.regEAX + (this.regEBX << 2); + }, + /** + * opModSIB99(): scale=10 (4) index=011 (EBX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB99(mod) { + return this.regECX + (this.regEBX << 2); + }, + /** + * opModSIB9A(): scale=10 (4) index=011 (EBX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB9A(mod) { + return this.regEDX + (this.regEBX << 2); + }, + /** + * opModSIB9B(): scale=10 (4) index=011 (EBX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB9B(mod) { + return this.regEBX + (this.regEBX << 2); + }, + /** + * opModSIB9C(): scale=10 (4) index=011 (EBX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB9C(mod) { + return this.regESP + (this.regEBX << 2); + }, + /** + * opModSIB9D(): scale=10 (4) index=011 (EBX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB9D(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEBX << 2); + }, + /** + * opModSIB9E(): scale=10 (4) index=011 (EBX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB9E(mod) { + return this.regESI + (this.regEBX << 2); + }, + /** + * opModSIB9F(): scale=10 (4) index=011 (EBX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIB9F(mod) { + return this.regEDI + (this.regEBX << 2); + }, + /** + * opModSIBA0(): scale=10 (4) index=100 (none) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBA0(mod) { + return this.regEAX; + }, + /** + * opModSIBA1(): scale=10 (4) index=100 (none) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBA1(mod) { + return this.regECX; + }, + /** + * opModSIBA2(): scale=10 (4) index=100 (none) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBA2(mod) { + return this.regEDX; + }, + /** + * opModSIBA3(): scale=10 (4) index=100 (none) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBA3(mod) { + return this.regEBX; + }, + /** + * opModSIBA4(): scale=10 (4) index=100 (none) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBA4(mod) { + return this.regESP; + }, + /** + * opModSIBA5(): scale=10 (4) index=100 (none) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBA5(mod) { + return (mod? this.regEBP : this.getIPWord()); + }, + /** + * opModSIBA6(): scale=10 (4) index=100 (none) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBA6(mod) { + return this.regESI; + }, + /** + * opModSIBA7(): scale=10 (4) index=100 (none) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBA7(mod) { + return this.regEDI; + }, + /** + * opModSIBA8(): scale=10 (4) index=101 (EBP) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBA8(mod) { + return this.regEAX + (this.regEBP << 2); + }, + /** + * opModSIBA9(): scale=10 (4) index=101 (EBP) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBA9(mod) { + return this.regECX + (this.regEBP << 2); + }, + /** + * opModSIBAA(): scale=10 (4) index=101 (EBP) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBAA(mod) { + return this.regEDX + (this.regEBP << 2); + }, + /** + * opModSIBAB(): scale=10 (4) index=101 (EBP) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBAB(mod) { + return this.regEBX + (this.regEBP << 2); + }, + /** + * opModSIBAC(): scale=10 (4) index=101 (EBP) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBAC(mod) { + return this.regESP + (this.regEBP << 2); + }, + /** + * opModSIBAD(): scale=10 (4) index=101 (EBP) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBAD(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEBP << 2); + }, + /** + * opModSIBAE(): scale=10 (4) index=101 (EBP) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBAE(mod) { + return this.regESI + (this.regEBP << 2); + }, + /** + * opModSIBAF(): scale=10 (4) index=101 (EBP) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBAF(mod) { + return this.regEDI + (this.regEBP << 2); + }, + /** + * opModSIBB0(): scale=10 (4) index=110 (ESI) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBB0(mod) { + return this.regEAX + (this.regESI << 2); + }, + /** + * opModSIBB1(): scale=10 (4) index=110 (ESI) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBB1(mod) { + return this.regECX + (this.regESI << 2); + }, + /** + * opModSIBB2(): scale=10 (4) index=110 (ESI) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBB2(mod) { + return this.regEDX + (this.regESI << 2); + }, + /** + * opModSIBB3(): scale=10 (4) index=110 (ESI) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBB3(mod) { + return this.regEBX + (this.regESI << 2); + }, + /** + * opModSIBB4(): scale=10 (4) index=110 (ESI) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBB4(mod) { + return this.regESP + (this.regESI << 2); + }, + /** + * opModSIBB5(): scale=10 (4) index=110 (ESI) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBB5(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regESI << 2); + }, + /** + * opModSIBB6(): scale=10 (4) index=110 (ESI) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBB6(mod) { + return this.regESI + (this.regESI << 2); + }, + /** + * opModSIBB7(): scale=10 (4) index=110 (ESI) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBB7(mod) { + return this.regEDI + (this.regESI << 2); + }, + /** + * opModSIBB8(): scale=10 (4) index=111 (EDI) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBB8(mod) { + return this.regEAX + (this.regEDI << 2); + }, + /** + * opModSIBB9(): scale=10 (4) index=111 (EDI) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBB9(mod) { + return this.regECX + (this.regEDI << 2); + }, + /** + * opModSIBBA(): scale=10 (4) index=111 (EDI) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBBA(mod) { + return this.regEDX + (this.regEDI << 2); + }, + /** + * opModSIBBB(): scale=10 (4) index=111 (EDI) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBBB(mod) { + return this.regEBX + (this.regEDI << 2); + }, + /** + * opModSIBBC(): scale=10 (4) index=111 (EDI) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBBC(mod) { + return this.regESP + (this.regEDI << 2); + }, + /** + * opModSIBBD(): scale=10 (4) index=111 (EDI) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBBD(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEDI << 2); + }, + /** + * opModSIBBE(): scale=10 (4) index=111 (EDI) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBBE(mod) { + return this.regESI + (this.regEDI << 2); + }, + /** + * opModSIBBF(): scale=10 (4) index=111 (EDI) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBBF(mod) { + return this.regEDI + (this.regEDI << 2); + }, + /** + * opModSIBC0(): scale=11 (8) index=000 (EAX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBC0(mod) { + return this.regEAX + (this.regEAX << 3); + }, + /** + * opModSIBC1(): scale=11 (8) index=000 (EAX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBC1(mod) { + return this.regECX + (this.regEAX << 3); + }, + /** + * opModSIBC2(): scale=11 (8) index=000 (EAX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBC2(mod) { + return this.regEDX + (this.regEAX << 3); + }, + /** + * opModSIBC3(): scale=11 (8) index=000 (EAX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBC3(mod) { + return this.regEBX + (this.regEAX << 3); + }, + /** + * opModSIBC4(): scale=11 (8) index=000 (EAX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBC4(mod) { + return this.regESP + (this.regEAX << 3); + }, + /** + * opModSIBC5(): scale=11 (8) index=000 (EAX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBC5(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEAX << 3); + }, + /** + * opModSIBC6(): scale=11 (8) index=000 (EAX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBC6(mod) { + return this.regESI + (this.regEAX << 3); + }, + /** + * opModSIBC7(): scale=11 (8) index=000 (EAX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBC7(mod) { + return this.regEDI + (this.regEAX << 3); + }, + /** + * opModSIBC8(): scale=11 (8) index=001 (ECX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBC8(mod) { + return this.regEAX + (this.regECX << 3); + }, + /** + * opModSIBC9(): scale=11 (8) index=001 (ECX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBC9(mod) { + return this.regECX + (this.regECX << 3); + }, + /** + * opModSIBCA(): scale=11 (8) index=001 (ECX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBCA(mod) { + return this.regEDX + (this.regECX << 3); + }, + /** + * opModSIBCB(): scale=11 (8) index=001 (ECX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBCB(mod) { + return this.regEBX + (this.regECX << 3); + }, + /** + * opModSIBCC(): scale=11 (8) index=001 (ECX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBCC(mod) { + return this.regESP + (this.regECX << 3); + }, + /** + * opModSIBCD(): scale=11 (8) index=001 (ECX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBCD(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regECX << 3); + }, + /** + * opModSIBCE(): scale=11 (8) index=001 (ECX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBCE(mod) { + return this.regESI + (this.regECX << 3); + }, + /** + * opModSIBCF(): scale=11 (8) index=001 (ECX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBCF(mod) { + return this.regEDI + (this.regECX << 3); + }, + /** + * opModSIBD0(): scale=11 (8) index=010 (EDX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBD0(mod) { + return this.regEAX + (this.regEDX << 3); + }, + /** + * opModSIBD1(): scale=11 (8) index=010 (EDX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBD1(mod) { + return this.regECX + (this.regEDX << 3); + }, + /** + * opModSIBD2(): scale=11 (8) index=010 (EDX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBD2(mod) { + return this.regEDX + (this.regEDX << 3); + }, + /** + * opModSIBD3(): scale=11 (8) index=010 (EDX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBD3(mod) { + return this.regEBX + (this.regEDX << 3); + }, + /** + * opModSIBD4(): scale=11 (8) index=010 (EDX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBD4(mod) { + return this.regESP + (this.regEDX << 3); + }, + /** + * opModSIBD5(): scale=11 (8) index=010 (EDX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBD5(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEDX << 3); + }, + /** + * opModSIBD6(): scale=11 (8) index=010 (EDX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBD6(mod) { + return this.regESI + (this.regEDX << 3); + }, + /** + * opModSIBD7(): scale=11 (8) index=010 (EDX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBD7(mod) { + return this.regEDI + (this.regEDX << 3); + }, + /** + * opModSIBD8(): scale=11 (8) index=011 (EBX) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBD8(mod) { + return this.regEAX + (this.regEBX << 3); + }, + /** + * opModSIBD9(): scale=11 (8) index=011 (EBX) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBD9(mod) { + return this.regECX + (this.regEBX << 3); + }, + /** + * opModSIBDA(): scale=11 (8) index=011 (EBX) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBDA(mod) { + return this.regEDX + (this.regEBX << 3); + }, + /** + * opModSIBDB(): scale=11 (8) index=011 (EBX) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBDB(mod) { + return this.regEBX + (this.regEBX << 3); + }, + /** + * opModSIBDC(): scale=11 (8) index=011 (EBX) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBDC(mod) { + return this.regESP + (this.regEBX << 3); + }, + /** + * opModSIBDD(): scale=11 (8) index=011 (EBX) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBDD(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEBX << 3); + }, + /** + * opModSIBDE(): scale=11 (8) index=011 (EBX) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBDE(mod) { + return this.regESI + (this.regEBX << 3); + }, + /** + * opModSIBDF(): scale=11 (8) index=011 (EBX) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBDF(mod) { + return this.regEDI + (this.regEBX << 3); + }, + /** + * opModSIBE0(): scale=11 (8) index=100 (none) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBE0(mod) { + return this.regEAX; + }, + /** + * opModSIBE1(): scale=11 (8) index=100 (none) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBE1(mod) { + return this.regECX; + }, + /** + * opModSIBE2(): scale=11 (8) index=100 (none) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBE2(mod) { + return this.regEDX; + }, + /** + * opModSIBE3(): scale=11 (8) index=100 (none) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBE3(mod) { + return this.regEBX; + }, + /** + * opModSIBE4(): scale=11 (8) index=100 (none) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBE4(mod) { + return this.regESP; + }, + /** + * opModSIBE5(): scale=11 (8) index=100 (none) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBE5(mod) { + return (mod? this.regEBP : this.getIPWord()); + }, + /** + * opModSIBE6(): scale=11 (8) index=100 (none) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBE6(mod) { + return this.regESI; + }, + /** + * opModSIBE7(): scale=11 (8) index=100 (none) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBE7(mod) { + return this.regEDI; + }, + /** + * opModSIBE8(): scale=11 (8) index=101 (EBP) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBE8(mod) { + return this.regEAX + (this.regEBP << 3); + }, + /** + * opModSIBE9(): scale=11 (8) index=101 (EBP) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBE9(mod) { + return this.regECX + (this.regEBP << 3); + }, + /** + * opModSIBEA(): scale=11 (8) index=101 (EBP) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBEA(mod) { + return this.regEDX + (this.regEBP << 3); + }, + /** + * opModSIBEB(): scale=11 (8) index=101 (EBP) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBEB(mod) { + return this.regEBX + (this.regEBP << 3); + }, + /** + * opModSIBEC(): scale=11 (8) index=101 (EBP) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBEC(mod) { + return this.regESP + (this.regEBP << 3); + }, + /** + * opModSIBED(): scale=11 (8) index=101 (EBP) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBED(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEBP << 3); + }, + /** + * opModSIBEE(): scale=11 (8) index=101 (EBP) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBEE(mod) { + return this.regESI + (this.regEBP << 3); + }, + /** + * opModSIBEF(): scale=11 (8) index=101 (EBP) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBEF(mod) { + return this.regEDI + (this.regEBP << 3); + }, + /** + * opModSIBF0(): scale=11 (8) index=110 (ESI) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBF0(mod) { + return this.regEAX + (this.regESI << 3); + }, + /** + * opModSIBF1(): scale=11 (8) index=110 (ESI) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBF1(mod) { + return this.regECX + (this.regESI << 3); + }, + /** + * opModSIBF2(): scale=11 (8) index=110 (ESI) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBF2(mod) { + return this.regEDX + (this.regESI << 3); + }, + /** + * opModSIBF3(): scale=11 (8) index=110 (ESI) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBF3(mod) { + return this.regEBX + (this.regESI << 3); + }, + /** + * opModSIBF4(): scale=11 (8) index=110 (ESI) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBF4(mod) { + return this.regESP + (this.regESI << 3); + }, + /** + * opModSIBF5(): scale=11 (8) index=110 (ESI) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBF5(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regESI << 3); + }, + /** + * opModSIBF6(): scale=11 (8) index=110 (ESI) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBF6(mod) { + return this.regESI + (this.regESI << 3); + }, + /** + * opModSIBF7(): scale=11 (8) index=110 (ESI) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBF7(mod) { + return this.regEDI + (this.regESI << 3); + }, + /** + * opModSIBF8(): scale=11 (8) index=111 (EDI) base=000 (EAX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBF8(mod) { + return this.regEAX + (this.regEDI << 3); + }, + /** + * opModSIBF9(): scale=11 (8) index=111 (EDI) base=001 (ECX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBF9(mod) { + return this.regECX + (this.regEDI << 3); + }, + /** + * opModSIBFA(): scale=11 (8) index=111 (EDI) base=010 (EDX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBFA(mod) { + return this.regEDX + (this.regEDI << 3); + }, + /** + * opModSIBFB(): scale=11 (8) index=111 (EDI) base=011 (EBX) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBFB(mod) { + return this.regEBX + (this.regEDI << 3); + }, + /** + * opModSIBFC(): scale=11 (8) index=111 (EDI) base=100 (ESP) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBFC(mod) { + return this.regESP + (this.regEDI << 3); + }, + /** + * opModSIBFD(): scale=11 (8) index=111 (EDI) base=101 (mod? EBP : disp32) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBFD(mod) { + return (mod? this.regEBP : this.getIPWord()) + (this.regEDI << 3); + }, + /** + * opModSIBFE(): scale=11 (8) index=111 (EDI) base=110 (ESI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBFE(mod) { + return this.regESI + (this.regEDI << 3); + }, + /** + * opModSIBFF(): scale=11 (8) index=111 (EDI) base=111 (EDI) + * + * @this {X86CPU} + * @param {number} mod + */ + function opModSIBFF(mod) { + return this.regEDI + (this.regEDI << 3); + } +]; + +if (typeof module !== 'undefined') module.exports = X86ModSIB; diff --git a/modules/pcjs/lib/x86modw.js b/modules/pcjs/lib/x86modw.js index e3bbec687..31d8d6bb9 100644 --- a/modules/pcjs/lib/x86modw.js +++ b/modules/pcjs/lib/x86modw.js @@ -40,13 +40,13 @@ var X86ModW = {}; X86ModW.aOpModReg = [ /** - * opModRegWord00(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=000 (BX+SI) + * opModRegWord00(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord00(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -54,13 +54,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord01(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=001 (BX+DI) + * opModRegWord01(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord01(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -68,13 +68,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord02(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=010 (BP+SI) + * opModRegWord02(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord02(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -82,13 +82,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord03(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=011 (BP+DI) + * opModRegWord03(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord03(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -96,13 +96,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord04(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=100 (SI) + * opModRegWord04(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord04(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regESI & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -110,13 +110,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord05(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=101 (DI) + * opModRegWord05(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord05(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEDI & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -124,7 +124,7 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord06(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=110 (d16) + * opModRegWord06(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -138,13 +138,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegWord07(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=111 (BX) + * opModRegWord07(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord07(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEBX & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -152,13 +152,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord08(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=000 (BX+SI) + * opModRegWord08(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord08(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -166,13 +166,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord09(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=001 (BX+DI) + * opModRegWord09(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord09(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -180,13 +180,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord0A(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=010 (BP+SI) + * opModRegWord0A(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord0A(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -194,13 +194,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord0B(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=011 (BP+DI) + * opModRegWord0B(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord0B(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -208,13 +208,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord0C(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=100 (SI) + * opModRegWord0C(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord0C(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regESI & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -222,13 +222,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord0D(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=101 (DI) + * opModRegWord0D(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord0D(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEDI & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -236,7 +236,7 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord0E(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=110 (d16) + * opModRegWord0E(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -250,13 +250,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegWord0F(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=111 (BX) + * opModRegWord0F(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord0F(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEBX & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -264,13 +264,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord10(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=000 (BX+SI) + * opModRegWord10(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord10(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -278,13 +278,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord11(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=001 (BX+DI) + * opModRegWord11(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord11(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -292,13 +292,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord12(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=010 (BP+SI) + * opModRegWord12(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord12(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -306,13 +306,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord13(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=011 (BP+DI) + * opModRegWord13(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord13(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -320,13 +320,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord14(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=100 (SI) + * opModRegWord14(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord14(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regESI & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -334,13 +334,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord15(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=101 (DI) + * opModRegWord15(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord15(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEDI & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -348,7 +348,7 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord16(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=110 (d16) + * opModRegWord16(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -362,13 +362,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegWord17(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=111 (BX) + * opModRegWord17(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord17(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEBX & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -376,13 +376,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord18(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=000 (BX+SI) + * opModRegWord18(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord18(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -390,13 +390,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord19(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=001 (BX+DI) + * opModRegWord19(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord19(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -404,13 +404,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord1A(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=010 (BP+SI) + * opModRegWord1A(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord1A(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -418,13 +418,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord1B(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=011 (BP+DI) + * opModRegWord1B(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord1B(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -432,13 +432,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord1C(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=100 (SI) + * opModRegWord1C(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord1C(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regESI & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -446,13 +446,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord1D(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=101 (DI) + * opModRegWord1D(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord1D(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEDI & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -460,7 +460,7 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord1E(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=110 (d16) + * opModRegWord1E(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -474,13 +474,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegWord1F(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=111 (BX) + * opModRegWord1F(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord1F(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEBX & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -488,73 +488,73 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord20(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=000 (BX+SI) + * opModRegWord20(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord20(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord21(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=001 (BX+DI) + * opModRegWord21(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord21(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord22(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=010 (BP+SI) + * opModRegWord22(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord22(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord23(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=011 (BP+DI) + * opModRegWord23(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord23(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord24(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=100 (SI) + * opModRegWord24(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord24(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regESI & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord25(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=101 (DI) + * opModRegWord25(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord25(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEDI & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord26(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=110 (d16) + * opModRegWord26(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -565,24 +565,24 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegWord27(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=111 (BX) + * opModRegWord27(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord27(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEBX & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord28(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=000 (BX+SI) + * opModRegWord28(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord28(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -590,13 +590,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord29(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=001 (BX+DI) + * opModRegWord29(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord29(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -604,13 +604,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord2A(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=010 (BP+SI) + * opModRegWord2A(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord2A(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -618,13 +618,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord2B(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=011 (BP+DI) + * opModRegWord2B(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord2B(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -632,13 +632,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord2C(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=100 (SI) + * opModRegWord2C(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord2C(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regESI & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -646,13 +646,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord2D(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=101 (DI) + * opModRegWord2D(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord2D(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEDI & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -660,7 +660,7 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord2E(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=110 (d16) + * opModRegWord2E(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -674,13 +674,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegWord2F(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=111 (BX) + * opModRegWord2F(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord2F(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEBX & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -688,13 +688,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord30(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=000 (BX+SI) + * opModRegWord30(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord30(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -702,13 +702,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord31(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=001 (BX+DI) + * opModRegWord31(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord31(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -716,13 +716,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord32(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=010 (BP+SI) + * opModRegWord32(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord32(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -730,13 +730,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord33(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=011 (BP+DI) + * opModRegWord33(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord33(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -744,13 +744,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord34(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=100 (SI) + * opModRegWord34(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord34(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regESI & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -758,13 +758,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord35(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=101 (DI) + * opModRegWord35(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord35(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEDI & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -772,7 +772,7 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord36(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=110 (d16) + * opModRegWord36(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -786,13 +786,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegWord37(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=111 (BX) + * opModRegWord37(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord37(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEBX & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -800,13 +800,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord38(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=000 (BX+SI) + * opModRegWord38(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord38(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -814,13 +814,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord39(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=001 (BX+DI) + * opModRegWord39(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord39(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -828,13 +828,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord3A(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=010 (BP+SI) + * opModRegWord3A(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord3A(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -842,13 +842,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModRegWord3B(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=011 (BP+DI) + * opModRegWord3B(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord3B(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -856,13 +856,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModRegWord3C(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=100 (SI) + * opModRegWord3C(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord3C(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regESI & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -870,13 +870,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord3D(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=101 (DI) + * opModRegWord3D(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord3D(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEDI & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -884,7 +884,7 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord3E(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=110 (d16) + * opModRegWord3E(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -898,13 +898,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModRegWord3F(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=111 (BX) + * opModRegWord3F(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord3F(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEBX & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -912,13 +912,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModRegWord40(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=000 (BX+SI+d8) + * opModRegWord40(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord40(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -926,13 +926,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord41(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=001 (BX+DI+d8) + * opModRegWord41(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord41(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -940,13 +940,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord42(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=010 (BP+SI+d8) + * opModRegWord42(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord42(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -954,13 +954,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord43(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=011 (BP+DI+d8) + * opModRegWord43(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord43(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -968,13 +968,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord44(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=100 (SI+d8) + * opModRegWord44(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord44(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -982,13 +982,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord45(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=101 (DI+d8) + * opModRegWord45(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord45(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -996,13 +996,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord46(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=110 (BP+d8) + * opModRegWord46(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord46(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -1010,13 +1010,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord47(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=111 (BX+d8) + * opModRegWord47(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord47(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -1024,13 +1024,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord48(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=000 (BX+SI+d8) + * opModRegWord48(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord48(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1038,13 +1038,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord49(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=001 (BX+DI+d8) + * opModRegWord49(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord49(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1052,13 +1052,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord4A(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=010 (BP+SI+d8) + * opModRegWord4A(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord4A(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1066,13 +1066,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord4B(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=011 (BP+DI+d8) + * opModRegWord4B(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord4B(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1080,13 +1080,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord4C(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=100 (SI+d8) + * opModRegWord4C(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord4C(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1094,13 +1094,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord4D(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=101 (DI+d8) + * opModRegWord4D(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord4D(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1108,13 +1108,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord4E(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=110 (BP+d8) + * opModRegWord4E(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord4E(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1122,13 +1122,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord4F(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=111 (BX+d8) + * opModRegWord4F(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord4F(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1136,13 +1136,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord50(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=000 (BX+SI+d8) + * opModRegWord50(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord50(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -1150,13 +1150,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord51(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=001 (BX+DI+d8) + * opModRegWord51(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord51(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -1164,13 +1164,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord52(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=010 (BP+SI+d8) + * opModRegWord52(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord52(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -1178,13 +1178,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord53(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=011 (BP+DI+d8) + * opModRegWord53(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord53(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -1192,13 +1192,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord54(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=100 (SI+d8) + * opModRegWord54(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord54(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -1206,13 +1206,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord55(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=101 (DI+d8) + * opModRegWord55(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord55(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -1220,13 +1220,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord56(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=110 (BP+d8) + * opModRegWord56(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord56(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -1234,13 +1234,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord57(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=111 (BX+d8) + * opModRegWord57(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord57(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -1248,13 +1248,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord58(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=000 (BX+SI+d8) + * opModRegWord58(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord58(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -1262,13 +1262,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord59(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=001 (BX+DI+d8) + * opModRegWord59(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord59(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -1276,13 +1276,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord5A(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=010 (BP+SI+d8) + * opModRegWord5A(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord5A(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -1290,13 +1290,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord5B(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=011 (BP+DI+d8) + * opModRegWord5B(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord5B(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -1304,13 +1304,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord5C(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=100 (SI+d8) + * opModRegWord5C(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord5C(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -1318,13 +1318,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord5D(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=101 (DI+d8) + * opModRegWord5D(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord5D(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -1332,13 +1332,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord5E(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=110 (BP+d8) + * opModRegWord5E(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord5E(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -1346,13 +1346,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord5F(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=111 (BX+d8) + * opModRegWord5F(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord5F(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -1360,101 +1360,101 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord60(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=000 (BX+SI+d8) + * opModRegWord60(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord60(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord61(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=001 (BX+DI+d8) + * opModRegWord61(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord61(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord62(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=010 (BP+SI+d8) + * opModRegWord62(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord62(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord63(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=011 (BP+DI+d8) + * opModRegWord63(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord63(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord64(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=100 (SI+d8) + * opModRegWord64(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord64(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord65(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=101 (DI+d8) + * opModRegWord65(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord65(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord66(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=110 (BP+d8) + * opModRegWord66(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord66(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord67(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=111 (BX+d8) + * opModRegWord67(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord67(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord68(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=000 (BX+SI+d8) + * opModRegWord68(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord68(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -1462,13 +1462,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord69(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=001 (BX+DI+d8) + * opModRegWord69(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord69(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -1476,13 +1476,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord6A(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=010 (BP+SI+d8) + * opModRegWord6A(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord6A(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -1490,13 +1490,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord6B(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=011 (BP+DI+d8) + * opModRegWord6B(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord6B(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -1504,13 +1504,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord6C(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=100 (SI+d8) + * opModRegWord6C(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord6C(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -1518,13 +1518,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord6D(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=101 (DI+d8) + * opModRegWord6D(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord6D(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -1532,13 +1532,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord6E(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=110 (BP+d8) + * opModRegWord6E(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord6E(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -1546,13 +1546,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord6F(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=111 (BX+d8) + * opModRegWord6F(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord6F(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -1560,13 +1560,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord70(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=000 (BX+SI+d8) + * opModRegWord70(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord70(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -1574,13 +1574,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord71(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=001 (BX+DI+d8) + * opModRegWord71(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord71(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -1588,13 +1588,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord72(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=010 (BP+SI+d8) + * opModRegWord72(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord72(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -1602,13 +1602,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord73(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=011 (BP+DI+d8) + * opModRegWord73(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord73(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -1616,13 +1616,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord74(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=100 (SI+d8) + * opModRegWord74(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord74(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -1630,13 +1630,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord75(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=101 (DI+d8) + * opModRegWord75(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord75(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -1644,13 +1644,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord76(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=110 (BP+d8) + * opModRegWord76(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord76(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -1658,13 +1658,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord77(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=111 (BX+d8) + * opModRegWord77(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord77(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -1672,13 +1672,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord78(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=000 (BX+SI+d8) + * opModRegWord78(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord78(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -1686,13 +1686,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord79(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=001 (BX+DI+d8) + * opModRegWord79(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord79(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -1700,13 +1700,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord7A(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=010 (BP+SI+d8) + * opModRegWord7A(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord7A(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -1714,13 +1714,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord7B(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=011 (BP+DI+d8) + * opModRegWord7B(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord7B(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -1728,13 +1728,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord7C(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=100 (SI+d8) + * opModRegWord7C(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord7C(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -1742,13 +1742,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord7D(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=101 (DI+d8) + * opModRegWord7D(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord7D(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -1756,13 +1756,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord7E(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=110 (BP+d8) + * opModRegWord7E(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord7E(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -1770,13 +1770,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord7F(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=111 (BX+d8) + * opModRegWord7F(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord7F(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -1784,13 +1784,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord80(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=000 (BX+SI+d16) + * opModRegWord80(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord80(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -1798,13 +1798,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord81(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=001 (BX+DI+d16) + * opModRegWord81(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord81(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -1812,13 +1812,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord82(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=010 (BP+SI+d16) + * opModRegWord82(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord82(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -1826,13 +1826,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord83(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=011 (BP+DI+d16) + * opModRegWord83(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord83(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -1840,13 +1840,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord84(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=100 (SI+d16) + * opModRegWord84(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord84(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -1854,13 +1854,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord85(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=101 (DI+d16) + * opModRegWord85(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord85(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -1868,13 +1868,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord86(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=110 (BP+d16) + * opModRegWord86(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord86(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -1882,13 +1882,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord87(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=111 (BX+d16) + * opModRegWord87(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord87(fn) { - var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regEAX = (this.regEAX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; @@ -1896,13 +1896,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord88(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=000 (BX+SI+d16) + * opModRegWord88(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord88(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1910,13 +1910,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord89(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=001 (BX+DI+d16) + * opModRegWord89(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord89(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1924,13 +1924,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord8A(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=010 (BP+SI+d16) + * opModRegWord8A(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord8A(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1938,13 +1938,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord8B(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=011 (BP+DI+d16) + * opModRegWord8B(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord8B(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1952,13 +1952,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord8C(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=100 (SI+d16) + * opModRegWord8C(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord8C(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1966,13 +1966,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord8D(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=101 (DI+d16) + * opModRegWord8D(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord8D(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1980,13 +1980,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord8E(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=110 (BP+d16) + * opModRegWord8E(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord8E(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -1994,13 +1994,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord8F(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=111 (BX+d16) + * opModRegWord8F(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord8F(fn) { - var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regECX = (this.regECX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; @@ -2008,13 +2008,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord90(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=000 (BX+SI+d16) + * opModRegWord90(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord90(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -2022,13 +2022,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord91(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=001 (BX+DI+d16) + * opModRegWord91(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord91(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -2036,13 +2036,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord92(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=010 (BP+SI+d16) + * opModRegWord92(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord92(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -2050,13 +2050,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord93(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=011 (BP+DI+d16) + * opModRegWord93(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord93(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -2064,13 +2064,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord94(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=100 (SI+d16) + * opModRegWord94(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord94(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -2078,13 +2078,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord95(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=101 (DI+d16) + * opModRegWord95(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord95(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -2092,13 +2092,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord96(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=110 (BP+d16) + * opModRegWord96(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord96(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -2106,13 +2106,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord97(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=111 (BX+d16) + * opModRegWord97(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord97(fn) { - var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regEDX = (this.regEDX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; @@ -2120,13 +2120,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord98(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=000 (BX+SI+d16) + * opModRegWord98(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord98(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -2134,13 +2134,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord99(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=001 (BX+DI+d16) + * opModRegWord99(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord99(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -2148,13 +2148,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord9A(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=010 (BP+SI+d16) + * opModRegWord9A(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord9A(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -2162,13 +2162,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWord9B(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=011 (BP+DI+d16) + * opModRegWord9B(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord9B(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -2176,13 +2176,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWord9C(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=100 (SI+d16) + * opModRegWord9C(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord9C(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -2190,13 +2190,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord9D(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=101 (DI+d16) + * opModRegWord9D(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord9D(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -2204,13 +2204,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord9E(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=110 (BP+d16) + * opModRegWord9E(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord9E(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -2218,13 +2218,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWord9F(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=111 (BX+d16) + * opModRegWord9F(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWord9F(fn) { - var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regEBX = (this.regEBX & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; @@ -2232,101 +2232,101 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordA0(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=000 (BX+SI+d16) + * opModRegWordA0(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordA0(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWordA1(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=001 (BX+DI+d16) + * opModRegWordA1(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordA1(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWordA2(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=010 (BP+SI+d16) + * opModRegWordA2(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordA2(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWordA3(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=011 (BP+DI+d16) + * opModRegWordA3(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordA3(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWordA4(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=100 (SI+d16) + * opModRegWordA4(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordA4(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordA5(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=101 (DI+d16) + * opModRegWordA5(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordA5(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordA6(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=110 (BP+d16) + * opModRegWordA6(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordA6(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordA7(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=111 (BX+d16) + * opModRegWordA7(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordA7(fn) { - var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regESP = (this.regESP & ~this.opMask) | w; this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordA8(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=000 (BX+SI+d16) + * opModRegWordA8(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordA8(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -2334,13 +2334,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWordA9(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=001 (BX+DI+d16) + * opModRegWordA9(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordA9(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -2348,13 +2348,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWordAA(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=010 (BP+SI+d16) + * opModRegWordAA(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordAA(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -2362,13 +2362,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWordAB(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=011 (BP+DI+d16) + * opModRegWordAB(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordAB(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -2376,13 +2376,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWordAC(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=100 (SI+d16) + * opModRegWordAC(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordAC(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -2390,13 +2390,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordAD(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=101 (DI+d16) + * opModRegWordAD(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordAD(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -2404,13 +2404,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordAE(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=110 (BP+d16) + * opModRegWordAE(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordAE(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -2418,13 +2418,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordAF(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=111 (BX+d16) + * opModRegWordAF(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordAF(fn) { - var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regEBP = (this.regEBP & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; @@ -2432,13 +2432,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordB0(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=000 (BX+SI+d16) + * opModRegWordB0(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordB0(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -2446,13 +2446,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWordB1(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=001 (BX+DI+d16) + * opModRegWordB1(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordB1(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -2460,13 +2460,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWordB2(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=010 (BP+SI+d16) + * opModRegWordB2(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordB2(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -2474,13 +2474,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWordB3(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=011 (BP+DI+d16) + * opModRegWordB3(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordB3(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -2488,13 +2488,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWordB4(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=100 (SI+d16) + * opModRegWordB4(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordB4(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -2502,13 +2502,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordB5(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=101 (DI+d16) + * opModRegWordB5(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordB5(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -2516,13 +2516,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordB6(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=110 (BP+d16) + * opModRegWordB6(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordB6(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -2530,13 +2530,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordB7(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=111 (BX+d16) + * opModRegWordB7(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordB7(fn) { - var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regESI = (this.regESI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; @@ -2544,13 +2544,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordB8(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=000 (BX+SI+d16) + * opModRegWordB8(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordB8(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -2558,13 +2558,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWordB9(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=001 (BX+DI+d16) + * opModRegWordB9(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordB9(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -2572,13 +2572,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWordBA(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=010 (BP+SI+d16) + * opModRegWordBA(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordBA(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -2586,13 +2586,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModRegWordBB(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=011 (BP+DI+d16) + * opModRegWordBB(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordBB(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -2600,13 +2600,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModRegWordBC(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=100 (SI+d16) + * opModRegWordBC(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordBC(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -2614,13 +2614,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordBD(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=101 (DI+d16) + * opModRegWordBD(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordBD(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -2628,13 +2628,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordBE(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=110 (BP+d16) + * opModRegWordBE(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordBE(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -2642,13 +2642,13 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordBF(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=111 (BX+d16) + * opModRegWordBF(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModRegWordBF(fn) { - var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff)); this.regEDI = (this.regEDI & ~this.opMask) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; @@ -2656,7 +2656,7 @@ X86ModW.aOpModReg = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModRegWordC0(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=000 (AX) + * opModRegWordC0(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=000 (AX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2666,7 +2666,7 @@ X86ModW.aOpModReg = [ this.regEAX = (this.regEAX & ~this.opMask) | w; }, /** - * opModRegWordC1(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=001 (CX) + * opModRegWordC1(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=001 (CX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2679,7 +2679,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordC2(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=010 (DX) + * opModRegWordC2(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=010 (DX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2692,7 +2692,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordC3(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=011 (BX) + * opModRegWordC3(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=011 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2705,7 +2705,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordC4(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=100 (SP) + * opModRegWordC4(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=100 (SP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2718,7 +2718,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordC5(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=101 (BP) + * opModRegWordC5(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=101 (BP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2731,7 +2731,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordC6(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=110 (SI) + * opModRegWordC6(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=110 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2744,7 +2744,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordC7(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=111 (DI) + * opModRegWordC7(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=111 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2757,7 +2757,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordC8(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=000 (AX) + * opModRegWordC8(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=000 (AX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2770,7 +2770,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordC9(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=001 (CX) + * opModRegWordC9(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=001 (CX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2780,7 +2780,7 @@ X86ModW.aOpModReg = [ this.regECX = (this.regECX & ~this.opMask) | w; }, /** - * opModRegWordCA(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=010 (DX) + * opModRegWordCA(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=010 (DX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2793,7 +2793,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordCB(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=011 (BX) + * opModRegWordCB(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=011 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2806,7 +2806,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordCC(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=100 (SP) + * opModRegWordCC(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=100 (SP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2819,7 +2819,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordCD(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=101 (BP) + * opModRegWordCD(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=101 (BP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2832,7 +2832,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordCE(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=110 (SI) + * opModRegWordCE(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=110 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2845,7 +2845,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordCF(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=111 (DI) + * opModRegWordCF(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=111 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2858,7 +2858,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordD0(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=000 (AX) + * opModRegWordD0(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=000 (AX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2871,7 +2871,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordD1(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=001 (CX) + * opModRegWordD1(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=001 (CX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2884,7 +2884,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordD2(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=010 (DX) + * opModRegWordD2(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=010 (DX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2894,7 +2894,7 @@ X86ModW.aOpModReg = [ this.regEDX = (this.regEDX & ~this.opMask) | w; }, /** - * opModRegWordD3(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=011 (BX) + * opModRegWordD3(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=011 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2907,7 +2907,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordD4(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=100 (SP) + * opModRegWordD4(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=100 (SP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2920,7 +2920,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordD5(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=101 (BP) + * opModRegWordD5(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=101 (BP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2933,7 +2933,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordD6(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=110 (SI) + * opModRegWordD6(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=110 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2946,7 +2946,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordD7(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=111 (DI) + * opModRegWordD7(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=111 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2959,7 +2959,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordD8(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=000 (AX) + * opModRegWordD8(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=000 (AX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2972,7 +2972,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordD9(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=001 (CX) + * opModRegWordD9(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=001 (CX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2985,7 +2985,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordDA(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=010 (DX) + * opModRegWordDA(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=010 (DX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -2998,7 +2998,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordDB(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=011 (BX) + * opModRegWordDB(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=011 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3008,7 +3008,7 @@ X86ModW.aOpModReg = [ this.regEBX = (this.regEBX & ~this.opMask) | w; }, /** - * opModRegWordDC(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=100 (SP) + * opModRegWordDC(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=100 (SP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3021,7 +3021,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordDD(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=101 (BP) + * opModRegWordDD(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=101 (BP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3034,7 +3034,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordDE(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=110 (SI) + * opModRegWordDE(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=110 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3047,7 +3047,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordDF(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=111 (DI) + * opModRegWordDF(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=111 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3060,7 +3060,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordE0(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=000 (AX) + * opModRegWordE0(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=000 (AX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3070,7 +3070,7 @@ X86ModW.aOpModReg = [ this.regESP = (this.regESP & ~this.opMask) | w; }, /** - * opModRegWordE1(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=001 (CX) + * opModRegWordE1(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=001 (CX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3080,7 +3080,7 @@ X86ModW.aOpModReg = [ this.regESP = (this.regESP & ~this.opMask) | w; }, /** - * opModRegWordE2(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=010 (DX) + * opModRegWordE2(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=010 (DX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3090,7 +3090,7 @@ X86ModW.aOpModReg = [ this.regESP = (this.regESP & ~this.opMask) | w; }, /** - * opModRegWordE3(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=011 (BX) + * opModRegWordE3(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=011 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3100,7 +3100,7 @@ X86ModW.aOpModReg = [ this.regESP = (this.regESP & ~this.opMask) | w; }, /** - * opModRegWordE4(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=100 (SP) + * opModRegWordE4(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=100 (SP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3110,7 +3110,7 @@ X86ModW.aOpModReg = [ this.regESP = (this.regESP & ~this.opMask) | w; }, /** - * opModRegWordE5(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=101 (BP) + * opModRegWordE5(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=101 (BP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3120,7 +3120,7 @@ X86ModW.aOpModReg = [ this.regESP = (this.regESP & ~this.opMask) | w; }, /** - * opModRegWordE6(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=110 (SI) + * opModRegWordE6(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=110 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3130,7 +3130,7 @@ X86ModW.aOpModReg = [ this.regESP = (this.regESP & ~this.opMask) | w; }, /** - * opModRegWordE7(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=111 (DI) + * opModRegWordE7(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=111 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3140,7 +3140,7 @@ X86ModW.aOpModReg = [ this.regESP = (this.regESP & ~this.opMask) | w; }, /** - * opModRegWordE8(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=000 (AX) + * opModRegWordE8(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=000 (AX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3153,7 +3153,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordE9(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=001 (CX) + * opModRegWordE9(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=001 (CX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3166,7 +3166,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordEA(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=010 (DX) + * opModRegWordEA(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=010 (DX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3179,7 +3179,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordEB(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=011 (BX) + * opModRegWordEB(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=011 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3192,7 +3192,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordEC(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=100 (SP) + * opModRegWordEC(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=100 (SP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3205,7 +3205,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordED(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=101 (BP) + * opModRegWordED(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=101 (BP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3215,7 +3215,7 @@ X86ModW.aOpModReg = [ this.regEBP = (this.regEBP & ~this.opMask) | w; }, /** - * opModRegWordEE(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=110 (SI) + * opModRegWordEE(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=110 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3228,7 +3228,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordEF(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=111 (DI) + * opModRegWordEF(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=111 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3241,7 +3241,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordF0(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=000 (AX) + * opModRegWordF0(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=000 (AX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3254,7 +3254,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordF1(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=001 (CX) + * opModRegWordF1(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=001 (CX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3267,7 +3267,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordF2(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=010 (DX) + * opModRegWordF2(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=010 (DX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3280,7 +3280,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordF3(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=011 (BX) + * opModRegWordF3(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=011 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3293,7 +3293,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordF4(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=100 (SP) + * opModRegWordF4(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=100 (SP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3306,7 +3306,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordF5(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=101 (BP) + * opModRegWordF5(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=101 (BP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3319,7 +3319,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordF6(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=110 (SI) + * opModRegWordF6(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=110 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3329,7 +3329,7 @@ X86ModW.aOpModReg = [ this.regESI = (this.regESI & ~this.opMask) | w; }, /** - * opModRegWordF7(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=111 (DI) + * opModRegWordF7(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=111 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3342,7 +3342,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordF8(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=000 (AX) + * opModRegWordF8(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=000 (AX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3355,7 +3355,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordF9(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=001 (CX) + * opModRegWordF9(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=001 (CX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3368,7 +3368,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordFA(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=010 (DX) + * opModRegWordFA(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=010 (DX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3381,7 +3381,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordFB(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=011 (BX) + * opModRegWordFB(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=011 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3394,7 +3394,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordFC(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=100 (SP) + * opModRegWordFC(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=100 (SP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3407,7 +3407,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordFD(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=101 (BP) + * opModRegWordFD(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=101 (BP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3420,7 +3420,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordFE(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=110 (SI) + * opModRegWordFE(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=110 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3433,7 +3433,7 @@ X86ModW.aOpModReg = [ } }, /** - * opModRegWordFF(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=111 (DI) + * opModRegWordFF(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=111 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3446,13 +3446,13 @@ X86ModW.aOpModReg = [ X86ModW.aOpModMem = [ /** - * opModMemWord00(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=000 (BX+SI) + * opModMemWord00(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord00(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -3460,13 +3460,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord01(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=001 (BX+DI) + * opModMemWord01(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord01(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -3474,13 +3474,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord02(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=010 (BP+SI) + * opModMemWord02(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord02(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -3488,13 +3488,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord03(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=011 (BP+DI) + * opModMemWord03(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord03(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -3502,13 +3502,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord04(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=100 (SI) + * opModMemWord04(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord04(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regESI & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -3516,13 +3516,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord05(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=101 (DI) + * opModMemWord05(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord05(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -3530,7 +3530,7 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord06(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=110 (d16) + * opModMemWord06(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3544,13 +3544,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemWord07(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=111 (BX) + * opModMemWord07(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord07(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -3558,13 +3558,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord08(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=000 (BX+SI) + * opModMemWord08(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord08(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -3572,13 +3572,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord09(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=001 (BX+DI) + * opModMemWord09(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord09(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -3586,13 +3586,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord0A(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=010 (BP+SI) + * opModMemWord0A(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord0A(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -3600,13 +3600,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord0B(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=011 (BP+DI) + * opModMemWord0B(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord0B(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -3614,13 +3614,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord0C(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=100 (SI) + * opModMemWord0C(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord0C(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regESI & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -3628,13 +3628,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord0D(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=101 (DI) + * opModMemWord0D(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord0D(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -3642,7 +3642,7 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord0E(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=110 (d16) + * opModMemWord0E(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3656,13 +3656,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemWord0F(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=111 (BX) + * opModMemWord0F(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord0F(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -3670,13 +3670,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord10(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=000 (BX+SI) + * opModMemWord10(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord10(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -3684,13 +3684,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord11(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=001 (BX+DI) + * opModMemWord11(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord11(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -3698,13 +3698,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord12(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=010 (BP+SI) + * opModMemWord12(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord12(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -3712,13 +3712,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord13(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=011 (BP+DI) + * opModMemWord13(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord13(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -3726,13 +3726,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord14(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=100 (SI) + * opModMemWord14(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord14(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regESI & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -3740,13 +3740,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord15(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=101 (DI) + * opModMemWord15(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord15(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -3754,7 +3754,7 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord16(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=110 (d16) + * opModMemWord16(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3768,13 +3768,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemWord17(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=111 (BX) + * opModMemWord17(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord17(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -3782,13 +3782,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord18(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=000 (BX+SI) + * opModMemWord18(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord18(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -3796,13 +3796,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord19(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=001 (BX+DI) + * opModMemWord19(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord19(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -3810,13 +3810,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord1A(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=010 (BP+SI) + * opModMemWord1A(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord1A(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -3824,13 +3824,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord1B(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=011 (BP+DI) + * opModMemWord1B(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord1B(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -3838,13 +3838,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord1C(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=100 (SI) + * opModMemWord1C(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord1C(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regESI & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -3852,13 +3852,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord1D(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=101 (DI) + * opModMemWord1D(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord1D(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -3866,7 +3866,7 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord1E(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=110 (d16) + * opModMemWord1E(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3880,13 +3880,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemWord1F(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=111 (BX) + * opModMemWord1F(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord1F(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -3894,13 +3894,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord20(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=000 (BX+SI) + * opModMemWord20(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord20(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -3908,13 +3908,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord21(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=001 (BX+DI) + * opModMemWord21(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord21(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -3922,13 +3922,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord22(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=010 (BP+SI) + * opModMemWord22(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord22(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -3936,13 +3936,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord23(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=011 (BP+DI) + * opModMemWord23(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord23(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -3950,13 +3950,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord24(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=100 (SI) + * opModMemWord24(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord24(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regESI & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -3964,13 +3964,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord25(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=101 (DI) + * opModMemWord25(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord25(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -3978,7 +3978,7 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord26(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=110 (d16) + * opModMemWord26(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -3992,13 +3992,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemWord27(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=111 (BX) + * opModMemWord27(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord27(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -4006,13 +4006,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord28(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=000 (BX+SI) + * opModMemWord28(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord28(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4020,13 +4020,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord29(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=001 (BX+DI) + * opModMemWord29(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord29(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4034,13 +4034,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord2A(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=010 (BP+SI) + * opModMemWord2A(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord2A(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4048,13 +4048,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord2B(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=011 (BP+DI) + * opModMemWord2B(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord2B(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4062,13 +4062,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord2C(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=100 (SI) + * opModMemWord2C(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord2C(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regESI & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4076,13 +4076,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord2D(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=101 (DI) + * opModMemWord2D(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord2D(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4090,7 +4090,7 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord2E(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=110 (d16) + * opModMemWord2E(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -4104,13 +4104,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemWord2F(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=111 (BX) + * opModMemWord2F(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord2F(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4118,13 +4118,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord30(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=000 (BX+SI) + * opModMemWord30(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord30(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -4132,13 +4132,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord31(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=001 (BX+DI) + * opModMemWord31(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord31(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -4146,13 +4146,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord32(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=010 (BP+SI) + * opModMemWord32(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord32(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -4160,13 +4160,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord33(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=011 (BP+DI) + * opModMemWord33(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord33(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -4174,13 +4174,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord34(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=100 (SI) + * opModMemWord34(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord34(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regESI & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -4188,13 +4188,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord35(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=101 (DI) + * opModMemWord35(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord35(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -4202,7 +4202,7 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord36(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=110 (d16) + * opModMemWord36(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -4216,13 +4216,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemWord37(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=111 (BX) + * opModMemWord37(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord37(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -4230,13 +4230,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord38(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=000 (BX+SI) + * opModMemWord38(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=000 (BX+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord38(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -4244,13 +4244,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord39(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=001 (BX+DI) + * opModMemWord39(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=001 (BX+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord39(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -4258,13 +4258,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord3A(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=010 (BP+SI) + * opModMemWord3A(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=010 (BP+SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord3A(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -4272,13 +4272,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModMemWord3B(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=011 (BP+DI) + * opModMemWord3B(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=011 (BP+DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord3B(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -4286,13 +4286,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModMemWord3C(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=100 (SI) + * opModMemWord3C(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=100 (SI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord3C(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regESI & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -4300,13 +4300,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord3D(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=101 (DI) + * opModMemWord3D(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=101 (DI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord3D(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -4314,7 +4314,7 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord3E(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=110 (d16) + * opModMemWord3E(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=110 (d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) @@ -4328,13 +4328,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModMemWord3F(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=111 (BX) + * opModMemWord3F(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=111 (BX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord3F(fn) { - var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -4342,13 +4342,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModMemWord40(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=000 (BX+SI+d8) + * opModMemWord40(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord40(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -4356,13 +4356,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord41(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=001 (BX+DI+d8) + * opModMemWord41(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord41(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -4370,13 +4370,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord42(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=010 (BP+SI+d8) + * opModMemWord42(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord42(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -4384,13 +4384,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord43(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=011 (BP+DI+d8) + * opModMemWord43(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord43(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -4398,13 +4398,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord44(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=100 (SI+d8) + * opModMemWord44(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord44(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -4412,13 +4412,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord45(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=101 (DI+d8) + * opModMemWord45(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord45(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -4426,13 +4426,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord46(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=110 (BP+d8) + * opModMemWord46(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord46(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -4440,13 +4440,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord47(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=111 (BX+d8) + * opModMemWord47(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord47(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -4454,13 +4454,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord48(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=000 (BX+SI+d8) + * opModMemWord48(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord48(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -4468,13 +4468,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord49(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=001 (BX+DI+d8) + * opModMemWord49(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord49(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -4482,13 +4482,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord4A(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=010 (BP+SI+d8) + * opModMemWord4A(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord4A(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -4496,13 +4496,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord4B(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=011 (BP+DI+d8) + * opModMemWord4B(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord4B(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -4510,13 +4510,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord4C(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=100 (SI+d8) + * opModMemWord4C(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord4C(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -4524,13 +4524,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord4D(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=101 (DI+d8) + * opModMemWord4D(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord4D(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -4538,13 +4538,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord4E(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=110 (BP+d8) + * opModMemWord4E(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord4E(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -4552,13 +4552,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord4F(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=111 (BX+d8) + * opModMemWord4F(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord4F(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -4566,13 +4566,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord50(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=000 (BX+SI+d8) + * opModMemWord50(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord50(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -4580,13 +4580,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord51(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=001 (BX+DI+d8) + * opModMemWord51(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord51(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -4594,13 +4594,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord52(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=010 (BP+SI+d8) + * opModMemWord52(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord52(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -4608,13 +4608,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord53(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=011 (BP+DI+d8) + * opModMemWord53(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord53(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -4622,13 +4622,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord54(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=100 (SI+d8) + * opModMemWord54(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord54(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -4636,13 +4636,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord55(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=101 (DI+d8) + * opModMemWord55(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord55(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -4650,13 +4650,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord56(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=110 (BP+d8) + * opModMemWord56(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord56(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -4664,13 +4664,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord57(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=111 (BX+d8) + * opModMemWord57(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord57(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -4678,13 +4678,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord58(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=000 (BX+SI+d8) + * opModMemWord58(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord58(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -4692,13 +4692,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord59(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=001 (BX+DI+d8) + * opModMemWord59(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord59(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -4706,13 +4706,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord5A(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=010 (BP+SI+d8) + * opModMemWord5A(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord5A(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -4720,13 +4720,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord5B(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=011 (BP+DI+d8) + * opModMemWord5B(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord5B(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -4734,13 +4734,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord5C(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=100 (SI+d8) + * opModMemWord5C(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord5C(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -4748,13 +4748,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord5D(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=101 (DI+d8) + * opModMemWord5D(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord5D(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -4762,13 +4762,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord5E(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=110 (BP+d8) + * opModMemWord5E(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord5E(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -4776,13 +4776,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord5F(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=111 (BX+d8) + * opModMemWord5F(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord5F(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -4790,13 +4790,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord60(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=000 (BX+SI+d8) + * opModMemWord60(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord60(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -4804,13 +4804,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord61(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=001 (BX+DI+d8) + * opModMemWord61(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord61(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -4818,13 +4818,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord62(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=010 (BP+SI+d8) + * opModMemWord62(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord62(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -4832,13 +4832,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord63(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=011 (BP+DI+d8) + * opModMemWord63(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord63(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -4846,13 +4846,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord64(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=100 (SI+d8) + * opModMemWord64(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord64(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -4860,13 +4860,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord65(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=101 (DI+d8) + * opModMemWord65(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord65(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -4874,13 +4874,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord66(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=110 (BP+d8) + * opModMemWord66(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord66(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -4888,13 +4888,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord67(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=111 (BX+d8) + * opModMemWord67(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord67(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -4902,13 +4902,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord68(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=000 (BX+SI+d8) + * opModMemWord68(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord68(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4916,13 +4916,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord69(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=001 (BX+DI+d8) + * opModMemWord69(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord69(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4930,13 +4930,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord6A(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=010 (BP+SI+d8) + * opModMemWord6A(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord6A(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4944,13 +4944,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord6B(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=011 (BP+DI+d8) + * opModMemWord6B(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord6B(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4958,13 +4958,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord6C(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=100 (SI+d8) + * opModMemWord6C(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord6C(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4972,13 +4972,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord6D(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=101 (DI+d8) + * opModMemWord6D(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord6D(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -4986,13 +4986,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord6E(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=110 (BP+d8) + * opModMemWord6E(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord6E(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -5000,13 +5000,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord6F(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=111 (BX+d8) + * opModMemWord6F(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord6F(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -5014,13 +5014,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord70(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=000 (BX+SI+d8) + * opModMemWord70(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord70(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5028,13 +5028,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord71(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=001 (BX+DI+d8) + * opModMemWord71(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord71(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5042,13 +5042,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord72(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=010 (BP+SI+d8) + * opModMemWord72(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord72(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5056,13 +5056,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord73(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=011 (BP+DI+d8) + * opModMemWord73(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord73(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5070,13 +5070,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord74(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=100 (SI+d8) + * opModMemWord74(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord74(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5084,13 +5084,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord75(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=101 (DI+d8) + * opModMemWord75(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord75(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5098,13 +5098,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord76(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=110 (BP+d8) + * opModMemWord76(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord76(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5112,13 +5112,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord77(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=111 (BX+d8) + * opModMemWord77(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord77(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5126,13 +5126,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord78(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=000 (BX+SI+d8) + * opModMemWord78(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord78(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -5140,13 +5140,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord79(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=001 (BX+DI+d8) + * opModMemWord79(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord79(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -5154,13 +5154,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord7A(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=010 (BP+SI+d8) + * opModMemWord7A(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord7A(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -5168,13 +5168,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord7B(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=011 (BP+DI+d8) + * opModMemWord7B(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord7B(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -5182,13 +5182,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord7C(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=100 (SI+d8) + * opModMemWord7C(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=100 (SI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord7C(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -5196,13 +5196,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord7D(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=101 (DI+d8) + * opModMemWord7D(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=101 (DI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord7D(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -5210,13 +5210,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord7E(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=110 (BP+d8) + * opModMemWord7E(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=110 (BP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord7E(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -5224,13 +5224,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord7F(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=111 (BX+d8) + * opModMemWord7F(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=111 (BX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord7F(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -5238,13 +5238,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord80(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=000 (BX+SI+d16) + * opModMemWord80(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord80(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -5252,13 +5252,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord81(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=001 (BX+DI+d16) + * opModMemWord81(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord81(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -5266,13 +5266,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord82(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=010 (BP+SI+d16) + * opModMemWord82(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord82(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -5280,13 +5280,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord83(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=011 (BP+DI+d16) + * opModMemWord83(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord83(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -5294,13 +5294,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord84(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=100 (SI+d16) + * opModMemWord84(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord84(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -5308,13 +5308,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord85(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=101 (DI+d16) + * opModMemWord85(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord85(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -5322,13 +5322,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord86(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=110 (BP+d16) + * opModMemWord86(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord86(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -5336,13 +5336,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord87(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=111 (BX+d16) + * opModMemWord87(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord87(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), this.regEAX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } @@ -5350,13 +5350,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord88(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=000 (BX+SI+d16) + * opModMemWord88(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord88(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -5364,13 +5364,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord89(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=001 (BX+DI+d16) + * opModMemWord89(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord89(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -5378,13 +5378,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord8A(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=010 (BP+SI+d16) + * opModMemWord8A(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord8A(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -5392,13 +5392,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord8B(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=011 (BP+DI+d16) + * opModMemWord8B(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord8B(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -5406,13 +5406,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord8C(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=100 (SI+d16) + * opModMemWord8C(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord8C(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -5420,13 +5420,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord8D(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=101 (DI+d16) + * opModMemWord8D(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord8D(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -5434,13 +5434,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord8E(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=110 (BP+d16) + * opModMemWord8E(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord8E(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -5448,13 +5448,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord8F(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=111 (BX+d16) + * opModMemWord8F(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord8F(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), this.regECX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } @@ -5462,13 +5462,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord90(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=000 (BX+SI+d16) + * opModMemWord90(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord90(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -5476,13 +5476,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord91(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=001 (BX+DI+d16) + * opModMemWord91(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord91(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -5490,13 +5490,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord92(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=010 (BP+SI+d16) + * opModMemWord92(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord92(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -5504,13 +5504,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord93(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=011 (BP+DI+d16) + * opModMemWord93(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord93(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -5518,13 +5518,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord94(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=100 (SI+d16) + * opModMemWord94(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord94(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -5532,13 +5532,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord95(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=101 (DI+d16) + * opModMemWord95(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord95(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -5546,13 +5546,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord96(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=110 (BP+d16) + * opModMemWord96(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord96(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -5560,13 +5560,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord97(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=111 (BX+d16) + * opModMemWord97(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord97(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), this.regEDX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } @@ -5574,13 +5574,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord98(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=000 (BX+SI+d16) + * opModMemWord98(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord98(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -5588,13 +5588,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord99(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=001 (BX+DI+d16) + * opModMemWord99(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord99(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -5602,13 +5602,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord9A(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=010 (BP+SI+d16) + * opModMemWord9A(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord9A(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -5616,13 +5616,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWord9B(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=011 (BP+DI+d16) + * opModMemWord9B(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord9B(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -5630,13 +5630,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWord9C(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=100 (SI+d16) + * opModMemWord9C(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord9C(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -5644,13 +5644,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord9D(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=101 (DI+d16) + * opModMemWord9D(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord9D(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -5658,13 +5658,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord9E(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=110 (BP+d16) + * opModMemWord9E(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord9E(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -5672,13 +5672,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWord9F(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=111 (BX+d16) + * opModMemWord9F(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWord9F(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), this.regEBX & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } @@ -5686,13 +5686,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordA0(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=000 (BX+SI+d16) + * opModMemWordA0(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordA0(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -5700,13 +5700,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWordA1(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=001 (BX+DI+d16) + * opModMemWordA1(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordA1(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -5714,13 +5714,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWordA2(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=010 (BP+SI+d16) + * opModMemWordA2(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordA2(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -5728,13 +5728,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWordA3(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=011 (BP+DI+d16) + * opModMemWordA3(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordA3(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -5742,13 +5742,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWordA4(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=100 (SI+d16) + * opModMemWordA4(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordA4(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -5756,13 +5756,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordA5(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=101 (DI+d16) + * opModMemWordA5(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordA5(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -5770,13 +5770,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordA6(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=110 (BP+d16) + * opModMemWordA6(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordA6(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -5784,13 +5784,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordA7(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=111 (BX+d16) + * opModMemWordA7(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordA7(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), this.regESP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; } @@ -5798,13 +5798,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordA8(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=000 (BX+SI+d16) + * opModMemWordA8(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordA8(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -5812,13 +5812,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWordA9(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=001 (BX+DI+d16) + * opModMemWordA9(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordA9(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -5826,13 +5826,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWordAA(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=010 (BP+SI+d16) + * opModMemWordAA(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordAA(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -5840,13 +5840,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWordAB(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=011 (BP+DI+d16) + * opModMemWordAB(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordAB(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -5854,13 +5854,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWordAC(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=100 (SI+d16) + * opModMemWordAC(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordAC(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -5868,13 +5868,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordAD(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=101 (DI+d16) + * opModMemWordAD(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordAD(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -5882,13 +5882,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordAE(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=110 (BP+d16) + * opModMemWordAE(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordAE(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -5896,13 +5896,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordAF(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=111 (BX+d16) + * opModMemWordAF(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordAF(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), this.regEBP & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } @@ -5910,13 +5910,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordB0(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=000 (BX+SI+d16) + * opModMemWordB0(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordB0(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5924,13 +5924,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWordB1(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=001 (BX+DI+d16) + * opModMemWordB1(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordB1(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5938,13 +5938,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWordB2(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=010 (BP+SI+d16) + * opModMemWordB2(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordB2(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5952,13 +5952,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWordB3(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=011 (BP+DI+d16) + * opModMemWordB3(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordB3(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5966,13 +5966,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWordB4(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=100 (SI+d16) + * opModMemWordB4(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordB4(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5980,13 +5980,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordB5(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=101 (DI+d16) + * opModMemWordB5(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordB5(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -5994,13 +5994,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordB6(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=110 (BP+d16) + * opModMemWordB6(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordB6(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -6008,13 +6008,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordB7(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=111 (BX+d16) + * opModMemWordB7(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordB7(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), this.regESI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } @@ -6022,13 +6022,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordB8(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=000 (BX+SI+d16) + * opModMemWordB8(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordB8(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -6036,13 +6036,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWordB9(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=001 (BX+DI+d16) + * opModMemWordB9(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordB9(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -6050,13 +6050,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWordBA(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=010 (BP+SI+d16) + * opModMemWordBA(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordBA(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -6064,13 +6064,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModMemWordBB(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=011 (BP+DI+d16) + * opModMemWordBB(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordBB(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -6078,13 +6078,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModMemWordBC(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=100 (SI+d16) + * opModMemWordBC(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=100 (SI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordBC(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -6092,13 +6092,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordBD(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=101 (DI+d16) + * opModMemWordBD(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=101 (DI+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordBD(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -6106,13 +6106,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordBE(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=110 (BP+d16) + * opModMemWordBE(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=110 (BP+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordBE(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -6120,13 +6120,13 @@ X86ModW.aOpModMem = [ this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModMemWordBF(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=111 (BX+d16) + * opModMemWordBF(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=111 (BX+d16) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opModMemWordBF(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), this.regEDI & this.opMask); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } @@ -6153,79 +6153,79 @@ X86ModW.aOpModMem = [ X86ModW.aOpModGrp = [ /** - * opModGrpWord00(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI) + * opModGrpWord00(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord00(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord01(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI) + * opModGrpWord01(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord01(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord02(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI) + * opModGrpWord02(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord02(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord03(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI) + * opModGrpWord03(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord03(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord04(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=100 (SI) + * opModGrpWord04(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord04(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord05(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=101 (DI) + * opModGrpWord05(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord05(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord06(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=110 (d16) + * opModGrpWord06(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -6237,91 +6237,91 @@ X86ModW.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpWord07(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=111 (BX) + * opModGrpWord07(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord07(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord08(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI) + * opModGrpWord08(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord08(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord09(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI) + * opModGrpWord09(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord09(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord0A(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI) + * opModGrpWord0A(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord0A(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord0B(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI) + * opModGrpWord0B(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord0B(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord0C(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=100 (SI) + * opModGrpWord0C(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord0C(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord0D(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=101 (DI) + * opModGrpWord0D(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord0D(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord0E(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=110 (d16) + * opModGrpWord0E(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -6333,91 +6333,91 @@ X86ModW.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpWord0F(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=111 (BX) + * opModGrpWord0F(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord0F(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord10(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI) + * opModGrpWord10(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord10(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord11(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI) + * opModGrpWord11(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord11(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord12(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI) + * opModGrpWord12(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord12(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord13(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI) + * opModGrpWord13(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord13(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord14(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=100 (SI) + * opModGrpWord14(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord14(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord15(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=101 (DI) + * opModGrpWord15(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord15(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord16(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=110 (d16) + * opModGrpWord16(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -6429,91 +6429,91 @@ X86ModW.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpWord17(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=111 (BX) + * opModGrpWord17(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord17(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord18(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI) + * opModGrpWord18(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord18(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord19(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI) + * opModGrpWord19(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord19(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord1A(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI) + * opModGrpWord1A(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord1A(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord1B(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI) + * opModGrpWord1B(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord1B(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord1C(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=100 (SI) + * opModGrpWord1C(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord1C(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord1D(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=101 (DI) + * opModGrpWord1D(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord1D(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord1E(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=110 (d16) + * opModGrpWord1E(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -6525,91 +6525,91 @@ X86ModW.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpWord1F(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=111 (BX) + * opModGrpWord1F(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord1F(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord20(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI) + * opModGrpWord20(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord20(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord21(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI) + * opModGrpWord21(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord21(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord22(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI) + * opModGrpWord22(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord22(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord23(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI) + * opModGrpWord23(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord23(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord24(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=100 (SI) + * opModGrpWord24(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord24(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord25(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=101 (DI) + * opModGrpWord25(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord25(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord26(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=110 (d16) + * opModGrpWord26(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -6621,91 +6621,91 @@ X86ModW.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpWord27(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=111 (BX) + * opModGrpWord27(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord27(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord28(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI) + * opModGrpWord28(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord28(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord29(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI) + * opModGrpWord29(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord29(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord2A(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI) + * opModGrpWord2A(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord2A(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord2B(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI) + * opModGrpWord2B(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord2B(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord2C(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=100 (SI) + * opModGrpWord2C(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord2C(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord2D(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=101 (DI) + * opModGrpWord2D(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord2D(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord2E(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=110 (d16) + * opModGrpWord2E(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -6717,91 +6717,91 @@ X86ModW.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpWord2F(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=111 (BX) + * opModGrpWord2F(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord2F(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord30(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI) + * opModGrpWord30(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord30(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord31(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI) + * opModGrpWord31(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord31(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord32(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI) + * opModGrpWord32(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord32(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord33(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI) + * opModGrpWord33(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord33(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord34(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=100 (SI) + * opModGrpWord34(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord34(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord35(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=101 (DI) + * opModGrpWord35(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord35(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord36(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=110 (d16) + * opModGrpWord36(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -6813,91 +6813,91 @@ X86ModW.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpWord37(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=111 (BX) + * opModGrpWord37(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord37(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord38(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI) + * opModGrpWord38(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=000 (BX+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord38(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord39(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI) + * opModGrpWord39(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=001 (BX+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord39(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord3A(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI) + * opModGrpWord3A(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=010 (BP+SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord3A(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; }, /** - * opModGrpWord3B(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI) + * opModGrpWord3B(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=011 (BP+DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord3B(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; }, /** - * opModGrpWord3C(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=100 (SI) + * opModGrpWord3C(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=100 (SI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord3C(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regESI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord3D(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=101 (DI) + * opModGrpWord3D(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=101 (DI) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord3D(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEDI & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord3E(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=110 (d16) + * opModGrpWord3E(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=110 (d16) * * @this {X86CPU} * @param {Array.} afnGrp @@ -6909,1555 +6909,1555 @@ X86ModW.aOpModGrp = [ this.nStepCycles -= this.CYCLES.nEACyclesDisp; }, /** - * opModGrpWord3F(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=111 (BX) + * opModGrpWord3F(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=111 (BX) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord3F(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEBX & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBase; }, /** - * opModGrpWord40(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d8) + * opModGrpWord40(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord40(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord41(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d8) + * opModGrpWord41(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord41(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord42(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d8) + * opModGrpWord42(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord42(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord43(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d8) + * opModGrpWord43(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord43(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord44(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=100 (SI+d8) + * opModGrpWord44(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord44(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord45(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=101 (DI+d8) + * opModGrpWord45(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord45(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord46(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=110 (BP+d8) + * opModGrpWord46(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord46(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord47(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=111 (BX+d8) + * opModGrpWord47(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord47(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord48(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d8) + * opModGrpWord48(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord48(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord49(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d8) + * opModGrpWord49(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord49(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord4A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d8) + * opModGrpWord4A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord4A(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord4B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d8) + * opModGrpWord4B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord4B(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord4C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=100 (SI+d8) + * opModGrpWord4C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord4C(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord4D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=101 (DI+d8) + * opModGrpWord4D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord4D(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord4E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=110 (BP+d8) + * opModGrpWord4E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord4E(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord4F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=111 (BX+d8) + * opModGrpWord4F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord4F(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord50(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d8) + * opModGrpWord50(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord50(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord51(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d8) + * opModGrpWord51(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord51(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord52(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d8) + * opModGrpWord52(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord52(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord53(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d8) + * opModGrpWord53(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord53(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord54(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=100 (SI+d8) + * opModGrpWord54(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord54(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord55(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=101 (DI+d8) + * opModGrpWord55(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord55(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord56(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=110 (BP+d8) + * opModGrpWord56(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord56(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord57(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=111 (BX+d8) + * opModGrpWord57(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord57(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord58(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d8) + * opModGrpWord58(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord58(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord59(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d8) + * opModGrpWord59(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord59(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord5A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d8) + * opModGrpWord5A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord5A(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord5B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d8) + * opModGrpWord5B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord5B(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord5C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=100 (SI+d8) + * opModGrpWord5C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord5C(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord5D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=101 (DI+d8) + * opModGrpWord5D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord5D(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord5E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=110 (BP+d8) + * opModGrpWord5E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord5E(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord5F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=111 (BX+d8) + * opModGrpWord5F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord5F(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord60(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d8) + * opModGrpWord60(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord60(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord61(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d8) + * opModGrpWord61(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord61(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord62(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d8) + * opModGrpWord62(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord62(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord63(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d8) + * opModGrpWord63(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord63(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord64(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=100 (SI+d8) + * opModGrpWord64(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord64(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord65(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=101 (DI+d8) + * opModGrpWord65(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord65(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord66(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=110 (BP+d8) + * opModGrpWord66(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord66(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord67(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=111 (BX+d8) + * opModGrpWord67(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord67(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord68(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d8) + * opModGrpWord68(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord68(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord69(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d8) + * opModGrpWord69(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord69(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord6A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d8) + * opModGrpWord6A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord6A(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord6B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d8) + * opModGrpWord6B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord6B(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord6C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=100 (SI+d8) + * opModGrpWord6C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord6C(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord6D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=101 (DI+d8) + * opModGrpWord6D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord6D(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord6E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=110 (BP+d8) + * opModGrpWord6E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord6E(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord6F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=111 (BX+d8) + * opModGrpWord6F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord6F(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord70(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d8) + * opModGrpWord70(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord70(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord71(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d8) + * opModGrpWord71(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord71(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord72(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d8) + * opModGrpWord72(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord72(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord73(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d8) + * opModGrpWord73(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord73(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord74(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=100 (SI+d8) + * opModGrpWord74(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord74(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord75(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=101 (DI+d8) + * opModGrpWord75(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord75(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord76(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=110 (BP+d8) + * opModGrpWord76(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord76(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord77(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=111 (BX+d8) + * opModGrpWord77(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord77(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord78(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d8) + * opModGrpWord78(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord78(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord79(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d8) + * opModGrpWord79(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord79(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord7A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d8) + * opModGrpWord7A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord7A(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord7B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d8) + * opModGrpWord7B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord7B(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord7C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=100 (SI+d8) + * opModGrpWord7C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=100 (SI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord7C(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord7D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=101 (DI+d8) + * opModGrpWord7D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=101 (DI+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord7D(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord7E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=110 (BP+d8) + * opModGrpWord7E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=110 (BP+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord7E(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord7F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=111 (BX+d8) + * opModGrpWord7F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=111 (BX+d8) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord7F(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPDisp()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord80(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d16) + * opModGrpWord80(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord80(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord81(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d16) + * opModGrpWord81(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord81(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord82(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d16) + * opModGrpWord82(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord82(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord83(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d16) + * opModGrpWord83(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord83(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord84(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=100 (SI+d16) + * opModGrpWord84(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord84(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord85(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=101 (DI+d16) + * opModGrpWord85(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord85(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord86(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=110 (BP+d16) + * opModGrpWord86(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord86(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord87(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=111 (BX+d16) + * opModGrpWord87(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord87(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord88(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d16) + * opModGrpWord88(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord88(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord89(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d16) + * opModGrpWord89(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord89(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord8A(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d16) + * opModGrpWord8A(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord8A(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord8B(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d16) + * opModGrpWord8B(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord8B(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord8C(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=100 (SI+d16) + * opModGrpWord8C(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord8C(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord8D(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=101 (DI+d16) + * opModGrpWord8D(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord8D(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord8E(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=110 (BP+d16) + * opModGrpWord8E(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord8E(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord8F(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=111 (BX+d16) + * opModGrpWord8F(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord8F(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord90(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d16) + * opModGrpWord90(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord90(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord91(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d16) + * opModGrpWord91(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord91(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord92(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d16) + * opModGrpWord92(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord92(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord93(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d16) + * opModGrpWord93(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord93(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord94(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=100 (SI+d16) + * opModGrpWord94(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord94(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord95(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=101 (DI+d16) + * opModGrpWord95(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord95(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord96(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=110 (BP+d16) + * opModGrpWord96(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord96(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord97(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=111 (BX+d16) + * opModGrpWord97(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord97(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord98(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d16) + * opModGrpWord98(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord98(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord99(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d16) + * opModGrpWord99(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord99(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord9A(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d16) + * opModGrpWord9A(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord9A(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWord9B(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d16) + * opModGrpWord9B(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord9B(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWord9C(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=100 (SI+d16) + * opModGrpWord9C(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord9C(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord9D(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=101 (DI+d16) + * opModGrpWord9D(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord9D(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord9E(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=110 (BP+d16) + * opModGrpWord9E(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord9E(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWord9F(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=111 (BX+d16) + * opModGrpWord9F(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWord9F(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordA0(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d16) + * opModGrpWordA0(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordA0(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWordA1(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d16) + * opModGrpWordA1(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordA1(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWordA2(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d16) + * opModGrpWordA2(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordA2(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWordA3(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d16) + * opModGrpWordA3(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordA3(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWordA4(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=100 (SI+d16) + * opModGrpWordA4(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordA4(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordA5(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=101 (DI+d16) + * opModGrpWordA5(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordA5(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordA6(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=110 (BP+d16) + * opModGrpWordA6(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordA6(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordA7(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=111 (BX+d16) + * opModGrpWordA7(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordA7(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordA8(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d16) + * opModGrpWordA8(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordA8(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWordA9(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d16) + * opModGrpWordA9(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordA9(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWordAA(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d16) + * opModGrpWordAA(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordAA(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWordAB(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d16) + * opModGrpWordAB(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordAB(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWordAC(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=100 (SI+d16) + * opModGrpWordAC(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordAC(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordAD(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=101 (DI+d16) + * opModGrpWordAD(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordAD(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordAE(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=110 (BP+d16) + * opModGrpWordAE(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordAE(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordAF(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=111 (BX+d16) + * opModGrpWordAF(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordAF(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordB0(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d16) + * opModGrpWordB0(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordB0(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWordB1(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d16) + * opModGrpWordB1(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordB1(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWordB2(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d16) + * opModGrpWordB2(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordB2(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWordB3(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d16) + * opModGrpWordB3(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordB3(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWordB4(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=100 (SI+d16) + * opModGrpWordB4(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordB4(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordB5(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=101 (DI+d16) + * opModGrpWordB5(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordB5(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordB6(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=110 (BP+d16) + * opModGrpWordB6(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordB6(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordB7(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=111 (BX+d16) + * opModGrpWordB7(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordB7(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordB8(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d16) + * opModGrpWordB8(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordB8(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEBX + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWordB9(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d16) + * opModGrpWordB9(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordB9(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEBX + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWordBA(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d16) + * opModGrpWordBA(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordBA(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; }, /** - * opModGrpWordBB(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d16) + * opModGrpWordBB(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordBB(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, (this.regEBP + this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; }, /** - * opModGrpWordBC(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=100 (SI+d16) + * opModGrpWordBC(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=100 (SI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordBC(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regESI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordBD(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=101 (DI+d16) + * opModGrpWordBD(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=101 (DI+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordBD(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEDI + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordBE(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=110 (BP+d16) + * opModGrpWordBE(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=110 (BP+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordBE(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, (this.regEBP + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordBF(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=111 (BX+d16) + * opModGrpWordBF(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=111 (BX+d16) * * @this {X86CPU} * @param {Array.} afnGrp * @param {function()} fnSrc */ function opModGrpWordBF(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEBX + this.getIPWord()) & 0xffff), fnSrc.call(this)); this.setEAWord(w); this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; }, /** - * opModGrpWordC0(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=000 (AX) + * opModGrpWordC0(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=000 (AX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8471,7 +8471,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordC1(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=001 (CX) + * opModGrpWordC1(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=001 (CX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8485,7 +8485,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordC2(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=010 (DX) + * opModGrpWordC2(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=010 (DX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8499,7 +8499,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordC3(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=011 (BX) + * opModGrpWordC3(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=011 (BX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8513,7 +8513,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordC4(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=100 (SP) + * opModGrpWordC4(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=100 (SP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8527,7 +8527,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordC5(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=101 (BP) + * opModGrpWordC5(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=101 (BP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8541,7 +8541,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordC6(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=110 (SI) + * opModGrpWordC6(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=110 (SI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8555,7 +8555,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordC7(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=111 (DI) + * opModGrpWordC7(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=111 (DI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8569,7 +8569,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordC8(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=000 (AX) + * opModGrpWordC8(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=000 (AX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8583,7 +8583,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordC9(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=001 (CX) + * opModGrpWordC9(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=001 (CX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8597,7 +8597,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordCA(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=010 (DX) + * opModGrpWordCA(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=010 (DX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8611,7 +8611,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordCB(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=011 (BX) + * opModGrpWordCB(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=011 (BX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8625,7 +8625,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordCC(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=100 (SP) + * opModGrpWordCC(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=100 (SP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8639,7 +8639,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordCD(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=101 (BP) + * opModGrpWordCD(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=101 (BP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8653,7 +8653,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordCE(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=110 (SI) + * opModGrpWordCE(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=110 (SI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8667,7 +8667,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordCF(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=111 (DI) + * opModGrpWordCF(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=111 (DI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8681,7 +8681,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordD0(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=000 (AX) + * opModGrpWordD0(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=000 (AX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8695,7 +8695,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordD1(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=001 (CX) + * opModGrpWordD1(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=001 (CX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8709,7 +8709,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordD2(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=010 (DX) + * opModGrpWordD2(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=010 (DX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8723,7 +8723,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordD3(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=011 (BX) + * opModGrpWordD3(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=011 (BX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8737,7 +8737,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordD4(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=100 (SP) + * opModGrpWordD4(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=100 (SP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8751,7 +8751,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordD5(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=101 (BP) + * opModGrpWordD5(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=101 (BP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8765,7 +8765,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordD6(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=110 (SI) + * opModGrpWordD6(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=110 (SI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8779,7 +8779,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordD7(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=111 (DI) + * opModGrpWordD7(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=111 (DI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8793,7 +8793,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordD8(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=000 (AX) + * opModGrpWordD8(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=000 (AX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8807,7 +8807,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordD9(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=001 (CX) + * opModGrpWordD9(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=001 (CX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8821,7 +8821,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordDA(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=010 (DX) + * opModGrpWordDA(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=010 (DX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8835,7 +8835,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordDB(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=011 (BX) + * opModGrpWordDB(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=011 (BX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8849,7 +8849,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordDC(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=100 (SP) + * opModGrpWordDC(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=100 (SP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8863,7 +8863,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordDD(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=101 (BP) + * opModGrpWordDD(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=101 (BP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8877,7 +8877,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordDE(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=110 (SI) + * opModGrpWordDE(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=110 (SI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8891,7 +8891,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordDF(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=111 (DI) + * opModGrpWordDF(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=111 (DI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8905,7 +8905,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordE0(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=000 (AX) + * opModGrpWordE0(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=000 (AX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8919,7 +8919,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordE1(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=001 (CX) + * opModGrpWordE1(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=001 (CX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8933,7 +8933,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordE2(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=010 (DX) + * opModGrpWordE2(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=010 (DX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8947,7 +8947,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordE3(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=011 (BX) + * opModGrpWordE3(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=011 (BX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8961,7 +8961,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordE4(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=100 (SP) + * opModGrpWordE4(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=100 (SP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8975,7 +8975,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordE5(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=101 (BP) + * opModGrpWordE5(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=101 (BP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -8989,7 +8989,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordE6(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=110 (SI) + * opModGrpWordE6(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=110 (SI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9003,7 +9003,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordE7(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=111 (DI) + * opModGrpWordE7(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=111 (DI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9017,7 +9017,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordE8(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=000 (AX) + * opModGrpWordE8(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=000 (AX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9031,7 +9031,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordE9(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=001 (CX) + * opModGrpWordE9(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=001 (CX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9045,7 +9045,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordEA(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=010 (DX) + * opModGrpWordEA(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=010 (DX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9059,7 +9059,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordEB(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=011 (BX) + * opModGrpWordEB(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=011 (BX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9073,7 +9073,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordEC(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=100 (SP) + * opModGrpWordEC(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=100 (SP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9087,7 +9087,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordED(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=101 (BP) + * opModGrpWordED(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=101 (BP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9101,7 +9101,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordEE(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=110 (SI) + * opModGrpWordEE(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=110 (SI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9115,7 +9115,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordEF(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=111 (DI) + * opModGrpWordEF(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=111 (DI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9129,7 +9129,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordF0(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=000 (AX) + * opModGrpWordF0(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=000 (AX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9143,7 +9143,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordF1(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=001 (CX) + * opModGrpWordF1(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=001 (CX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9157,7 +9157,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordF2(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=010 (DX) + * opModGrpWordF2(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=010 (DX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9171,7 +9171,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordF3(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=011 (BX) + * opModGrpWordF3(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=011 (BX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9185,7 +9185,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordF4(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=100 (SP) + * opModGrpWordF4(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=100 (SP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9199,7 +9199,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordF5(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=101 (BP) + * opModGrpWordF5(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=101 (BP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9213,7 +9213,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordF6(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=110 (SI) + * opModGrpWordF6(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=110 (SI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9227,7 +9227,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordF7(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=111 (DI) + * opModGrpWordF7(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=111 (DI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9241,7 +9241,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordF8(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=000 (AX) + * opModGrpWordF8(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=000 (AX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9255,7 +9255,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordF9(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=001 (CX) + * opModGrpWordF9(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=001 (CX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9269,7 +9269,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordFA(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=010 (DX) + * opModGrpWordFA(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=010 (DX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9283,7 +9283,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordFB(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=011 (BX) + * opModGrpWordFB(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=011 (BX) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9297,7 +9297,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordFC(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=100 (SP) + * opModGrpWordFC(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=100 (SP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9311,7 +9311,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordFD(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=101 (BP) + * opModGrpWordFD(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=101 (BP) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9325,7 +9325,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordFE(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=110 (SI) + * opModGrpWordFE(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=110 (SI) * * @this {X86CPU} * @param {Array.} afnGrp @@ -9339,7 +9339,7 @@ X86ModW.aOpModGrp = [ } }, /** - * opModGrpWordFF(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=111 (DI) + * opModGrpWordFF(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=111 (DI) * * @this {X86CPU} * @param {Array.} afnGrp diff --git a/modules/pcjs/lib/x86modw32.js b/modules/pcjs/lib/x86modw32.js new file mode 100644 index 000000000..fb2ab9621 --- /dev/null +++ b/modules/pcjs/lib/x86modw32.js @@ -0,0 +1,9405 @@ +/** + * @fileoverview Implements PCjs 8086 mode-byte decoding. + * @author Jeff Parsons + * @version 1.0 + * Created 2015-Jan-20 + * + * Copyright © 2012-2015 Jeff Parsons + * + * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines) + * at and . + * + * PCjs is free software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with PCjs. If not, + * see . + * + * You are required to include the above copyright notice in every source code file of every + * copy or modified version of this work, and to display that copyright notice on every screen + * that loads or runs any version of this software (see Computer.sCopyright). + * + * Some PCjs files also attempt to load external resource files, such as character-image files, + * ROM files, and disk image files. Those external resource files are not considered part of the + * PCjs program for purposes of the GNU General Public License, and the author does not claim + * any copyright as to their contents. + */ + +"use strict"; + +if (typeof module !== 'undefined') { + var X86 = require("./x86"); +} + +var X86ModW32 = {}; + +X86ModW32.aOpModReg = [ + /** + * opMod32RegWord00(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord00(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEAX)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord01(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord01(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regECX)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord02(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord02(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEDX)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord03(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord03(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEBX)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord04(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord04(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.getSIB(0))); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord05(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord05(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegWord06(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord06(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regESI)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord07(fn): mod=00 (src:mem) reg=000 (dst:AX) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord07(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEDI)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord08(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord08(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEAX)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord09(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord09(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regECX)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord0A(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord0A(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEDX)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord0B(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord0B(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEBX)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord0C(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord0C(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.getSIB(0))); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord0D(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord0D(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegWord0E(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord0E(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regESI)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord0F(fn): mod=00 (src:mem) reg=001 (dst:CX) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord0F(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEDI)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord10(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord10(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEAX)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord11(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord11(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regECX)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord12(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord12(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEDX)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord13(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord13(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEBX)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord14(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord14(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.getSIB(0))); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord15(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord15(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegWord16(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord16(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regESI)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord17(fn): mod=00 (src:mem) reg=010 (dst:DX) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord17(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEDI)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord18(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord18(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEAX)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord19(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord19(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regECX)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord1A(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord1A(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEDX)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord1B(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord1B(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEBX)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord1C(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord1C(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.getSIB(0))); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord1D(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord1D(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegWord1E(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord1E(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regESI)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord1F(fn): mod=00 (src:mem) reg=011 (dst:BX) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord1F(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEDI)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord20(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord20(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEAX)); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord21(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord21(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regECX)); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord22(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord22(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEDX)); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord23(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord23(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEBX)); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord24(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord24(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.getSIB(0))); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord25(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord25(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegWord26(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord26(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regESI)); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord27(fn): mod=00 (src:mem) reg=100 (dst:SP) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord27(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEDI)); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord28(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord28(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEAX)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord29(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord29(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regECX)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord2A(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord2A(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEDX)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord2B(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord2B(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEBX)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord2C(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord2C(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.getSIB(0))); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord2D(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord2D(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegWord2E(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord2E(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regESI)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord2F(fn): mod=00 (src:mem) reg=101 (dst:BP) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord2F(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEDI)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord30(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord30(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEAX)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord31(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord31(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regECX)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord32(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord32(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEDX)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord33(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord33(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEBX)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord34(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord34(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.getSIB(0))); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord35(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord35(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegWord36(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord36(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regESI)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord37(fn): mod=00 (src:mem) reg=110 (dst:SI) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord37(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEDI)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord38(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord38(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEAX)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord39(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord39(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regECX)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord3A(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord3A(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEDX)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord3B(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord3B(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEBX)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord3C(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord3C(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.getSIB(0))); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord3D(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord3D(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32RegWord3E(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord3E(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regESI)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord3F(fn): mod=00 (src:mem) reg=111 (dst:DI) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord3F(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEDI)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32RegWord40(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord40(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPDisp())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord41(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord41(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPDisp())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord42(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord42(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPDisp())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord43(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord43(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPDisp())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord44(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord44(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord45(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord45(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPDisp())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord46(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord46(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPDisp())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord47(fn): mod=01 (src:mem+d8) reg=000 (dst:AX) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord47(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPDisp())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord48(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord48(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPDisp())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord49(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord49(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPDisp())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord4A(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord4A(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPDisp())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord4B(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord4B(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPDisp())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord4C(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord4C(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord4D(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord4D(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPDisp())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord4E(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord4E(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPDisp())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord4F(fn): mod=01 (src:mem+d8) reg=001 (dst:CX) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord4F(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPDisp())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord50(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord50(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPDisp())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord51(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord51(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPDisp())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord52(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord52(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPDisp())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord53(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord53(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPDisp())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord54(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord54(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord55(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord55(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPDisp())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord56(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord56(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPDisp())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord57(fn): mod=01 (src:mem+d8) reg=010 (dst:DX) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord57(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPDisp())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord58(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord58(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPDisp())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord59(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord59(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPDisp())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord5A(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord5A(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPDisp())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord5B(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord5B(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPDisp())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord5C(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord5C(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord5D(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord5D(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPDisp())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord5E(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord5E(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPDisp())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord5F(fn): mod=01 (src:mem+d8) reg=011 (dst:BX) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord5F(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPDisp())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord60(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord60(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPDisp())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord61(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord61(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPDisp())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord62(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord62(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPDisp())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord63(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord63(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPDisp())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord64(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord64(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord65(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord65(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPDisp())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord66(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord66(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPDisp())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord67(fn): mod=01 (src:mem+d8) reg=100 (dst:SP) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord67(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPDisp())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord68(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord68(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPDisp())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord69(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord69(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPDisp())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord6A(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord6A(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPDisp())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord6B(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord6B(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPDisp())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord6C(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord6C(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord6D(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord6D(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPDisp())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord6E(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord6E(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPDisp())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord6F(fn): mod=01 (src:mem+d8) reg=101 (dst:BP) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord6F(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPDisp())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord70(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord70(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPDisp())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord71(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord71(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPDisp())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord72(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord72(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPDisp())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord73(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord73(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPDisp())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord74(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord74(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord75(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord75(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPDisp())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord76(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord76(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPDisp())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord77(fn): mod=01 (src:mem+d8) reg=110 (dst:SI) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord77(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPDisp())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord78(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord78(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPDisp())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord79(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord79(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPDisp())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord7A(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord7A(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPDisp())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord7B(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord7B(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPDisp())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord7C(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord7C(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.getSIB(1) + this.getIPDisp())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord7D(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord7D(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPDisp())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord7E(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord7E(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPDisp())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord7F(fn): mod=01 (src:mem+d8) reg=111 (dst:DI) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord7F(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPDisp())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord80(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord80(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPWord())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord81(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord81(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPWord())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord82(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord82(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPWord())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord83(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord83(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPWord())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord84(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord84(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.getSIB(2) + this.getIPWord())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord85(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord85(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPWord())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord86(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord86(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPWord())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord87(fn): mod=10 (src:mem+d16) reg=000 (dst:AX) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord87(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPWord())); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord88(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord88(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPWord())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord89(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord89(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPWord())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord8A(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord8A(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPWord())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord8B(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord8B(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPWord())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord8C(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord8C(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.getSIB(2) + this.getIPWord())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord8D(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord8D(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPWord())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord8E(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord8E(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPWord())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord8F(fn): mod=10 (src:mem+d16) reg=001 (dst:CX) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord8F(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPWord())); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord90(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord90(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPWord())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord91(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord91(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPWord())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord92(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord92(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPWord())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord93(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord93(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPWord())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord94(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord94(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.getSIB(2) + this.getIPWord())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord95(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord95(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPWord())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord96(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord96(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPWord())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord97(fn): mod=10 (src:mem+d16) reg=010 (dst:DX) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord97(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPWord())); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord98(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord98(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPWord())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord99(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord99(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPWord())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord9A(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord9A(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPWord())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord9B(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord9B(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPWord())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord9C(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord9C(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.getSIB(2) + this.getIPWord())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord9D(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord9D(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPWord())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord9E(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord9E(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPWord())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWord9F(fn): mod=10 (src:mem+d16) reg=011 (dst:BX) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWord9F(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPWord())); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordA0(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordA0(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPWord())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordA1(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordA1(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPWord())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordA2(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordA2(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPWord())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordA3(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordA3(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPWord())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordA4(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordA4(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.getSIB(2) + this.getIPWord())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordA5(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordA5(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPWord())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordA6(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordA6(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPWord())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordA7(fn): mod=10 (src:mem+d16) reg=100 (dst:SP) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordA7(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPWord())); + this.regESP = (this.regESP & ~this.opMask) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordA8(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordA8(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPWord())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordA9(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordA9(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPWord())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordAA(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordAA(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPWord())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordAB(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordAB(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPWord())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordAC(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordAC(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.getSIB(2) + this.getIPWord())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordAD(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordAD(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPWord())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordAE(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordAE(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPWord())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordAF(fn): mod=10 (src:mem+d16) reg=101 (dst:BP) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordAF(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPWord())); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordB0(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordB0(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPWord())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordB1(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordB1(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPWord())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordB2(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordB2(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPWord())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordB3(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordB3(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPWord())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordB4(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordB4(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.getSIB(2) + this.getIPWord())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordB5(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordB5(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPWord())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordB6(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordB6(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPWord())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordB7(fn): mod=10 (src:mem+d16) reg=110 (dst:SI) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordB7(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPWord())); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordB8(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordB8(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEAX + this.getIPWord())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordB9(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordB9(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regECX + this.getIPWord())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordBA(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordBA(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEDX + this.getIPWord())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordBB(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordBB(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEBX + this.getIPWord())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordBC(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordBC(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.getSIB(2) + this.getIPWord())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordBD(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordBD(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEBP + this.getIPWord())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordBE(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordBE(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regESI + this.getIPWord())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordBF(fn): mod=10 (src:mem+d16) reg=111 (dst:DI) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordBF(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.regEDI + this.getIPWord())); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32RegWordC0(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordC0(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regEAX & this.opMask); + this.regEAX = (this.regEAX & ~this.opMask) | w; + }, + /** + * opMod32RegWordC1(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordC1(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regECX & this.opMask); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiCL; this.backTrack.btiAH = this.backTrack.btiCH; + } + }, + /** + * opMod32RegWordC2(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordC2(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regEDX & this.opMask); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiDL; this.backTrack.btiAH = this.backTrack.btiDH; + } + }, + /** + * opMod32RegWordC3(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordC3(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regEBX & this.opMask); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiBL; this.backTrack.btiAH = this.backTrack.btiBH; + } + }, + /** + * opMod32RegWordC4(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordC4(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regESP & this.opMask); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = X86.BACKTRACK.SP_LO; this.backTrack.btiAH = X86.BACKTRACK.SP_HI; + } + }, + /** + * opMod32RegWordC5(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordC5(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regEBP & this.opMask); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiBPLo; this.backTrack.btiAH = this.backTrack.btiBPHi; + } + }, + /** + * opMod32RegWordC6(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordC6(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regESI & this.opMask); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiSILo; this.backTrack.btiAH = this.backTrack.btiSIHi; + } + }, + /** + * opMod32RegWordC7(fn): mod=11 (src:reg) reg=000 (dst:AX) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordC7(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regEDI & this.opMask); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiDILo; this.backTrack.btiAH = this.backTrack.btiDIHi; + } + }, + /** + * opMod32RegWordC8(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordC8(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regEAX & this.opMask); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiAL; this.backTrack.btiCH = this.backTrack.btiAH; + } + }, + /** + * opMod32RegWordC9(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordC9(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regECX & this.opMask); + this.regECX = (this.regECX & ~this.opMask) | w; + }, + /** + * opMod32RegWordCA(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordCA(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regEDX & this.opMask); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiDL; this.backTrack.btiCH = this.backTrack.btiDH; + } + }, + /** + * opMod32RegWordCB(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordCB(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regEBX & this.opMask); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiBL; this.backTrack.btiCH = this.backTrack.btiBH; + } + }, + /** + * opMod32RegWordCC(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordCC(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regESP & this.opMask); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = X86.BACKTRACK.SP_LO; this.backTrack.btiCH = X86.BACKTRACK.SP_HI; + } + }, + /** + * opMod32RegWordCD(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordCD(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regEBP & this.opMask); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiBPLo; this.backTrack.btiCH = this.backTrack.btiBPHi; + } + }, + /** + * opMod32RegWordCE(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordCE(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regESI & this.opMask); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiSILo; this.backTrack.btiCH = this.backTrack.btiSIHi; + } + }, + /** + * opMod32RegWordCF(fn): mod=11 (src:reg) reg=001 (dst:CX) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordCF(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regEDI & this.opMask); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiDILo; this.backTrack.btiCH = this.backTrack.btiDIHi; + } + }, + /** + * opMod32RegWordD0(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordD0(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regEAX & this.opMask); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiAL; this.backTrack.btiDH = this.backTrack.btiAH; + } + }, + /** + * opMod32RegWordD1(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordD1(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regECX & this.opMask); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiCL; this.backTrack.btiDH = this.backTrack.btiCH; + } + }, + /** + * opMod32RegWordD2(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordD2(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regEDX & this.opMask); + this.regEDX = (this.regEDX & ~this.opMask) | w; + }, + /** + * opMod32RegWordD3(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordD3(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regEBX & this.opMask); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiBL; this.backTrack.btiDH = this.backTrack.btiBH; + } + }, + /** + * opMod32RegWordD4(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordD4(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regESP & this.opMask); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = X86.BACKTRACK.SP_LO; this.backTrack.btiDH = X86.BACKTRACK.SP_HI; + } + }, + /** + * opMod32RegWordD5(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordD5(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regEBP & this.opMask); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiBPLo; this.backTrack.btiDH = this.backTrack.btiBPHi; + } + }, + /** + * opMod32RegWordD6(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordD6(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regESI & this.opMask); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiSILo; this.backTrack.btiDH = this.backTrack.btiSIHi; + } + }, + /** + * opMod32RegWordD7(fn): mod=11 (src:reg) reg=010 (dst:DX) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordD7(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regEDI & this.opMask); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiDILo; this.backTrack.btiDH = this.backTrack.btiDIHi; + } + }, + /** + * opMod32RegWordD8(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordD8(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regEAX & this.opMask); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiAL; this.backTrack.btiBH = this.backTrack.btiAH; + } + }, + /** + * opMod32RegWordD9(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordD9(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regECX & this.opMask); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiCL; this.backTrack.btiBH = this.backTrack.btiCH; + } + }, + /** + * opMod32RegWordDA(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordDA(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regEDX & this.opMask); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiDL; this.backTrack.btiBH = this.backTrack.btiDH; + } + }, + /** + * opMod32RegWordDB(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordDB(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regEBX & this.opMask); + this.regEBX = (this.regEBX & ~this.opMask) | w; + }, + /** + * opMod32RegWordDC(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordDC(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regESP & this.opMask); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = X86.BACKTRACK.SP_LO; this.backTrack.btiBH = X86.BACKTRACK.SP_HI; + } + }, + /** + * opMod32RegWordDD(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordDD(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regEBP & this.opMask); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiBPLo; this.backTrack.btiBH = this.backTrack.btiBPHi; + } + }, + /** + * opMod32RegWordDE(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordDE(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regESI & this.opMask); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiSILo; this.backTrack.btiBH = this.backTrack.btiSIHi; + } + }, + /** + * opMod32RegWordDF(fn): mod=11 (src:reg) reg=011 (dst:BX) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordDF(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regEDI & this.opMask); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiDILo; this.backTrack.btiBH = this.backTrack.btiDIHi; + } + }, + /** + * opMod32RegWordE0(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordE0(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regEAX & this.opMask); + this.regESP = (this.regESP & ~this.opMask) | w; + }, + /** + * opMod32RegWordE1(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordE1(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regECX & this.opMask); + this.regESP = (this.regESP & ~this.opMask) | w; + }, + /** + * opMod32RegWordE2(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordE2(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regEDX & this.opMask); + this.regESP = (this.regESP & ~this.opMask) | w; + }, + /** + * opMod32RegWordE3(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordE3(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regEBX & this.opMask); + this.regESP = (this.regESP & ~this.opMask) | w; + }, + /** + * opMod32RegWordE4(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordE4(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regESP & this.opMask); + this.regESP = (this.regESP & ~this.opMask) | w; + }, + /** + * opMod32RegWordE5(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordE5(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regEBP & this.opMask); + this.regESP = (this.regESP & ~this.opMask) | w; + }, + /** + * opMod32RegWordE6(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordE6(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regESI & this.opMask); + this.regESP = (this.regESP & ~this.opMask) | w; + }, + /** + * opMod32RegWordE7(fn): mod=11 (src:reg) reg=100 (dst:SP) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordE7(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regEDI & this.opMask); + this.regESP = (this.regESP & ~this.opMask) | w; + }, + /** + * opMod32RegWordE8(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordE8(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regEAX & this.opMask); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiAL; this.backTrack.btiBPHi = this.backTrack.btiAH; + } + }, + /** + * opMod32RegWordE9(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordE9(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regECX & this.opMask); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiCL; this.backTrack.btiBPHi = this.backTrack.btiCH; + } + }, + /** + * opMod32RegWordEA(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordEA(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regEDX & this.opMask); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiDL; this.backTrack.btiBPHi = this.backTrack.btiDH; + } + }, + /** + * opMod32RegWordEB(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordEB(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regEBX & this.opMask); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiBL; this.backTrack.btiBPHi = this.backTrack.btiBH; + } + }, + /** + * opMod32RegWordEC(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordEC(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regESP & this.opMask); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = X86.BACKTRACK.SP_LO; this.backTrack.btiBPHi = X86.BACKTRACK.SP_HI; + } + }, + /** + * opMod32RegWordED(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordED(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regEBP & this.opMask); + this.regEBP = (this.regEBP & ~this.opMask) | w; + }, + /** + * opMod32RegWordEE(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordEE(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regESI & this.opMask); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiSILo; this.backTrack.btiBPHi = this.backTrack.btiSIHi; + } + }, + /** + * opMod32RegWordEF(fn): mod=11 (src:reg) reg=101 (dst:BP) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordEF(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regEDI & this.opMask); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiDILo; this.backTrack.btiBPHi = this.backTrack.btiDIHi; + } + }, + /** + * opMod32RegWordF0(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordF0(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regEAX & this.opMask); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiAL; this.backTrack.btiSIHi = this.backTrack.btiAH; + } + }, + /** + * opMod32RegWordF1(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordF1(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regECX & this.opMask); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiCL; this.backTrack.btiSIHi = this.backTrack.btiCH; + } + }, + /** + * opMod32RegWordF2(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordF2(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regEDX & this.opMask); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiDL; this.backTrack.btiSIHi = this.backTrack.btiDH; + } + }, + /** + * opMod32RegWordF3(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordF3(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regEBX & this.opMask); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiBL; this.backTrack.btiSIHi = this.backTrack.btiBH; + } + }, + /** + * opMod32RegWordF4(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordF4(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regESP & this.opMask); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = X86.BACKTRACK.SP_LO; this.backTrack.btiSIHi = X86.BACKTRACK.SP_HI; + } + }, + /** + * opMod32RegWordF5(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordF5(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regEBP & this.opMask); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiBPLo; this.backTrack.btiSIHi = this.backTrack.btiBPHi; + } + }, + /** + * opMod32RegWordF6(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordF6(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regESI & this.opMask); + this.regESI = (this.regESI & ~this.opMask) | w; + }, + /** + * opMod32RegWordF7(fn): mod=11 (src:reg) reg=110 (dst:SI) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordF7(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regEDI & this.opMask); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiDILo; this.backTrack.btiSIHi = this.backTrack.btiDIHi; + } + }, + /** + * opMod32RegWordF8(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordF8(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regEAX & this.opMask); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiAL; this.backTrack.btiDIHi = this.backTrack.btiAH; + } + }, + /** + * opMod32RegWordF9(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordF9(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regECX & this.opMask); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiCL; this.backTrack.btiDIHi = this.backTrack.btiCH; + } + }, + /** + * opMod32RegWordFA(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordFA(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regEDX & this.opMask); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiDL; this.backTrack.btiDIHi = this.backTrack.btiDH; + } + }, + /** + * opMod32RegWordFB(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordFB(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regEBX & this.opMask); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiBL; this.backTrack.btiDIHi = this.backTrack.btiBH; + } + }, + /** + * opMod32RegWordFC(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordFC(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regESP & this.opMask); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = X86.BACKTRACK.SP_LO; this.backTrack.btiDIHi = X86.BACKTRACK.SP_HI; + } + }, + /** + * opMod32RegWordFD(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordFD(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regEBP & this.opMask); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiBPLo; this.backTrack.btiDIHi = this.backTrack.btiBPHi; + } + }, + /** + * opMod32RegWordFE(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordFE(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regESI & this.opMask); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiSILo; this.backTrack.btiDIHi = this.backTrack.btiSIHi; + } + }, + /** + * opMod32RegWordFF(fn): mod=11 (src:reg) reg=111 (dst:DI) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32RegWordFF(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regEDI & this.opMask); + this.regEDI = (this.regEDI & ~this.opMask) | w; + } +]; + +X86ModW32.aOpModMem = [ + /** + * opMod32MemWord00(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord00(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord01(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord01(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord02(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord02(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord03(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord03(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord04(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord04(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(0)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord05(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord05(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemWord06(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord06(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord07(fn): mod=00 (dst:mem) reg=000 (src:AX) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord07(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord08(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord08(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord09(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord09(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord0A(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord0A(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord0B(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord0B(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord0C(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord0C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(0)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord0D(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord0D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemWord0E(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord0E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord0F(fn): mod=00 (dst:mem) reg=001 (src:CX) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord0F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord10(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord10(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord11(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord11(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord12(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord12(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord13(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord13(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord14(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord14(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(0)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord15(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord15(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemWord16(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord16(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord17(fn): mod=00 (dst:mem) reg=010 (src:DX) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord17(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord18(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord18(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord19(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord19(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord1A(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord1A(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord1B(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord1B(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord1C(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord1C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(0)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord1D(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord1D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemWord1E(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord1E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord1F(fn): mod=00 (dst:mem) reg=011 (src:BX) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord1F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord20(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord20(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord21(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord21(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord22(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord22(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord23(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord23(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord24(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord24(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(0)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord25(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord25(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemWord26(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord26(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord27(fn): mod=00 (dst:mem) reg=100 (src:SP) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord27(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord28(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord28(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord29(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord29(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord2A(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord2A(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord2B(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord2B(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord2C(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord2C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(0)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord2D(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord2D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemWord2E(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord2E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord2F(fn): mod=00 (dst:mem) reg=101 (src:BP) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord2F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord30(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord30(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord31(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord31(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord32(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord32(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord33(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord33(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord34(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord34(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(0)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord35(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord35(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemWord36(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord36(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord37(fn): mod=00 (dst:mem) reg=110 (src:SI) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord37(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord38(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord38(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord39(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord39(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord3A(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord3A(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord3B(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord3B(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord3C(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=100 (sib) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord3C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(0)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord3D(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=101 (d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord3D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32MemWord3E(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord3E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord3F(fn): mod=00 (dst:mem) reg=111 (src:DI) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord3F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32MemWord40(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord40(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord41(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord41(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord42(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord42(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord43(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord43(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord44(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord44(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord45(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord45(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord46(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord46(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord47(fn): mod=01 (dst:mem+d8) reg=000 (src:AX) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord47(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord48(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord48(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord49(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord49(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord4A(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord4A(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord4B(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord4B(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord4C(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord4C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord4D(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord4D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord4E(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord4E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord4F(fn): mod=01 (dst:mem+d8) reg=001 (src:CX) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord4F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord50(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord50(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord51(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord51(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord52(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord52(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord53(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord53(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord54(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord54(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord55(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord55(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord56(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord56(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord57(fn): mod=01 (dst:mem+d8) reg=010 (src:DX) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord57(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord58(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord58(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord59(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord59(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord5A(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord5A(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord5B(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord5B(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord5C(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord5C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord5D(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord5D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord5E(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord5E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord5F(fn): mod=01 (dst:mem+d8) reg=011 (src:BX) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord5F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord60(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord60(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord61(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord61(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord62(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord62(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord63(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord63(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord64(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord64(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord65(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord65(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord66(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord66(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord67(fn): mod=01 (dst:mem+d8) reg=100 (src:SP) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord67(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord68(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord68(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord69(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord69(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord6A(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord6A(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord6B(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord6B(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord6C(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord6C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord6D(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord6D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord6E(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord6E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord6F(fn): mod=01 (dst:mem+d8) reg=101 (src:BP) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord6F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord70(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord70(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord71(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord71(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord72(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord72(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord73(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord73(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord74(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord74(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord75(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord75(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord76(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord76(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord77(fn): mod=01 (dst:mem+d8) reg=110 (src:SI) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord77(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord78(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord78(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord79(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord79(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord7A(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord7A(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord7B(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord7B(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord7C(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord7C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord7D(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord7D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord7E(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord7E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord7F(fn): mod=01 (dst:mem+d8) reg=111 (src:DI) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord7F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord80(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord80(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord81(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord81(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord82(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord82(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord83(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord83(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord84(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord84(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord85(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord85(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord86(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord86(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord87(fn): mod=10 (dst:mem+d16) reg=000 (src:AX) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord87(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord88(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord88(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord89(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord89(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord8A(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord8A(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord8B(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord8B(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord8C(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord8C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord8D(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord8D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord8E(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord8E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord8F(fn): mod=10 (dst:mem+d16) reg=001 (src:CX) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord8F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord90(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord90(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord91(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord91(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord92(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord92(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord93(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord93(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord94(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord94(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord95(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord95(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord96(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord96(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord97(fn): mod=10 (dst:mem+d16) reg=010 (src:DX) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord97(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord98(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord98(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord99(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord99(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord9A(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord9A(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord9B(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord9B(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord9C(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord9C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord9D(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord9D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord9E(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord9E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWord9F(fn): mod=10 (dst:mem+d16) reg=011 (src:BX) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWord9F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordA0(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordA0(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordA1(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordA1(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordA2(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordA2(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordA3(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordA3(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordA4(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordA4(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordA5(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordA5(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordA6(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordA6(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordA7(fn): mod=10 (dst:mem+d16) reg=100 (src:SP) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordA7(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordA8(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordA8(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordA9(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordA9(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordAA(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordAA(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordAB(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordAB(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordAC(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordAC(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordAD(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordAD(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordAE(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordAE(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordAF(fn): mod=10 (dst:mem+d16) reg=101 (src:BP) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordAF(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordB0(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordB0(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordB1(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordB1(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordB2(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordB2(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordB3(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordB3(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordB4(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordB4(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordB5(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordB5(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordB6(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordB6(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordB7(fn): mod=10 (dst:mem+d16) reg=110 (src:SI) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordB7(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordB8(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordB8(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordB9(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordB9(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordBA(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordBA(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordBB(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordBB(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordBC(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordBC(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordBD(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordBD(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordBE(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordBE(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32MemWordBF(fn): mod=10 (dst:mem+d16) reg=111 (src:DI) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + function opMod32MemWordBF(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + X86ModW32.aOpModReg[0xC0], + X86ModW32.aOpModReg[0xC8], + X86ModW32.aOpModReg[0xD0], + X86ModW32.aOpModReg[0xD8], + X86ModW32.aOpModReg[0xE0], + X86ModW32.aOpModReg[0xE8], + X86ModW32.aOpModReg[0xF0], + X86ModW32.aOpModReg[0xF8], + X86ModW32.aOpModReg[0xC1], + X86ModW32.aOpModReg[0xC9], + X86ModW32.aOpModReg[0xD1], + X86ModW32.aOpModReg[0xD9], + X86ModW32.aOpModReg[0xE1], + X86ModW32.aOpModReg[0xE9], + X86ModW32.aOpModReg[0xF1], + X86ModW32.aOpModReg[0xF9], + X86ModW32.aOpModReg[0xC2], + X86ModW32.aOpModReg[0xCA], + X86ModW32.aOpModReg[0xD2], + X86ModW32.aOpModReg[0xDA], + X86ModW32.aOpModReg[0xE2], + X86ModW32.aOpModReg[0xEA], + X86ModW32.aOpModReg[0xF2], + X86ModW32.aOpModReg[0xFA], + X86ModW32.aOpModReg[0xC3], + X86ModW32.aOpModReg[0xCB], + X86ModW32.aOpModReg[0xD3], + X86ModW32.aOpModReg[0xDB], + X86ModW32.aOpModReg[0xE3], + X86ModW32.aOpModReg[0xEB], + X86ModW32.aOpModReg[0xF3], + X86ModW32.aOpModReg[0xFB], + X86ModW32.aOpModReg[0xC4], + X86ModW32.aOpModReg[0xCC], + X86ModW32.aOpModReg[0xD4], + X86ModW32.aOpModReg[0xDC], + X86ModW32.aOpModReg[0xE4], + X86ModW32.aOpModReg[0xEC], + X86ModW32.aOpModReg[0xF4], + X86ModW32.aOpModReg[0xFC], + X86ModW32.aOpModReg[0xC5], + X86ModW32.aOpModReg[0xCD], + X86ModW32.aOpModReg[0xD5], + X86ModW32.aOpModReg[0xDD], + X86ModW32.aOpModReg[0xE5], + X86ModW32.aOpModReg[0xED], + X86ModW32.aOpModReg[0xF5], + X86ModW32.aOpModReg[0xFD], + X86ModW32.aOpModReg[0xC6], + X86ModW32.aOpModReg[0xCE], + X86ModW32.aOpModReg[0xD6], + X86ModW32.aOpModReg[0xDE], + X86ModW32.aOpModReg[0xE6], + X86ModW32.aOpModReg[0xEE], + X86ModW32.aOpModReg[0xF6], + X86ModW32.aOpModReg[0xFE], + X86ModW32.aOpModReg[0xC7], + X86ModW32.aOpModReg[0xCF], + X86ModW32.aOpModReg[0xD7], + X86ModW32.aOpModReg[0xDF], + X86ModW32.aOpModReg[0xE7], + X86ModW32.aOpModReg[0xEF], + X86ModW32.aOpModReg[0xF7], + X86ModW32.aOpModReg[0xFF] +]; + +X86ModW32.aOpModGrp = [ + /** + * opMod32GrpWord00(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord00(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord01(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord01(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regECX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord02(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord02(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord03(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord03(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord04(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord04(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord05(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord05(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpWord06(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord06(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regESI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord07(afnGrp, fnSrc): mod=00 (dst:mem) reg=000 (afnGrp[0]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord07(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord08(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord08(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord09(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord09(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regECX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord0A(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord0A(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord0B(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord0B(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord0C(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord0C(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord0D(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord0D(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpWord0E(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord0E(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regESI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord0F(afnGrp, fnSrc): mod=00 (dst:mem) reg=001 (afnGrp[1]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord0F(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord10(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord10(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord11(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord11(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regECX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord12(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord12(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord13(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord13(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord14(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord14(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord15(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord15(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpWord16(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord16(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regESI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord17(afnGrp, fnSrc): mod=00 (dst:mem) reg=010 (afnGrp[2]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord17(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord18(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord18(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord19(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord19(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regECX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord1A(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord1A(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord1B(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord1B(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord1C(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord1C(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord1D(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord1D(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpWord1E(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord1E(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regESI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord1F(afnGrp, fnSrc): mod=00 (dst:mem) reg=011 (afnGrp[3]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord1F(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord20(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord20(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord21(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord21(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regECX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord22(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord22(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord23(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord23(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord24(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord24(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord25(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord25(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpWord26(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord26(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regESI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord27(afnGrp, fnSrc): mod=00 (dst:mem) reg=100 (afnGrp[4]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord27(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord28(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord28(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord29(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord29(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regECX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord2A(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord2A(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord2B(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord2B(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord2C(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord2C(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord2D(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord2D(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpWord2E(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord2E(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regESI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord2F(afnGrp, fnSrc): mod=00 (dst:mem) reg=101 (afnGrp[5]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord2F(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord30(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord30(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord31(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord31(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regECX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord32(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord32(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord33(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord33(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord34(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord34(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord35(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord35(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpWord36(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord36(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regESI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord37(afnGrp, fnSrc): mod=00 (dst:mem) reg=110 (afnGrp[6]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord37(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord38(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord38(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEAX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord39(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord39(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regECX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord3A(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord3A(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEDX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord3B(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord3B(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEBX), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord3C(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=100 (sib) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord3C(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.getSIB(0)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord3D(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=101 (d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord3D(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opMod32GrpWord3E(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord3E(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regESI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord3F(afnGrp, fnSrc): mod=00 (dst:mem) reg=111 (afnGrp[7]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord3F(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEDI), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opMod32GrpWord40(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord40(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord41(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord41(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord42(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord42(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord43(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord43(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord44(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord44(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord45(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord45(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord46(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord46(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord47(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=000 (afnGrp[0]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord47(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord48(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord48(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord49(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord49(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord4A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord4A(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord4B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord4B(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord4C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord4C(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord4D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord4D(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord4E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord4E(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord4F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=001 (afnGrp[1]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord4F(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord50(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord50(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord51(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord51(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord52(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord52(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord53(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord53(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord54(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord54(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord55(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord55(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord56(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord56(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord57(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=010 (afnGrp[2]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord57(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord58(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord58(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord59(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord59(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord5A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord5A(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord5B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord5B(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord5C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord5C(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord5D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord5D(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord5E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord5E(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord5F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=011 (afnGrp[3]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord5F(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord60(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord60(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord61(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord61(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord62(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord62(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord63(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord63(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord64(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord64(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord65(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord65(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord66(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord66(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord67(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=100 (afnGrp[4]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord67(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord68(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord68(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord69(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord69(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord6A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord6A(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord6B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord6B(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord6C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord6C(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord6D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord6D(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord6E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord6E(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord6F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=101 (afnGrp[5]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord6F(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord70(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord70(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord71(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord71(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord72(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord72(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord73(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord73(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord74(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord74(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord75(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord75(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord76(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord76(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord77(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=110 (afnGrp[6]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord77(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord78(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=000 (EAX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord78(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord79(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=001 (ECX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord79(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regECX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord7A(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=010 (EDX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord7A(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord7B(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=011 (EBX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord7B(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord7C(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=100 (sib+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord7C(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.getSIB(1) + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord7D(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=101 (EBP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord7D(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord7E(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=110 (ESI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord7E(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regESI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord7F(afnGrp, fnSrc): mod=01 (dst:mem+d8) reg=111 (afnGrp[7]) r/m=111 (EDI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord7F(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPDisp()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord80(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord80(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord81(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord81(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord82(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord82(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord83(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord83(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord84(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord84(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord85(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord85(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord86(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord86(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord87(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=000 (afnGrp[0]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord87(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord88(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord88(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord89(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord89(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord8A(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord8A(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord8B(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord8B(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord8C(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord8C(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord8D(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord8D(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord8E(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord8E(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord8F(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=001 (afnGrp[1]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord8F(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord90(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord90(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord91(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord91(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord92(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord92(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord93(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord93(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord94(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord94(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord95(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord95(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord96(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord96(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord97(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=010 (afnGrp[2]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord97(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord98(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord98(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord99(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord99(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord9A(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord9A(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord9B(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord9B(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord9C(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord9C(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord9D(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord9D(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord9E(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord9E(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWord9F(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=011 (afnGrp[3]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWord9F(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordA0(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordA0(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordA1(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordA1(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordA2(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordA2(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordA3(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordA3(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordA4(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordA4(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordA5(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordA5(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordA6(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordA6(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordA7(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=100 (afnGrp[4]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordA7(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordA8(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordA8(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordA9(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordA9(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordAA(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordAA(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordAB(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordAB(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordAC(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordAC(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordAD(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordAD(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordAE(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordAE(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordAF(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=101 (afnGrp[5]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordAF(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordB0(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordB0(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordB1(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordB1(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordB2(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordB2(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordB3(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordB3(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordB4(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordB4(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordB5(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordB5(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordB6(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordB6(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordB7(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=110 (afnGrp[6]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordB7(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordB8(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=000 (EAX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordB8(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEAX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordB9(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=001 (ECX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordB9(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regECX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordBA(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=010 (EDX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordBA(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEDX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordBB(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=011 (EBX+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordBB(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEBX + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordBC(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=100 (sib+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordBC(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.getSIB(2) + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordBD(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=101 (EBP+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordBD(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEBP + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordBE(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=110 (ESI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordBE(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regESI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordBF(afnGrp, fnSrc): mod=10 (dst:mem+d16) reg=111 (afnGrp[7]) r/m=111 (EDI+d32) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordBF(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regEDI + this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opMod32GrpWordC0(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordC0(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordC1(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordC1(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordC2(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordC2(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordC3(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordC3(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordC4(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordC4(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & ~this.opMask) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordC5(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordC5(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordC6(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordC6(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordC7(afnGrp, fnSrc): mod=11 (dst:reg) reg=000 (afnGrp[0]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordC7(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordC8(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordC8(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordC9(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordC9(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordCA(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordCA(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordCB(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordCB(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordCC(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordCC(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & ~this.opMask) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordCD(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordCD(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordCE(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordCE(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordCF(afnGrp, fnSrc): mod=11 (dst:reg) reg=001 (afnGrp[1]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordCF(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordD0(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordD0(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordD1(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordD1(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordD2(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordD2(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordD3(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordD3(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordD4(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordD4(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & ~this.opMask) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordD5(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordD5(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordD6(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordD6(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordD7(afnGrp, fnSrc): mod=11 (dst:reg) reg=010 (afnGrp[2]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordD7(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordD8(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordD8(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordD9(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordD9(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordDA(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordDA(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordDB(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordDB(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordDC(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordDC(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & ~this.opMask) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordDD(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordDD(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordDE(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordDE(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordDF(afnGrp, fnSrc): mod=11 (dst:reg) reg=011 (afnGrp[3]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordDF(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordE0(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordE0(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordE1(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordE1(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordE2(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordE2(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordE3(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordE3(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordE4(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordE4(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & ~this.opMask) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordE5(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordE5(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordE6(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordE6(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordE7(afnGrp, fnSrc): mod=11 (dst:reg) reg=100 (afnGrp[4]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordE7(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordE8(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordE8(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordE9(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordE9(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordEA(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordEA(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordEB(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordEB(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordEC(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordEC(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & ~this.opMask) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordED(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordED(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordEE(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordEE(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordEF(afnGrp, fnSrc): mod=11 (dst:reg) reg=101 (afnGrp[5]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordEF(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordF0(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordF0(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordF1(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordF1(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordF2(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordF2(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordF3(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordF3(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordF4(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordF4(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & ~this.opMask) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordF5(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordF5(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordF6(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordF6(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordF7(afnGrp, fnSrc): mod=11 (dst:reg) reg=110 (afnGrp[6]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordF7(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordF8(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=000 (EAX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordF8(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordF9(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=001 (ECX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordF9(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordFA(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=010 (EDX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordFA(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordFB(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=011 (EBX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordFB(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordFC(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=100 (ESP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordFC(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & ~this.opMask) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordFD(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=101 (EBP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordFD(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordFE(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=110 (ESI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordFE(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opMod32GrpWordFF(afnGrp, fnSrc): mod=11 (dst:reg) reg=111 (afnGrp[7]) r/m=111 (EDI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + function opMod32GrpWordFF(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & ~this.opMask) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + } +]; + +if (typeof module !== 'undefined') module.exports = X86ModW32; diff --git a/package.json b/package.json index b3f4d9ba8..3a2e0e36a 100644 --- a/package.json +++ b/package.json @@ -110,6 +110,9 @@ "./modules/pcjs/lib/x86help.js", "./modules/pcjs/lib/x86modb.js", "./modules/pcjs/lib/x86modw.js", + "./modules/pcjs/lib/x86modb32.js", + "./modules/pcjs/lib/x86modw32.js", + "./modules/pcjs/lib/x86modsib.js", "./modules/pcjs/lib/x86opxx.js", "./modules/pcjs/lib/x86op0f.js", "./modules/pcjs/lib/chipset.js",