/** * @fileoverview Implements PCjs 80386 ModRegRM word decoders with 32-bit addressing. * @author Jeff Parsons * @version 1.0 * Created 2015-Jan-20 * * Copyright © 2012-2016 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.COPYRIGHT). * * 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 (NODE) { var X86 = require("./x86"); } var X86ModW32 = {}; X86ModW32.aOpModReg = [ /** * opMod32RegWord00(fn): mod=00 (src:mem) reg=000 (dst:EAX) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord00(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.getEAWordData(this.regEAX)); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord01(fn): mod=00 (src:mem) reg=000 (dst:EAX) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord01(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.getEAWordData(this.regECX)); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord02(fn): mod=00 (src:mem) reg=000 (dst:EAX) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord02(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.getEAWordData(this.regEDX)); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord03(fn): mod=00 (src:mem) reg=000 (dst:EAX) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord03(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.getEAWordData(this.regEBX)); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord04(fn): mod=00 (src:mem) reg=000 (dst:EAX) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord04(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.getEAWordData(this.getSIBAddr(0))); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord05(fn): mod=00 (src:mem) reg=000 (dst:EAX) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord05(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.getEAWordData(this.getIPAddr())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord06(fn): mod=00 (src:mem) reg=000 (dst:EAX) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord06(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.getEAWordData(this.regESI)); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord07(fn): mod=00 (src:mem) reg=000 (dst:EAX) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord07(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.getEAWordData(this.regEDI)); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord08(fn): mod=00 (src:mem) reg=001 (dst:ECX) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord08(fn) { var w = fn.call(this, this.regECX & this.maskData, this.getEAWordData(this.regEAX)); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord09(fn): mod=00 (src:mem) reg=001 (dst:ECX) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord09(fn) { var w = fn.call(this, this.regECX & this.maskData, this.getEAWordData(this.regECX)); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord0A(fn): mod=00 (src:mem) reg=001 (dst:ECX) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord0A(fn) { var w = fn.call(this, this.regECX & this.maskData, this.getEAWordData(this.regEDX)); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord0B(fn): mod=00 (src:mem) reg=001 (dst:ECX) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord0B(fn) { var w = fn.call(this, this.regECX & this.maskData, this.getEAWordData(this.regEBX)); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord0C(fn): mod=00 (src:mem) reg=001 (dst:ECX) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord0C(fn) { var w = fn.call(this, this.regECX & this.maskData, this.getEAWordData(this.getSIBAddr(0))); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord0D(fn): mod=00 (src:mem) reg=001 (dst:ECX) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord0D(fn) { var w = fn.call(this, this.regECX & this.maskData, this.getEAWordData(this.getIPAddr())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord0E(fn): mod=00 (src:mem) reg=001 (dst:ECX) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord0E(fn) { var w = fn.call(this, this.regECX & this.maskData, this.getEAWordData(this.regESI)); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord0F(fn): mod=00 (src:mem) reg=001 (dst:ECX) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord0F(fn) { var w = fn.call(this, this.regECX & this.maskData, this.getEAWordData(this.regEDI)); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord10(fn): mod=00 (src:mem) reg=010 (dst:EDX) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord10(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.getEAWordData(this.regEAX)); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord11(fn): mod=00 (src:mem) reg=010 (dst:EDX) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord11(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.getEAWordData(this.regECX)); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord12(fn): mod=00 (src:mem) reg=010 (dst:EDX) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord12(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.getEAWordData(this.regEDX)); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord13(fn): mod=00 (src:mem) reg=010 (dst:EDX) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord13(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.getEAWordData(this.regEBX)); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord14(fn): mod=00 (src:mem) reg=010 (dst:EDX) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord14(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.getEAWordData(this.getSIBAddr(0))); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord15(fn): mod=00 (src:mem) reg=010 (dst:EDX) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord15(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.getEAWordData(this.getIPAddr())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord16(fn): mod=00 (src:mem) reg=010 (dst:EDX) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord16(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.getEAWordData(this.regESI)); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord17(fn): mod=00 (src:mem) reg=010 (dst:EDX) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord17(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.getEAWordData(this.regEDI)); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord18(fn): mod=00 (src:mem) reg=011 (dst:EBX) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord18(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.getEAWordData(this.regEAX)); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord19(fn): mod=00 (src:mem) reg=011 (dst:EBX) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord19(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.getEAWordData(this.regECX)); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord1A(fn): mod=00 (src:mem) reg=011 (dst:EBX) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord1A(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.getEAWordData(this.regEDX)); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord1B(fn): mod=00 (src:mem) reg=011 (dst:EBX) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord1B(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.getEAWordData(this.regEBX)); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord1C(fn): mod=00 (src:mem) reg=011 (dst:EBX) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord1C(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.getEAWordData(this.getSIBAddr(0))); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord1D(fn): mod=00 (src:mem) reg=011 (dst:EBX) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord1D(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.getEAWordData(this.getIPAddr())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord1E(fn): mod=00 (src:mem) reg=011 (dst:EBX) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord1E(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.getEAWordData(this.regESI)); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord1F(fn): mod=00 (src:mem) reg=011 (dst:EBX) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord1F(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.getEAWordData(this.regEDI)); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord20(fn): mod=00 (src:mem) reg=100 (dst:ESP) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord20(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regEAX)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord21(fn): mod=00 (src:mem) reg=100 (dst:ESP) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord21(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regECX)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord22(fn): mod=00 (src:mem) reg=100 (dst:ESP) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord22(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regEDX)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord23(fn): mod=00 (src:mem) reg=100 (dst:ESP) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord23(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regEBX)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord24(fn): mod=00 (src:mem) reg=100 (dst:ESP) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord24(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.getSIBAddr(0))); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord25(fn): mod=00 (src:mem) reg=100 (dst:ESP) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord25(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.getIPAddr())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord26(fn): mod=00 (src:mem) reg=100 (dst:ESP) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord26(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regESI)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord27(fn): mod=00 (src:mem) reg=100 (dst:ESP) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord27(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regEDI)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord28(fn): mod=00 (src:mem) reg=101 (dst:EBP) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord28(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.getEAWordData(this.regEAX)); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord29(fn): mod=00 (src:mem) reg=101 (dst:EBP) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord29(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.getEAWordData(this.regECX)); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord2A(fn): mod=00 (src:mem) reg=101 (dst:EBP) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord2A(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.getEAWordData(this.regEDX)); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord2B(fn): mod=00 (src:mem) reg=101 (dst:EBP) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord2B(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.getEAWordData(this.regEBX)); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord2C(fn): mod=00 (src:mem) reg=101 (dst:EBP) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord2C(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.getEAWordData(this.getSIBAddr(0))); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord2D(fn): mod=00 (src:mem) reg=101 (dst:EBP) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord2D(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.getEAWordData(this.getIPAddr())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord2E(fn): mod=00 (src:mem) reg=101 (dst:EBP) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord2E(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.getEAWordData(this.regESI)); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord2F(fn): mod=00 (src:mem) reg=101 (dst:EBP) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord2F(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.getEAWordData(this.regEDI)); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord30(fn): mod=00 (src:mem) reg=110 (dst:ESI) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord30(fn) { var w = fn.call(this, this.regESI & this.maskData, this.getEAWordData(this.regEAX)); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord31(fn): mod=00 (src:mem) reg=110 (dst:ESI) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord31(fn) { var w = fn.call(this, this.regESI & this.maskData, this.getEAWordData(this.regECX)); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord32(fn): mod=00 (src:mem) reg=110 (dst:ESI) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord32(fn) { var w = fn.call(this, this.regESI & this.maskData, this.getEAWordData(this.regEDX)); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord33(fn): mod=00 (src:mem) reg=110 (dst:ESI) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord33(fn) { var w = fn.call(this, this.regESI & this.maskData, this.getEAWordData(this.regEBX)); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord34(fn): mod=00 (src:mem) reg=110 (dst:ESI) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord34(fn) { var w = fn.call(this, this.regESI & this.maskData, this.getEAWordData(this.getSIBAddr(0))); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord35(fn): mod=00 (src:mem) reg=110 (dst:ESI) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord35(fn) { var w = fn.call(this, this.regESI & this.maskData, this.getEAWordData(this.getIPAddr())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord36(fn): mod=00 (src:mem) reg=110 (dst:ESI) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord36(fn) { var w = fn.call(this, this.regESI & this.maskData, this.getEAWordData(this.regESI)); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord37(fn): mod=00 (src:mem) reg=110 (dst:ESI) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord37(fn) { var w = fn.call(this, this.regESI & this.maskData, this.getEAWordData(this.regEDI)); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord38(fn): mod=00 (src:mem) reg=111 (dst:EDI) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord38(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.getEAWordData(this.regEAX)); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord39(fn): mod=00 (src:mem) reg=111 (dst:EDI) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord39(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.getEAWordData(this.regECX)); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord3A(fn): mod=00 (src:mem) reg=111 (dst:EDI) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord3A(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.getEAWordData(this.regEDX)); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord3B(fn): mod=00 (src:mem) reg=111 (dst:EDI) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord3B(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.getEAWordData(this.regEBX)); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord3C(fn): mod=00 (src:mem) reg=111 (dst:EDI) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord3C(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.getEAWordData(this.getSIBAddr(0))); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord3D(fn): mod=00 (src:mem) reg=111 (dst:EDI) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord3D(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.getEAWordData(this.getIPAddr())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord3E(fn): mod=00 (src:mem) reg=111 (dst:EDI) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord3E(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.getEAWordData(this.regESI)); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord3F(fn): mod=00 (src:mem) reg=111 (dst:EDI) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord3F(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.getEAWordData(this.regEDI)); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord40(fn): mod=01 (src:mem+d8) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.regEAX + this.getIPDisp())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord41(fn): mod=01 (src:mem+d8) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.regECX + this.getIPDisp())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord42(fn): mod=01 (src:mem+d8) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.regEDX + this.getIPDisp())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord43(fn): mod=01 (src:mem+d8) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.regEBX + this.getIPDisp())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord44(fn): mod=01 (src:mem+d8) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.getSIBAddr(1) + this.getIPDisp())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord45(fn): mod=01 (src:mem+d8) reg=000 (dst:EAX) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPDisp())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord46(fn): mod=01 (src:mem+d8) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.regESI + this.getIPDisp())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord47(fn): mod=01 (src:mem+d8) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.regEDI + this.getIPDisp())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord48(fn): mod=01 (src:mem+d8) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.regEAX + this.getIPDisp())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord49(fn): mod=01 (src:mem+d8) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.regECX + this.getIPDisp())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord4A(fn): mod=01 (src:mem+d8) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.regEDX + this.getIPDisp())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord4B(fn): mod=01 (src:mem+d8) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.regEBX + this.getIPDisp())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord4C(fn): mod=01 (src:mem+d8) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.getSIBAddr(1) + this.getIPDisp())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord4D(fn): mod=01 (src:mem+d8) reg=001 (dst:ECX) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPDisp())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord4E(fn): mod=01 (src:mem+d8) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.regESI + this.getIPDisp())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord4F(fn): mod=01 (src:mem+d8) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.regEDI + this.getIPDisp())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord50(fn): mod=01 (src:mem+d8) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.regEAX + this.getIPDisp())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord51(fn): mod=01 (src:mem+d8) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.regECX + this.getIPDisp())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord52(fn): mod=01 (src:mem+d8) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.regEDX + this.getIPDisp())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord53(fn): mod=01 (src:mem+d8) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.regEBX + this.getIPDisp())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord54(fn): mod=01 (src:mem+d8) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.getSIBAddr(1) + this.getIPDisp())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord55(fn): mod=01 (src:mem+d8) reg=010 (dst:EDX) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPDisp())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord56(fn): mod=01 (src:mem+d8) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.regESI + this.getIPDisp())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord57(fn): mod=01 (src:mem+d8) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.regEDI + this.getIPDisp())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord58(fn): mod=01 (src:mem+d8) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.regEAX + this.getIPDisp())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord59(fn): mod=01 (src:mem+d8) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.regECX + this.getIPDisp())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord5A(fn): mod=01 (src:mem+d8) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.regEDX + this.getIPDisp())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord5B(fn): mod=01 (src:mem+d8) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.regEBX + this.getIPDisp())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord5C(fn): mod=01 (src:mem+d8) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.getSIBAddr(1) + this.getIPDisp())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord5D(fn): mod=01 (src:mem+d8) reg=011 (dst:EBX) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPDisp())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord5E(fn): mod=01 (src:mem+d8) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.regESI + this.getIPDisp())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord5F(fn): mod=01 (src:mem+d8) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.regEDI + this.getIPDisp())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord60(fn): mod=01 (src:mem+d8) reg=100 (dst:ESP) r/m=000 (EAX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord60(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regEAX + this.getIPDisp())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord61(fn): mod=01 (src:mem+d8) reg=100 (dst:ESP) r/m=001 (ECX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord61(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regECX + this.getIPDisp())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord62(fn): mod=01 (src:mem+d8) reg=100 (dst:ESP) r/m=010 (EDX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord62(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regEDX + this.getIPDisp())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord63(fn): mod=01 (src:mem+d8) reg=100 (dst:ESP) r/m=011 (EBX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord63(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regEBX + this.getIPDisp())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord64(fn): mod=01 (src:mem+d8) reg=100 (dst:ESP) r/m=100 (sib+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord64(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.getSIBAddr(1) + this.getIPDisp())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord65(fn): mod=01 (src:mem+d8) reg=100 (dst:ESP) r/m=101 (EBP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord65(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordStack(this.regEBP + this.getIPDisp())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord66(fn): mod=01 (src:mem+d8) reg=100 (dst:ESP) r/m=110 (ESI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord66(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regESI + this.getIPDisp())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord67(fn): mod=01 (src:mem+d8) reg=100 (dst:ESP) r/m=111 (EDI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWord67(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regEDI + this.getIPDisp())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWord68(fn): mod=01 (src:mem+d8) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.regEAX + this.getIPDisp())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord69(fn): mod=01 (src:mem+d8) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.regECX + this.getIPDisp())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord6A(fn): mod=01 (src:mem+d8) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.regEDX + this.getIPDisp())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord6B(fn): mod=01 (src:mem+d8) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.regEBX + this.getIPDisp())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord6C(fn): mod=01 (src:mem+d8) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.getSIBAddr(1) + this.getIPDisp())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord6D(fn): mod=01 (src:mem+d8) reg=101 (dst:EBP) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPDisp())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord6E(fn): mod=01 (src:mem+d8) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.regESI + this.getIPDisp())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord6F(fn): mod=01 (src:mem+d8) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.regEDI + this.getIPDisp())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord70(fn): mod=01 (src:mem+d8) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.regEAX + this.getIPDisp())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord71(fn): mod=01 (src:mem+d8) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.regECX + this.getIPDisp())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord72(fn): mod=01 (src:mem+d8) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.regEDX + this.getIPDisp())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord73(fn): mod=01 (src:mem+d8) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.regEBX + this.getIPDisp())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord74(fn): mod=01 (src:mem+d8) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.getSIBAddr(1) + this.getIPDisp())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord75(fn): mod=01 (src:mem+d8) reg=110 (dst:ESI) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPDisp())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord76(fn): mod=01 (src:mem+d8) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.regESI + this.getIPDisp())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord77(fn): mod=01 (src:mem+d8) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.regEDI + this.getIPDisp())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord78(fn): mod=01 (src:mem+d8) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.regEAX + this.getIPDisp())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord79(fn): mod=01 (src:mem+d8) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.regECX + this.getIPDisp())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord7A(fn): mod=01 (src:mem+d8) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.regEDX + this.getIPDisp())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord7B(fn): mod=01 (src:mem+d8) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.regEBX + this.getIPDisp())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord7C(fn): mod=01 (src:mem+d8) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.getSIBAddr(1) + this.getIPDisp())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord7D(fn): mod=01 (src:mem+d8) reg=111 (dst:EDI) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPDisp())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord7E(fn): mod=01 (src:mem+d8) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.regESI + this.getIPDisp())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord7F(fn): mod=01 (src:mem+d8) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.regEDI + this.getIPDisp())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWord80(fn): mod=10 (src:mem+d16) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.regEAX + this.getIPAddr())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord81(fn): mod=10 (src:mem+d16) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.regECX + this.getIPAddr())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord82(fn): mod=10 (src:mem+d16) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.regEDX + this.getIPAddr())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord83(fn): mod=10 (src:mem+d16) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.regEBX + this.getIPAddr())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord84(fn): mod=10 (src:mem+d16) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.getSIBAddr(2) + this.getIPAddr())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord85(fn): mod=10 (src:mem+d16) reg=000 (dst:EAX) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPAddr())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord86(fn): mod=10 (src:mem+d16) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.regESI + this.getIPAddr())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord87(fn): mod=10 (src:mem+d16) reg=000 (dst:EAX) 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.maskData, this.getEAWordData(this.regEDI + this.getIPAddr())); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord88(fn): mod=10 (src:mem+d16) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.regEAX + this.getIPAddr())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord89(fn): mod=10 (src:mem+d16) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.regECX + this.getIPAddr())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord8A(fn): mod=10 (src:mem+d16) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.regEDX + this.getIPAddr())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord8B(fn): mod=10 (src:mem+d16) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.regEBX + this.getIPAddr())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord8C(fn): mod=10 (src:mem+d16) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.getSIBAddr(2) + this.getIPAddr())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord8D(fn): mod=10 (src:mem+d16) reg=001 (dst:ECX) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPAddr())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord8E(fn): mod=10 (src:mem+d16) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.regESI + this.getIPAddr())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord8F(fn): mod=10 (src:mem+d16) reg=001 (dst:ECX) 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.maskData, this.getEAWordData(this.regEDI + this.getIPAddr())); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord90(fn): mod=10 (src:mem+d16) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.regEAX + this.getIPAddr())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord91(fn): mod=10 (src:mem+d16) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.regECX + this.getIPAddr())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord92(fn): mod=10 (src:mem+d16) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.regEDX + this.getIPAddr())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord93(fn): mod=10 (src:mem+d16) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.regEBX + this.getIPAddr())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord94(fn): mod=10 (src:mem+d16) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.getSIBAddr(2) + this.getIPAddr())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord95(fn): mod=10 (src:mem+d16) reg=010 (dst:EDX) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPAddr())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord96(fn): mod=10 (src:mem+d16) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.regESI + this.getIPAddr())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord97(fn): mod=10 (src:mem+d16) reg=010 (dst:EDX) 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.maskData, this.getEAWordData(this.regEDI + this.getIPAddr())); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord98(fn): mod=10 (src:mem+d16) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.regEAX + this.getIPAddr())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord99(fn): mod=10 (src:mem+d16) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.regECX + this.getIPAddr())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord9A(fn): mod=10 (src:mem+d16) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.regEDX + this.getIPAddr())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord9B(fn): mod=10 (src:mem+d16) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.regEBX + this.getIPAddr())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord9C(fn): mod=10 (src:mem+d16) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.getSIBAddr(2) + this.getIPAddr())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord9D(fn): mod=10 (src:mem+d16) reg=011 (dst:EBX) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPAddr())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord9E(fn): mod=10 (src:mem+d16) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.regESI + this.getIPAddr())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWord9F(fn): mod=10 (src:mem+d16) reg=011 (dst:EBX) 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.maskData, this.getEAWordData(this.regEDI + this.getIPAddr())); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; } }, /** * opMod32RegWordA0(fn): mod=10 (src:mem+d16) reg=100 (dst:ESP) r/m=000 (EAX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordA0(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regEAX + this.getIPAddr())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordA1(fn): mod=10 (src:mem+d16) reg=100 (dst:ESP) r/m=001 (ECX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordA1(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regECX + this.getIPAddr())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordA2(fn): mod=10 (src:mem+d16) reg=100 (dst:ESP) r/m=010 (EDX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordA2(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regEDX + this.getIPAddr())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordA3(fn): mod=10 (src:mem+d16) reg=100 (dst:ESP) r/m=011 (EBX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordA3(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regEBX + this.getIPAddr())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordA4(fn): mod=10 (src:mem+d16) reg=100 (dst:ESP) r/m=100 (sib+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordA4(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.getSIBAddr(2) + this.getIPAddr())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordA5(fn): mod=10 (src:mem+d16) reg=100 (dst:ESP) r/m=101 (EBP+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordA5(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordStack(this.regEBP + this.getIPAddr())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordA6(fn): mod=10 (src:mem+d16) reg=100 (dst:ESP) r/m=110 (ESI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordA6(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regESI + this.getIPAddr())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordA7(fn): mod=10 (src:mem+d16) reg=100 (dst:ESP) r/m=111 (EDI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordA7(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getEAWordData(this.regEDI + this.getIPAddr())); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordA8(fn): mod=10 (src:mem+d16) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.regEAX + this.getIPAddr())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordA9(fn): mod=10 (src:mem+d16) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.regECX + this.getIPAddr())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordAA(fn): mod=10 (src:mem+d16) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.regEDX + this.getIPAddr())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordAB(fn): mod=10 (src:mem+d16) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.regEBX + this.getIPAddr())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordAC(fn): mod=10 (src:mem+d16) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.getSIBAddr(2) + this.getIPAddr())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordAD(fn): mod=10 (src:mem+d16) reg=101 (dst:EBP) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPAddr())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordAE(fn): mod=10 (src:mem+d16) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.regESI + this.getIPAddr())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordAF(fn): mod=10 (src:mem+d16) reg=101 (dst:EBP) 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.maskData, this.getEAWordData(this.regEDI + this.getIPAddr())); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordB0(fn): mod=10 (src:mem+d16) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.regEAX + this.getIPAddr())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordB1(fn): mod=10 (src:mem+d16) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.regECX + this.getIPAddr())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordB2(fn): mod=10 (src:mem+d16) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.regEDX + this.getIPAddr())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordB3(fn): mod=10 (src:mem+d16) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.regEBX + this.getIPAddr())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordB4(fn): mod=10 (src:mem+d16) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.getSIBAddr(2) + this.getIPAddr())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordB5(fn): mod=10 (src:mem+d16) reg=110 (dst:ESI) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPAddr())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordB6(fn): mod=10 (src:mem+d16) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.regESI + this.getIPAddr())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordB7(fn): mod=10 (src:mem+d16) reg=110 (dst:ESI) 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.maskData, this.getEAWordData(this.regEDI + this.getIPAddr())); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordB8(fn): mod=10 (src:mem+d16) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.regEAX + this.getIPAddr())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordB9(fn): mod=10 (src:mem+d16) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.regECX + this.getIPAddr())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordBA(fn): mod=10 (src:mem+d16) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.regEDX + this.getIPAddr())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordBB(fn): mod=10 (src:mem+d16) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.regEBX + this.getIPAddr())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordBC(fn): mod=10 (src:mem+d16) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.getSIBAddr(2) + this.getIPAddr())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordBD(fn): mod=10 (src:mem+d16) reg=111 (dst:EDI) 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.maskData, this.getEAWordStack(this.regEBP + this.getIPAddr())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordBE(fn): mod=10 (src:mem+d16) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.regESI + this.getIPAddr())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordBF(fn): mod=10 (src:mem+d16) reg=111 (dst:EDI) 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.maskData, this.getEAWordData(this.regEDI + this.getIPAddr())); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } }, /** * opMod32RegWordC0(fn): mod=11 (src:reg) reg=000 (dst:EAX) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordC0(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.regEAX & this.maskData); this.regEAX = (this.regEAX & ~this.maskData) | w; }, /** * opMod32RegWordC1(fn): mod=11 (src:reg) reg=000 (dst:EAX) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordC1(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.regECX & this.maskData); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiCL; this.backTrack.btiAH = this.backTrack.btiCH; } }, /** * opMod32RegWordC2(fn): mod=11 (src:reg) reg=000 (dst:EAX) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordC2(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.regEDX & this.maskData); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiDL; this.backTrack.btiAH = this.backTrack.btiDH; } }, /** * opMod32RegWordC3(fn): mod=11 (src:reg) reg=000 (dst:EAX) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordC3(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.regEBX & this.maskData); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiBL; this.backTrack.btiAH = this.backTrack.btiBH; } }, /** * opMod32RegWordC4(fn): mod=11 (src:reg) reg=000 (dst:EAX) r/m=100 (ESP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordC4(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.getSP() & this.maskData); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = X86.BTINFO.SP_LO; this.backTrack.btiAH = X86.BTINFO.SP_HI; } }, /** * opMod32RegWordC5(fn): mod=11 (src:reg) reg=000 (dst:EAX) r/m=101 (EBP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordC5(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.regEBP & this.maskData); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiBPLo; this.backTrack.btiAH = this.backTrack.btiBPHi; } }, /** * opMod32RegWordC6(fn): mod=11 (src:reg) reg=000 (dst:EAX) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordC6(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.regESI & this.maskData); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiSILo; this.backTrack.btiAH = this.backTrack.btiSIHi; } }, /** * opMod32RegWordC7(fn): mod=11 (src:reg) reg=000 (dst:EAX) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordC7(fn) { var w = fn.call(this, this.regEAX & this.maskData, this.regEDI & this.maskData); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiAL = this.backTrack.btiDILo; this.backTrack.btiAH = this.backTrack.btiDIHi; } }, /** * opMod32RegWordC8(fn): mod=11 (src:reg) reg=001 (dst:ECX) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordC8(fn) { var w = fn.call(this, this.regECX & this.maskData, this.regEAX & this.maskData); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiAL; this.backTrack.btiCH = this.backTrack.btiAH; } }, /** * opMod32RegWordC9(fn): mod=11 (src:reg) reg=001 (dst:ECX) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordC9(fn) { var w = fn.call(this, this.regECX & this.maskData, this.regECX & this.maskData); this.regECX = (this.regECX & ~this.maskData) | w; }, /** * opMod32RegWordCA(fn): mod=11 (src:reg) reg=001 (dst:ECX) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordCA(fn) { var w = fn.call(this, this.regECX & this.maskData, this.regEDX & this.maskData); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiDL; this.backTrack.btiCH = this.backTrack.btiDH; } }, /** * opMod32RegWordCB(fn): mod=11 (src:reg) reg=001 (dst:ECX) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordCB(fn) { var w = fn.call(this, this.regECX & this.maskData, this.regEBX & this.maskData); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiBL; this.backTrack.btiCH = this.backTrack.btiBH; } }, /** * opMod32RegWordCC(fn): mod=11 (src:reg) reg=001 (dst:ECX) r/m=100 (ESP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordCC(fn) { var w = fn.call(this, this.regECX & this.maskData, this.getSP() & this.maskData); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = X86.BTINFO.SP_LO; this.backTrack.btiCH = X86.BTINFO.SP_HI; } }, /** * opMod32RegWordCD(fn): mod=11 (src:reg) reg=001 (dst:ECX) r/m=101 (EBP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordCD(fn) { var w = fn.call(this, this.regECX & this.maskData, this.regEBP & this.maskData); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiBPLo; this.backTrack.btiCH = this.backTrack.btiBPHi; } }, /** * opMod32RegWordCE(fn): mod=11 (src:reg) reg=001 (dst:ECX) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordCE(fn) { var w = fn.call(this, this.regECX & this.maskData, this.regESI & this.maskData); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiSILo; this.backTrack.btiCH = this.backTrack.btiSIHi; } }, /** * opMod32RegWordCF(fn): mod=11 (src:reg) reg=001 (dst:ECX) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordCF(fn) { var w = fn.call(this, this.regECX & this.maskData, this.regEDI & this.maskData); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiCL = this.backTrack.btiDILo; this.backTrack.btiCH = this.backTrack.btiDIHi; } }, /** * opMod32RegWordD0(fn): mod=11 (src:reg) reg=010 (dst:EDX) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordD0(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.regEAX & this.maskData); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiAL; this.backTrack.btiDH = this.backTrack.btiAH; } }, /** * opMod32RegWordD1(fn): mod=11 (src:reg) reg=010 (dst:EDX) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordD1(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.regECX & this.maskData); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiCL; this.backTrack.btiDH = this.backTrack.btiCH; } }, /** * opMod32RegWordD2(fn): mod=11 (src:reg) reg=010 (dst:EDX) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordD2(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.regEDX & this.maskData); this.regEDX = (this.regEDX & ~this.maskData) | w; }, /** * opMod32RegWordD3(fn): mod=11 (src:reg) reg=010 (dst:EDX) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordD3(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.regEBX & this.maskData); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiBL; this.backTrack.btiDH = this.backTrack.btiBH; } }, /** * opMod32RegWordD4(fn): mod=11 (src:reg) reg=010 (dst:EDX) r/m=100 (ESP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordD4(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.getSP() & this.maskData); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = X86.BTINFO.SP_LO; this.backTrack.btiDH = X86.BTINFO.SP_HI; } }, /** * opMod32RegWordD5(fn): mod=11 (src:reg) reg=010 (dst:EDX) r/m=101 (EBP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordD5(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.regEBP & this.maskData); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiBPLo; this.backTrack.btiDH = this.backTrack.btiBPHi; } }, /** * opMod32RegWordD6(fn): mod=11 (src:reg) reg=010 (dst:EDX) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordD6(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.regESI & this.maskData); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiSILo; this.backTrack.btiDH = this.backTrack.btiSIHi; } }, /** * opMod32RegWordD7(fn): mod=11 (src:reg) reg=010 (dst:EDX) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordD7(fn) { var w = fn.call(this, this.regEDX & this.maskData, this.regEDI & this.maskData); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDL = this.backTrack.btiDILo; this.backTrack.btiDH = this.backTrack.btiDIHi; } }, /** * opMod32RegWordD8(fn): mod=11 (src:reg) reg=011 (dst:EBX) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordD8(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.regEAX & this.maskData); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiAL; this.backTrack.btiBH = this.backTrack.btiAH; } }, /** * opMod32RegWordD9(fn): mod=11 (src:reg) reg=011 (dst:EBX) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordD9(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.regECX & this.maskData); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiCL; this.backTrack.btiBH = this.backTrack.btiCH; } }, /** * opMod32RegWordDA(fn): mod=11 (src:reg) reg=011 (dst:EBX) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordDA(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.regEDX & this.maskData); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiDL; this.backTrack.btiBH = this.backTrack.btiDH; } }, /** * opMod32RegWordDB(fn): mod=11 (src:reg) reg=011 (dst:EBX) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordDB(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.regEBX & this.maskData); this.regEBX = (this.regEBX & ~this.maskData) | w; }, /** * opMod32RegWordDC(fn): mod=11 (src:reg) reg=011 (dst:EBX) r/m=100 (ESP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordDC(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.getSP() & this.maskData); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = X86.BTINFO.SP_LO; this.backTrack.btiBH = X86.BTINFO.SP_HI; } }, /** * opMod32RegWordDD(fn): mod=11 (src:reg) reg=011 (dst:EBX) r/m=101 (EBP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordDD(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.regEBP & this.maskData); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiBPLo; this.backTrack.btiBH = this.backTrack.btiBPHi; } }, /** * opMod32RegWordDE(fn): mod=11 (src:reg) reg=011 (dst:EBX) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordDE(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.regESI & this.maskData); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiSILo; this.backTrack.btiBH = this.backTrack.btiSIHi; } }, /** * opMod32RegWordDF(fn): mod=11 (src:reg) reg=011 (dst:EBX) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordDF(fn) { var w = fn.call(this, this.regEBX & this.maskData, this.regEDI & this.maskData); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBL = this.backTrack.btiDILo; this.backTrack.btiBH = this.backTrack.btiDIHi; } }, /** * opMod32RegWordE0(fn): mod=11 (src:reg) reg=100 (dst:ESP) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordE0(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.regEAX & this.maskData); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordE1(fn): mod=11 (src:reg) reg=100 (dst:ESP) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordE1(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.regECX & this.maskData); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordE2(fn): mod=11 (src:reg) reg=100 (dst:ESP) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordE2(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.regEDX & this.maskData); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordE3(fn): mod=11 (src:reg) reg=100 (dst:ESP) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordE3(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.regEBX & this.maskData); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordE4(fn): mod=11 (src:reg) reg=100 (dst:ESP) r/m=100 (ESP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordE4(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.getSP() & this.maskData); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordE5(fn): mod=11 (src:reg) reg=100 (dst:ESP) r/m=101 (EBP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordE5(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.regEBP & this.maskData); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordE6(fn): mod=11 (src:reg) reg=100 (dst:ESP) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordE6(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.regESI & this.maskData); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordE7(fn): mod=11 (src:reg) reg=100 (dst:ESP) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordE7(fn) { var w = fn.call(this, this.getSP() & this.maskData, this.regEDI & this.maskData); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * opMod32RegWordE8(fn): mod=11 (src:reg) reg=101 (dst:EBP) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordE8(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.regEAX & this.maskData); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiAL; this.backTrack.btiBPHi = this.backTrack.btiAH; } }, /** * opMod32RegWordE9(fn): mod=11 (src:reg) reg=101 (dst:EBP) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordE9(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.regECX & this.maskData); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiCL; this.backTrack.btiBPHi = this.backTrack.btiCH; } }, /** * opMod32RegWordEA(fn): mod=11 (src:reg) reg=101 (dst:EBP) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordEA(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.regEDX & this.maskData); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiDL; this.backTrack.btiBPHi = this.backTrack.btiDH; } }, /** * opMod32RegWordEB(fn): mod=11 (src:reg) reg=101 (dst:EBP) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordEB(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.regEBX & this.maskData); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiBL; this.backTrack.btiBPHi = this.backTrack.btiBH; } }, /** * opMod32RegWordEC(fn): mod=11 (src:reg) reg=101 (dst:EBP) r/m=100 (ESP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordEC(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.getSP() & this.maskData); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = X86.BTINFO.SP_LO; this.backTrack.btiBPHi = X86.BTINFO.SP_HI; } }, /** * opMod32RegWordED(fn): mod=11 (src:reg) reg=101 (dst:EBP) r/m=101 (EBP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordED(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.regEBP & this.maskData); this.regEBP = (this.regEBP & ~this.maskData) | w; }, /** * opMod32RegWordEE(fn): mod=11 (src:reg) reg=101 (dst:EBP) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordEE(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.regESI & this.maskData); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiSILo; this.backTrack.btiBPHi = this.backTrack.btiSIHi; } }, /** * opMod32RegWordEF(fn): mod=11 (src:reg) reg=101 (dst:EBP) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordEF(fn) { var w = fn.call(this, this.regEBP & this.maskData, this.regEDI & this.maskData); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiBPLo = this.backTrack.btiDILo; this.backTrack.btiBPHi = this.backTrack.btiDIHi; } }, /** * opMod32RegWordF0(fn): mod=11 (src:reg) reg=110 (dst:ESI) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordF0(fn) { var w = fn.call(this, this.regESI & this.maskData, this.regEAX & this.maskData); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiAL; this.backTrack.btiSIHi = this.backTrack.btiAH; } }, /** * opMod32RegWordF1(fn): mod=11 (src:reg) reg=110 (dst:ESI) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordF1(fn) { var w = fn.call(this, this.regESI & this.maskData, this.regECX & this.maskData); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiCL; this.backTrack.btiSIHi = this.backTrack.btiCH; } }, /** * opMod32RegWordF2(fn): mod=11 (src:reg) reg=110 (dst:ESI) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordF2(fn) { var w = fn.call(this, this.regESI & this.maskData, this.regEDX & this.maskData); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiDL; this.backTrack.btiSIHi = this.backTrack.btiDH; } }, /** * opMod32RegWordF3(fn): mod=11 (src:reg) reg=110 (dst:ESI) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordF3(fn) { var w = fn.call(this, this.regESI & this.maskData, this.regEBX & this.maskData); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiBL; this.backTrack.btiSIHi = this.backTrack.btiBH; } }, /** * opMod32RegWordF4(fn): mod=11 (src:reg) reg=110 (dst:ESI) r/m=100 (ESP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordF4(fn) { var w = fn.call(this, this.regESI & this.maskData, this.getSP() & this.maskData); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = X86.BTINFO.SP_LO; this.backTrack.btiSIHi = X86.BTINFO.SP_HI; } }, /** * opMod32RegWordF5(fn): mod=11 (src:reg) reg=110 (dst:ESI) r/m=101 (EBP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordF5(fn) { var w = fn.call(this, this.regESI & this.maskData, this.regEBP & this.maskData); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiBPLo; this.backTrack.btiSIHi = this.backTrack.btiBPHi; } }, /** * opMod32RegWordF6(fn): mod=11 (src:reg) reg=110 (dst:ESI) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordF6(fn) { var w = fn.call(this, this.regESI & this.maskData, this.regESI & this.maskData); this.regESI = (this.regESI & ~this.maskData) | w; }, /** * opMod32RegWordF7(fn): mod=11 (src:reg) reg=110 (dst:ESI) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordF7(fn) { var w = fn.call(this, this.regESI & this.maskData, this.regEDI & this.maskData); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiSILo = this.backTrack.btiDILo; this.backTrack.btiSIHi = this.backTrack.btiDIHi; } }, /** * opMod32RegWordF8(fn): mod=11 (src:reg) reg=111 (dst:EDI) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordF8(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.regEAX & this.maskData); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiAL; this.backTrack.btiDIHi = this.backTrack.btiAH; } }, /** * opMod32RegWordF9(fn): mod=11 (src:reg) reg=111 (dst:EDI) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordF9(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.regECX & this.maskData); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiCL; this.backTrack.btiDIHi = this.backTrack.btiCH; } }, /** * opMod32RegWordFA(fn): mod=11 (src:reg) reg=111 (dst:EDI) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordFA(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.regEDX & this.maskData); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiDL; this.backTrack.btiDIHi = this.backTrack.btiDH; } }, /** * opMod32RegWordFB(fn): mod=11 (src:reg) reg=111 (dst:EDI) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordFB(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.regEBX & this.maskData); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiBL; this.backTrack.btiDIHi = this.backTrack.btiBH; } }, /** * opMod32RegWordFC(fn): mod=11 (src:reg) reg=111 (dst:EDI) r/m=100 (ESP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordFC(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.getSP() & this.maskData); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = X86.BTINFO.SP_LO; this.backTrack.btiDIHi = X86.BTINFO.SP_HI; } }, /** * opMod32RegWordFD(fn): mod=11 (src:reg) reg=111 (dst:EDI) r/m=101 (EBP) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordFD(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.regEBP & this.maskData); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiBPLo; this.backTrack.btiDIHi = this.backTrack.btiBPHi; } }, /** * opMod32RegWordFE(fn): mod=11 (src:reg) reg=111 (dst:EDI) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordFE(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.regESI & this.maskData); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiSILo; this.backTrack.btiDIHi = this.backTrack.btiSIHi; } }, /** * opMod32RegWordFF(fn): mod=11 (src:reg) reg=111 (dst:EDI) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32RegWordFF(fn) { var w = fn.call(this, this.regEDI & this.maskData, this.regEDI & this.maskData); this.regEDI = (this.regEDI & ~this.maskData) | w; } ]; X86ModW32.aOpModMem = [ /** * opMod32MemWord00(fn): mod=00 (dst:mem) reg=000 (src:EAX) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord00(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord01(fn): mod=00 (dst:mem) reg=000 (src:EAX) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord01(fn) { var w = fn.call(this, this.modEAWordData(this.regECX), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord02(fn): mod=00 (dst:mem) reg=000 (src:EAX) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord02(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord03(fn): mod=00 (dst:mem) reg=000 (src:EAX) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord03(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord04(fn): mod=00 (dst:mem) reg=000 (src:EAX) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord04(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(0)), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord05(fn): mod=00 (dst:mem) reg=000 (src:EAX) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord05(fn) { var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord06(fn): mod=00 (dst:mem) reg=000 (src:EAX) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord06(fn) { var w = fn.call(this, this.modEAWordData(this.regESI), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord07(fn): mod=00 (dst:mem) reg=000 (src:EAX) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord07(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord08(fn): mod=00 (dst:mem) reg=001 (src:ECX) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord08(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord09(fn): mod=00 (dst:mem) reg=001 (src:ECX) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord09(fn) { var w = fn.call(this, this.modEAWordData(this.regECX), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord0A(fn): mod=00 (dst:mem) reg=001 (src:ECX) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord0A(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord0B(fn): mod=00 (dst:mem) reg=001 (src:ECX) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord0B(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord0C(fn): mod=00 (dst:mem) reg=001 (src:ECX) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord0C(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(0)), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord0D(fn): mod=00 (dst:mem) reg=001 (src:ECX) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord0D(fn) { var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord0E(fn): mod=00 (dst:mem) reg=001 (src:ECX) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord0E(fn) { var w = fn.call(this, this.modEAWordData(this.regESI), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord0F(fn): mod=00 (dst:mem) reg=001 (src:ECX) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord0F(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord10(fn): mod=00 (dst:mem) reg=010 (src:EDX) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord10(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord11(fn): mod=00 (dst:mem) reg=010 (src:EDX) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord11(fn) { var w = fn.call(this, this.modEAWordData(this.regECX), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord12(fn): mod=00 (dst:mem) reg=010 (src:EDX) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord12(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord13(fn): mod=00 (dst:mem) reg=010 (src:EDX) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord13(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord14(fn): mod=00 (dst:mem) reg=010 (src:EDX) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord14(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(0)), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord15(fn): mod=00 (dst:mem) reg=010 (src:EDX) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord15(fn) { var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord16(fn): mod=00 (dst:mem) reg=010 (src:EDX) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord16(fn) { var w = fn.call(this, this.modEAWordData(this.regESI), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord17(fn): mod=00 (dst:mem) reg=010 (src:EDX) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord17(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord18(fn): mod=00 (dst:mem) reg=011 (src:EBX) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord18(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord19(fn): mod=00 (dst:mem) reg=011 (src:EBX) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord19(fn) { var w = fn.call(this, this.modEAWordData(this.regECX), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord1A(fn): mod=00 (dst:mem) reg=011 (src:EBX) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord1A(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord1B(fn): mod=00 (dst:mem) reg=011 (src:EBX) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord1B(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord1C(fn): mod=00 (dst:mem) reg=011 (src:EBX) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord1C(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(0)), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord1D(fn): mod=00 (dst:mem) reg=011 (src:EBX) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord1D(fn) { var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord1E(fn): mod=00 (dst:mem) reg=011 (src:EBX) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord1E(fn) { var w = fn.call(this, this.modEAWordData(this.regESI), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord1F(fn): mod=00 (dst:mem) reg=011 (src:EBX) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord1F(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord20(fn): mod=00 (dst:mem) reg=100 (src:ESP) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord20(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord21(fn): mod=00 (dst:mem) reg=100 (src:ESP) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord21(fn) { var w = fn.call(this, this.modEAWordData(this.regECX), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord22(fn): mod=00 (dst:mem) reg=100 (src:ESP) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord22(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord23(fn): mod=00 (dst:mem) reg=100 (src:ESP) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord23(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord24(fn): mod=00 (dst:mem) reg=100 (src:ESP) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord24(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(0)), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord25(fn): mod=00 (dst:mem) reg=100 (src:ESP) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord25(fn) { var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord26(fn): mod=00 (dst:mem) reg=100 (src:ESP) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord26(fn) { var w = fn.call(this, this.modEAWordData(this.regESI), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord27(fn): mod=00 (dst:mem) reg=100 (src:ESP) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord27(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord28(fn): mod=00 (dst:mem) reg=101 (src:EBP) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord28(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord29(fn): mod=00 (dst:mem) reg=101 (src:EBP) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord29(fn) { var w = fn.call(this, this.modEAWordData(this.regECX), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord2A(fn): mod=00 (dst:mem) reg=101 (src:EBP) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord2A(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord2B(fn): mod=00 (dst:mem) reg=101 (src:EBP) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord2B(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord2C(fn): mod=00 (dst:mem) reg=101 (src:EBP) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord2C(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(0)), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord2D(fn): mod=00 (dst:mem) reg=101 (src:EBP) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord2D(fn) { var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord2E(fn): mod=00 (dst:mem) reg=101 (src:EBP) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord2E(fn) { var w = fn.call(this, this.modEAWordData(this.regESI), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord2F(fn): mod=00 (dst:mem) reg=101 (src:EBP) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord2F(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord30(fn): mod=00 (dst:mem) reg=110 (src:ESI) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord30(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord31(fn): mod=00 (dst:mem) reg=110 (src:ESI) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord31(fn) { var w = fn.call(this, this.modEAWordData(this.regECX), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord32(fn): mod=00 (dst:mem) reg=110 (src:ESI) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord32(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord33(fn): mod=00 (dst:mem) reg=110 (src:ESI) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord33(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord34(fn): mod=00 (dst:mem) reg=110 (src:ESI) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord34(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(0)), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord35(fn): mod=00 (dst:mem) reg=110 (src:ESI) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord35(fn) { var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord36(fn): mod=00 (dst:mem) reg=110 (src:ESI) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord36(fn) { var w = fn.call(this, this.modEAWordData(this.regESI), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord37(fn): mod=00 (dst:mem) reg=110 (src:ESI) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord37(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord38(fn): mod=00 (dst:mem) reg=111 (src:EDI) r/m=000 (EAX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord38(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord39(fn): mod=00 (dst:mem) reg=111 (src:EDI) r/m=001 (ECX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord39(fn) { var w = fn.call(this, this.modEAWordData(this.regECX), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord3A(fn): mod=00 (dst:mem) reg=111 (src:EDI) r/m=010 (EDX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord3A(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord3B(fn): mod=00 (dst:mem) reg=111 (src:EDI) r/m=011 (EBX) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord3B(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord3C(fn): mod=00 (dst:mem) reg=111 (src:EDI) r/m=100 (sib) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord3C(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(0)), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord3D(fn): mod=00 (dst:mem) reg=111 (src:EDI) r/m=101 (d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord3D(fn) { var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord3E(fn): mod=00 (dst:mem) reg=111 (src:EDI) r/m=110 (ESI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord3E(fn) { var w = fn.call(this, this.modEAWordData(this.regESI), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord3F(fn): mod=00 (dst:mem) reg=111 (src:EDI) r/m=111 (EDI) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord3F(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord40(fn): mod=01 (dst:mem+d8) reg=000 (src:EAX) r/m=000 (EAX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord40(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPDisp()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord41(fn): mod=01 (dst:mem+d8) reg=000 (src:EAX) r/m=001 (ECX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord41(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPDisp()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord42(fn): mod=01 (dst:mem+d8) reg=000 (src:EAX) r/m=010 (EDX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord42(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPDisp()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord43(fn): mod=01 (dst:mem+d8) reg=000 (src:EAX) r/m=011 (EBX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord43(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord44(fn): mod=01 (dst:mem+d8) reg=000 (src:EAX) r/m=100 (sib+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord44(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord45(fn): mod=01 (dst:mem+d8) reg=000 (src:EAX) r/m=101 (EBP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord45(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord46(fn): mod=01 (dst:mem+d8) reg=000 (src:EAX) r/m=110 (ESI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord46(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord47(fn): mod=01 (dst:mem+d8) reg=000 (src:EAX) r/m=111 (EDI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord47(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord48(fn): mod=01 (dst:mem+d8) reg=001 (src:ECX) r/m=000 (EAX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord48(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPDisp()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord49(fn): mod=01 (dst:mem+d8) reg=001 (src:ECX) r/m=001 (ECX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord49(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPDisp()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord4A(fn): mod=01 (dst:mem+d8) reg=001 (src:ECX) r/m=010 (EDX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord4A(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPDisp()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord4B(fn): mod=01 (dst:mem+d8) reg=001 (src:ECX) r/m=011 (EBX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord4B(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord4C(fn): mod=01 (dst:mem+d8) reg=001 (src:ECX) r/m=100 (sib+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord4C(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord4D(fn): mod=01 (dst:mem+d8) reg=001 (src:ECX) r/m=101 (EBP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord4D(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord4E(fn): mod=01 (dst:mem+d8) reg=001 (src:ECX) r/m=110 (ESI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord4E(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord4F(fn): mod=01 (dst:mem+d8) reg=001 (src:ECX) r/m=111 (EDI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord4F(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord50(fn): mod=01 (dst:mem+d8) reg=010 (src:EDX) r/m=000 (EAX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord50(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPDisp()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord51(fn): mod=01 (dst:mem+d8) reg=010 (src:EDX) r/m=001 (ECX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord51(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPDisp()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord52(fn): mod=01 (dst:mem+d8) reg=010 (src:EDX) r/m=010 (EDX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord52(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPDisp()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord53(fn): mod=01 (dst:mem+d8) reg=010 (src:EDX) r/m=011 (EBX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord53(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord54(fn): mod=01 (dst:mem+d8) reg=010 (src:EDX) r/m=100 (sib+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord54(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord55(fn): mod=01 (dst:mem+d8) reg=010 (src:EDX) r/m=101 (EBP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord55(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord56(fn): mod=01 (dst:mem+d8) reg=010 (src:EDX) r/m=110 (ESI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord56(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord57(fn): mod=01 (dst:mem+d8) reg=010 (src:EDX) r/m=111 (EDI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord57(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord58(fn): mod=01 (dst:mem+d8) reg=011 (src:EBX) r/m=000 (EAX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord58(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPDisp()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord59(fn): mod=01 (dst:mem+d8) reg=011 (src:EBX) r/m=001 (ECX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord59(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPDisp()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord5A(fn): mod=01 (dst:mem+d8) reg=011 (src:EBX) r/m=010 (EDX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord5A(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPDisp()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord5B(fn): mod=01 (dst:mem+d8) reg=011 (src:EBX) r/m=011 (EBX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord5B(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord5C(fn): mod=01 (dst:mem+d8) reg=011 (src:EBX) r/m=100 (sib+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord5C(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord5D(fn): mod=01 (dst:mem+d8) reg=011 (src:EBX) r/m=101 (EBP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord5D(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord5E(fn): mod=01 (dst:mem+d8) reg=011 (src:EBX) r/m=110 (ESI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord5E(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord5F(fn): mod=01 (dst:mem+d8) reg=011 (src:EBX) r/m=111 (EDI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord5F(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord60(fn): mod=01 (dst:mem+d8) reg=100 (src:ESP) r/m=000 (EAX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord60(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord61(fn): mod=01 (dst:mem+d8) reg=100 (src:ESP) r/m=001 (ECX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord61(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord62(fn): mod=01 (dst:mem+d8) reg=100 (src:ESP) r/m=010 (EDX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord62(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord63(fn): mod=01 (dst:mem+d8) reg=100 (src:ESP) r/m=011 (EBX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord63(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord64(fn): mod=01 (dst:mem+d8) reg=100 (src:ESP) r/m=100 (sib+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord64(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord65(fn): mod=01 (dst:mem+d8) reg=100 (src:ESP) r/m=101 (EBP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord65(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord66(fn): mod=01 (dst:mem+d8) reg=100 (src:ESP) r/m=110 (ESI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord66(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord67(fn): mod=01 (dst:mem+d8) reg=100 (src:ESP) r/m=111 (EDI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord67(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWord68(fn): mod=01 (dst:mem+d8) reg=101 (src:EBP) r/m=000 (EAX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord68(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPDisp()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord69(fn): mod=01 (dst:mem+d8) reg=101 (src:EBP) r/m=001 (ECX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord69(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPDisp()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord6A(fn): mod=01 (dst:mem+d8) reg=101 (src:EBP) r/m=010 (EDX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord6A(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPDisp()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord6B(fn): mod=01 (dst:mem+d8) reg=101 (src:EBP) r/m=011 (EBX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord6B(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord6C(fn): mod=01 (dst:mem+d8) reg=101 (src:EBP) r/m=100 (sib+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord6C(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord6D(fn): mod=01 (dst:mem+d8) reg=101 (src:EBP) r/m=101 (EBP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord6D(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord6E(fn): mod=01 (dst:mem+d8) reg=101 (src:EBP) r/m=110 (ESI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord6E(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord6F(fn): mod=01 (dst:mem+d8) reg=101 (src:EBP) r/m=111 (EDI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord6F(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWord70(fn): mod=01 (dst:mem+d8) reg=110 (src:ESI) r/m=000 (EAX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord70(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPDisp()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord71(fn): mod=01 (dst:mem+d8) reg=110 (src:ESI) r/m=001 (ECX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord71(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPDisp()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord72(fn): mod=01 (dst:mem+d8) reg=110 (src:ESI) r/m=010 (EDX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord72(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPDisp()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord73(fn): mod=01 (dst:mem+d8) reg=110 (src:ESI) r/m=011 (EBX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord73(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord74(fn): mod=01 (dst:mem+d8) reg=110 (src:ESI) r/m=100 (sib+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord74(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord75(fn): mod=01 (dst:mem+d8) reg=110 (src:ESI) r/m=101 (EBP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord75(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord76(fn): mod=01 (dst:mem+d8) reg=110 (src:ESI) r/m=110 (ESI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord76(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord77(fn): mod=01 (dst:mem+d8) reg=110 (src:ESI) r/m=111 (EDI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord77(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWord78(fn): mod=01 (dst:mem+d8) reg=111 (src:EDI) r/m=000 (EAX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord78(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPDisp()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord79(fn): mod=01 (dst:mem+d8) reg=111 (src:EDI) r/m=001 (ECX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord79(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPDisp()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord7A(fn): mod=01 (dst:mem+d8) reg=111 (src:EDI) r/m=010 (EDX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord7A(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPDisp()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord7B(fn): mod=01 (dst:mem+d8) reg=111 (src:EDI) r/m=011 (EBX+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord7B(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord7C(fn): mod=01 (dst:mem+d8) reg=111 (src:EDI) r/m=100 (sib+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord7C(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord7D(fn): mod=01 (dst:mem+d8) reg=111 (src:EDI) r/m=101 (EBP+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord7D(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord7E(fn): mod=01 (dst:mem+d8) reg=111 (src:EDI) r/m=110 (ESI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord7E(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord7F(fn): mod=01 (dst:mem+d8) reg=111 (src:EDI) r/m=111 (EDI+d8) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord7F(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWord80(fn): mod=10 (dst:mem+d16) reg=000 (src:EAX) r/m=000 (EAX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord80(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPAddr()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord81(fn): mod=10 (dst:mem+d16) reg=000 (src:EAX) r/m=001 (ECX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord81(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPAddr()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord82(fn): mod=10 (dst:mem+d16) reg=000 (src:EAX) r/m=010 (EDX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord82(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPAddr()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord83(fn): mod=10 (dst:mem+d16) reg=000 (src:EAX) r/m=011 (EBX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord83(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord84(fn): mod=10 (dst:mem+d16) reg=000 (src:EAX) r/m=100 (sib+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord84(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord85(fn): mod=10 (dst:mem+d16) reg=000 (src:EAX) r/m=101 (EBP+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord85(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord86(fn): mod=10 (dst:mem+d16) reg=000 (src:EAX) r/m=110 (ESI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord86(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord87(fn): mod=10 (dst:mem+d16) reg=000 (src:EAX) r/m=111 (EDI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord87(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.regEAX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; } this.setEAWord(w); }, /** * opMod32MemWord88(fn): mod=10 (dst:mem+d16) reg=001 (src:ECX) r/m=000 (EAX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord88(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPAddr()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord89(fn): mod=10 (dst:mem+d16) reg=001 (src:ECX) r/m=001 (ECX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord89(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPAddr()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord8A(fn): mod=10 (dst:mem+d16) reg=001 (src:ECX) r/m=010 (EDX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord8A(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPAddr()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord8B(fn): mod=10 (dst:mem+d16) reg=001 (src:ECX) r/m=011 (EBX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord8B(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord8C(fn): mod=10 (dst:mem+d16) reg=001 (src:ECX) r/m=100 (sib+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord8C(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord8D(fn): mod=10 (dst:mem+d16) reg=001 (src:ECX) r/m=101 (EBP+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord8D(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord8E(fn): mod=10 (dst:mem+d16) reg=001 (src:ECX) r/m=110 (ESI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord8E(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord8F(fn): mod=10 (dst:mem+d16) reg=001 (src:ECX) r/m=111 (EDI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord8F(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.regECX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; } this.setEAWord(w); }, /** * opMod32MemWord90(fn): mod=10 (dst:mem+d16) reg=010 (src:EDX) r/m=000 (EAX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord90(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPAddr()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord91(fn): mod=10 (dst:mem+d16) reg=010 (src:EDX) r/m=001 (ECX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord91(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPAddr()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord92(fn): mod=10 (dst:mem+d16) reg=010 (src:EDX) r/m=010 (EDX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord92(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPAddr()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord93(fn): mod=10 (dst:mem+d16) reg=010 (src:EDX) r/m=011 (EBX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord93(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord94(fn): mod=10 (dst:mem+d16) reg=010 (src:EDX) r/m=100 (sib+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord94(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord95(fn): mod=10 (dst:mem+d16) reg=010 (src:EDX) r/m=101 (EBP+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord95(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord96(fn): mod=10 (dst:mem+d16) reg=010 (src:EDX) r/m=110 (ESI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord96(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord97(fn): mod=10 (dst:mem+d16) reg=010 (src:EDX) r/m=111 (EDI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord97(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.regEDX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; } this.setEAWord(w); }, /** * opMod32MemWord98(fn): mod=10 (dst:mem+d16) reg=011 (src:EBX) r/m=000 (EAX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord98(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPAddr()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord99(fn): mod=10 (dst:mem+d16) reg=011 (src:EBX) r/m=001 (ECX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord99(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPAddr()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord9A(fn): mod=10 (dst:mem+d16) reg=011 (src:EBX) r/m=010 (EDX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord9A(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPAddr()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord9B(fn): mod=10 (dst:mem+d16) reg=011 (src:EBX) r/m=011 (EBX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord9B(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord9C(fn): mod=10 (dst:mem+d16) reg=011 (src:EBX) r/m=100 (sib+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord9C(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord9D(fn): mod=10 (dst:mem+d16) reg=011 (src:EBX) r/m=101 (EBP+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord9D(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord9E(fn): mod=10 (dst:mem+d16) reg=011 (src:EBX) r/m=110 (ESI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord9E(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWord9F(fn): mod=10 (dst:mem+d16) reg=011 (src:EBX) r/m=111 (EDI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWord9F(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.regEBX & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; } this.setEAWord(w); }, /** * opMod32MemWordA0(fn): mod=10 (dst:mem+d16) reg=100 (src:ESP) r/m=000 (EAX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordA0(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWordA1(fn): mod=10 (dst:mem+d16) reg=100 (src:ESP) r/m=001 (ECX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordA1(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWordA2(fn): mod=10 (dst:mem+d16) reg=100 (src:ESP) r/m=010 (EDX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordA2(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWordA3(fn): mod=10 (dst:mem+d16) reg=100 (src:ESP) r/m=011 (EBX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordA3(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWordA4(fn): mod=10 (dst:mem+d16) reg=100 (src:ESP) r/m=100 (sib+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordA4(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWordA5(fn): mod=10 (dst:mem+d16) reg=100 (src:ESP) r/m=101 (EBP+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordA5(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWordA6(fn): mod=10 (dst:mem+d16) reg=100 (src:ESP) r/m=110 (ESI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordA6(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWordA7(fn): mod=10 (dst:mem+d16) reg=100 (src:ESP) r/m=111 (EDI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordA7(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, /** * opMod32MemWordA8(fn): mod=10 (dst:mem+d16) reg=101 (src:EBP) r/m=000 (EAX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordA8(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPAddr()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWordA9(fn): mod=10 (dst:mem+d16) reg=101 (src:EBP) r/m=001 (ECX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordA9(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPAddr()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWordAA(fn): mod=10 (dst:mem+d16) reg=101 (src:EBP) r/m=010 (EDX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordAA(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPAddr()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWordAB(fn): mod=10 (dst:mem+d16) reg=101 (src:EBP) r/m=011 (EBX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordAB(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWordAC(fn): mod=10 (dst:mem+d16) reg=101 (src:EBP) r/m=100 (sib+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordAC(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWordAD(fn): mod=10 (dst:mem+d16) reg=101 (src:EBP) r/m=101 (EBP+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordAD(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWordAE(fn): mod=10 (dst:mem+d16) reg=101 (src:EBP) r/m=110 (ESI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordAE(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWordAF(fn): mod=10 (dst:mem+d16) reg=101 (src:EBP) r/m=111 (EDI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordAF(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.regEBP & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; } this.setEAWord(w); }, /** * opMod32MemWordB0(fn): mod=10 (dst:mem+d16) reg=110 (src:ESI) r/m=000 (EAX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordB0(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPAddr()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWordB1(fn): mod=10 (dst:mem+d16) reg=110 (src:ESI) r/m=001 (ECX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordB1(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPAddr()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWordB2(fn): mod=10 (dst:mem+d16) reg=110 (src:ESI) r/m=010 (EDX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordB2(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPAddr()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWordB3(fn): mod=10 (dst:mem+d16) reg=110 (src:ESI) r/m=011 (EBX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordB3(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWordB4(fn): mod=10 (dst:mem+d16) reg=110 (src:ESI) r/m=100 (sib+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordB4(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWordB5(fn): mod=10 (dst:mem+d16) reg=110 (src:ESI) r/m=101 (EBP+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordB5(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWordB6(fn): mod=10 (dst:mem+d16) reg=110 (src:ESI) r/m=110 (ESI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordB6(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWordB7(fn): mod=10 (dst:mem+d16) reg=110 (src:ESI) r/m=111 (EDI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordB7(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.regESI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; } this.setEAWord(w); }, /** * opMod32MemWordB8(fn): mod=10 (dst:mem+d16) reg=111 (src:EDI) r/m=000 (EAX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordB8(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPAddr()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWordB9(fn): mod=10 (dst:mem+d16) reg=111 (src:EDI) r/m=001 (ECX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordB9(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPAddr()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWordBA(fn): mod=10 (dst:mem+d16) reg=111 (src:EDI) r/m=010 (EDX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordBA(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPAddr()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWordBB(fn): mod=10 (dst:mem+d16) reg=111 (src:EDI) r/m=011 (EBX+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordBB(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWordBC(fn): mod=10 (dst:mem+d16) reg=111 (src:EDI) r/m=100 (sib+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordBC(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWordBD(fn): mod=10 (dst:mem+d16) reg=111 (src:EDI) r/m=101 (EBP+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordBD(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWordBE(fn): mod=10 (dst:mem+d16) reg=111 (src:EDI) r/m=110 (ESI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordBE(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, /** * opMod32MemWordBF(fn): mod=10 (dst:mem+d16) reg=111 (src:EDI) r/m=111 (EDI+d32) * * @this {X86CPU} * @param {function(number,number)} fn (dst,src) */ function opMod32MemWordBF(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.regEDI & this.maskData); if (BACKTRACK) { this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; } this.setEAWord(w); }, 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.modEAWordData(this.regEAX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(0)), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(0)), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(0)), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(0)), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(0)), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(0)), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(0)), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(0)), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPDisp()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEAX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regECX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEBX + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordStack(this.regEBP + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regESI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.modEAWordData(this.regEDI + this.getIPAddr()), fnSrc.call(this)); this.setEAWord(w); }, /** * 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.maskData, fnSrc.call(this)); this.regEAX = (this.regEAX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regECX = (this.regECX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDX = (this.regEDX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEBX = (this.regEBX & ~this.maskData) | 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.getSP() & this.maskData, fnSrc.call(this)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * 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.maskData, fnSrc.call(this)); this.regEBP = (this.regEBP & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regESI = (this.regESI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDI = (this.regEDI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEAX = (this.regEAX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regECX = (this.regECX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDX = (this.regEDX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEBX = (this.regEBX & ~this.maskData) | 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.getSP() & this.maskData, fnSrc.call(this)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * 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.maskData, fnSrc.call(this)); this.regEBP = (this.regEBP & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regESI = (this.regESI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDI = (this.regEDI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEAX = (this.regEAX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regECX = (this.regECX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDX = (this.regEDX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEBX = (this.regEBX & ~this.maskData) | 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.getSP() & this.maskData, fnSrc.call(this)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * 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.maskData, fnSrc.call(this)); this.regEBP = (this.regEBP & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regESI = (this.regESI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDI = (this.regEDI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEAX = (this.regEAX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regECX = (this.regECX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDX = (this.regEDX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEBX = (this.regEBX & ~this.maskData) | 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.getSP() & this.maskData, fnSrc.call(this)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * 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.maskData, fnSrc.call(this)); this.regEBP = (this.regEBP & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regESI = (this.regESI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDI = (this.regEDI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEAX = (this.regEAX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regECX = (this.regECX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDX = (this.regEDX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEBX = (this.regEBX & ~this.maskData) | 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.getSP() & this.maskData, fnSrc.call(this)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * 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.maskData, fnSrc.call(this)); this.regEBP = (this.regEBP & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regESI = (this.regESI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDI = (this.regEDI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEAX = (this.regEAX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regECX = (this.regECX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDX = (this.regEDX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEBX = (this.regEBX & ~this.maskData) | 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.getSP() & this.maskData, fnSrc.call(this)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * 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.maskData, fnSrc.call(this)); this.regEBP = (this.regEBP & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regESI = (this.regESI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDI = (this.regEDI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEAX = (this.regEAX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regECX = (this.regECX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDX = (this.regEDX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEBX = (this.regEBX & ~this.maskData) | 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.getSP() & this.maskData, fnSrc.call(this)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * 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.maskData, fnSrc.call(this)); this.regEBP = (this.regEBP & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regESI = (this.regESI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDI = (this.regEDI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEAX = (this.regEAX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regECX = (this.regECX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDX = (this.regEDX & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEBX = (this.regEBX & ~this.maskData) | 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.getSP() & this.maskData, fnSrc.call(this)); this.setSP((this.getSP() & ~this.maskData) | w); }, /** * 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.maskData, fnSrc.call(this)); this.regEBP = (this.regEBP & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regESI = (this.regESI & ~this.maskData) | 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.maskData, fnSrc.call(this)); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; } } ]; if (NODE) module.exports = X86ModW32;