diff --git a/apps/pc/1981/visicalc/manifest.xml b/apps/pc/1981/visicalc/manifest.xml index da4a2f50e..2c04b8fb2 100644 --- a/apps/pc/1981/visicalc/manifest.xml +++ b/apps/pc/1981/visicalc/manifest.xml @@ -1,5 +1,5 @@ - + VisiCalc diff --git a/apps/pc/1982/esuite/manifest.xml b/apps/pc/1982/esuite/manifest.xml index b91de34b8..d0f3c750b 100644 --- a/apps/pc/1982/esuite/manifest.xml +++ b/apps/pc/1982/esuite/manifest.xml @@ -1,5 +1,5 @@ - + Executive Suite diff --git a/apps/pc/1985/rogue/manifest.xml b/apps/pc/1985/rogue/manifest.xml index 91123581b..faa789adf 100644 --- a/apps/pc/1985/rogue/manifest.xml +++ b/apps/pc/1985/rogue/manifest.xml @@ -1,5 +1,5 @@ - + Rogue diff --git a/apps/pc/1987/thinktank/manifest.xml b/apps/pc/1987/thinktank/manifest.xml index bce0ed15d..bbcc5b448 100644 --- a/apps/pc/1987/thinktank/manifest.xml +++ b/apps/pc/1987/thinktank/manifest.xml @@ -1,5 +1,5 @@ - + ThinkTank 2.41NP diff --git a/apps/pc/1988/moria/manifest.xml b/apps/pc/1988/moria/manifest.xml index d08c923c8..e7cd99b7e 100644 --- a/apps/pc/1988/moria/manifest.xml +++ b/apps/pc/1988/moria/manifest.xml @@ -1,5 +1,5 @@ - + The Dungeons of Moria 4.872 diff --git a/apps/pc/1992/moria/manifest.xml b/apps/pc/1992/moria/manifest.xml index abcb159c7..dba36f865 100644 --- a/apps/pc/1992/moria/manifest.xml +++ b/apps/pc/1992/moria/manifest.xml @@ -1,5 +1,5 @@ - + The Dungeons of Moria 5.5 diff --git a/blog/2015/01/17/README.md b/blog/2015/01/17/README.md index 6f0a70b80..ce4cbc1a7 100644 --- a/blog/2015/01/17/README.md +++ b/blog/2015/01/17/README.md @@ -13,7 +13,7 @@ To make it easier to launch machines with the uncompiled code, the PCjs server n of a PCjs machine link to specify "uncompiled"; previously, the only *version* values allowed were a specific version number (eg, "1.16.5") or an asterisk (which would default to the latest compiled version). -Here's how you define an uncompiled machine in a PCjs Markdown file: +Here's how you embed an "uncompiled" machine in a PCjs Markdown file: [Embedded IBM PC](/devices/pc/machine/5170/ega/1152kb/rev3/ "PCjs:at-ega-1152k-rev3::uncompiled:debugger") diff --git a/devices/c1p/machine/32kb/machine.xml b/devices/c1p/machine/32kb/machine.xml index 3004a76f4..c80ef613a 100644 --- a/devices/c1p/machine/32kb/machine.xml +++ b/devices/c1p/machine/32kb/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (32Kb) with Disk Support diff --git a/devices/c1p/machine/8kb/all/debugger/machine.xml b/devices/c1p/machine/8kb/all/debugger/machine.xml index c7ad9bcd0..4075422ef 100644 --- a/devices/c1p/machine/8kb/all/debugger/machine.xml +++ b/devices/c1p/machine/8kb/all/debugger/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (8Kb, More Programs) diff --git a/devices/c1p/machine/8kb/array/machine.xml b/devices/c1p/machine/8kb/array/machine.xml index 1bb23c815..ffe6baa7e 100644 --- a/devices/c1p/machine/8kb/array/machine.xml +++ b/devices/c1p/machine/8kb/array/machine.xml @@ -1,5 +1,5 @@ - + Challenger 1P (8Kb) "Server Array" diff --git a/devices/c1p/machine/8kb/large/debugger/machine.xml b/devices/c1p/machine/8kb/large/debugger/machine.xml index f625fd99b..f645f86d3 100644 --- a/devices/c1p/machine/8kb/large/debugger/machine.xml +++ b/devices/c1p/machine/8kb/large/debugger/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (8Kb) with Debugger diff --git a/devices/c1p/machine/8kb/large/machine.xml b/devices/c1p/machine/8kb/large/machine.xml index 4cf70e492..8c7106d01 100644 --- a/devices/c1p/machine/8kb/large/machine.xml +++ b/devices/c1p/machine/8kb/large/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (circa 1978) diff --git a/devices/c1p/machine/8kb/small/machine.xml b/devices/c1p/machine/8kb/small/machine.xml index 9474868db..cfc55fd0b 100644 --- a/devices/c1p/machine/8kb/small/machine.xml +++ b/devices/c1p/machine/8kb/small/machine.xml @@ -1,5 +1,5 @@ - + diff --git a/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml b/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml index 3ae625fe4..70a6656f0 100644 --- a/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml +++ b/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 384K diff --git a/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml b/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml index 3f16a2815..2f20287d6 100644 --- a/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml +++ b/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pc/machine/5150/cga/64kb/donkey/machine.xml b/devices/pc/machine/5150/cga/64kb/donkey/machine.xml index 86f4a53dc..c8d8bddb7 100644 --- a/devices/pc/machine/5150/cga/64kb/donkey/machine.xml +++ b/devices/pc/machine/5150/cga/64kb/donkey/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml b/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml index 88aa2eb87..792a13c52 100644 --- a/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml +++ b/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pc/machine/5150/mda/64kb/debugger/machine.xml b/devices/pc/machine/5150/mda/64kb/debugger/machine.xml index f2bb8f020..b2a8c8483 100644 --- a/devices/pc/machine/5150/mda/64kb/debugger/machine.xml +++ b/devices/pc/machine/5150/mda/64kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC Model 5150 with Monochrome Display diff --git a/devices/pc/machine/5150/mda/64kb/machine.xml b/devices/pc/machine/5150/mda/64kb/machine.xml index f2c74811b..25c654461 100644 --- a/devices/pc/machine/5150/mda/64kb/machine.xml +++ b/devices/pc/machine/5150/mda/64kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Monochrome Display diff --git a/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml b/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml index 9642bed64..a61a71486 100644 --- a/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml +++ b/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), MDA, 64K diff --git a/devices/pc/machine/5160/cga/256kb/array/machine.xml b/devices/pc/machine/5160/cga/256kb/array/machine.xml index 1248a9eeb..e02bc50c1 100644 --- a/devices/pc/machine/5160/cga/256kb/array/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/array/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml b/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml index f36efbfa2..53579a376 100644 --- a/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/256kb/demo/machine.xml b/devices/pc/machine/5160/cga/256kb/demo/machine.xml index 18560d882..83c2cef40 100644 --- a/devices/pc/machine/5160/cga/256kb/demo/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/demo/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml b/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml index 38ce72408..368460328 100644 --- a/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml b/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml index 503b5545d..72144e514 100644 --- a/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160) running Windows v1.01 diff --git a/devices/pc/machine/5160/cga/256kb/win101/machine.xml b/devices/pc/machine/5160/cga/256kb/win101/machine.xml index 09f6d3cbb..d61c8d78a 100644 --- a/devices/pc/machine/5160/cga/256kb/win101/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/win101/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160) running Windows v1.01 diff --git a/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml b/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml index f377bd50b..6d0ab5e08 100644 --- a/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, WIN101 diff --git a/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml b/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml index 249637c9f..54c2f6871 100644 --- a/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml +++ b/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 512K, WIN101 diff --git a/devices/pc/machine/5160/cga/640kb/debugger/machine.xml b/devices/pc/machine/5160/cga/640kb/debugger/machine.xml index 5023459ce..d65c9beb1 100644 --- a/devices/pc/machine/5160/cga/640kb/debugger/machine.xml +++ b/devices/pc/machine/5160/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/640kb/dos400m/machine.xml b/devices/pc/machine/5160/cga/640kb/dos400m/machine.xml index 1568cba28..3df901c4c 100644 --- a/devices/pc/machine/5160/cga/640kb/dos400m/machine.xml +++ b/devices/pc/machine/5160/cga/640kb/dos400m/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/640kb/machine.xml b/devices/pc/machine/5160/cga/640kb/machine.xml index 3c7b86e77..9bb015e4b 100644 --- a/devices/pc/machine/5160/cga/640kb/machine.xml +++ b/devices/pc/machine/5160/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pc/machine/5160/ega/256kb/debugger/machine.xml b/devices/pc/machine/5160/ega/256kb/debugger/machine.xml index 227793361..e0cd64991 100644 --- a/devices/pc/machine/5160/ega/256kb/debugger/machine.xml +++ b/devices/pc/machine/5160/ega/256kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Drive diff --git a/devices/pc/machine/5160/ega/640kb/array/machine.xml b/devices/pc/machine/5160/ega/640kb/array/machine.xml index 55a89643d..e03345b9b 100644 --- a/devices/pc/machine/5160/ega/640kb/array/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/array/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive diff --git a/devices/pc/machine/5160/ega/640kb/debugger/machine.xml b/devices/pc/machine/5160/ega/640kb/debugger/machine.xml index 1e8eaf3d7..3721de407 100644 --- a/devices/pc/machine/5160/ega/640kb/debugger/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive diff --git a/devices/pc/machine/5160/ega/640kb/machine.xml b/devices/pc/machine/5160/ega/640kb/machine.xml index 6eed6535c..01f307749 100644 --- a/devices/pc/machine/5160/ega/640kb/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive diff --git a/devices/pc/machine/5160/ega/640kb/win101/machine.xml b/devices/pc/machine/5160/ega/640kb/win101/machine.xml index 18c1c9d7f..4131d3789 100644 --- a/devices/pc/machine/5160/ega/640kb/win101/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/win101/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive diff --git a/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml b/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml index 589f73468..5ceb9ca6e 100644 --- a/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml +++ b/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/mda/256kb/fake188/machine.xml b/devices/pc/machine/5160/mda/256kb/fake188/machine.xml index 932407235..09c19a98d 100644 --- a/devices/pc/machine/5160/mda/256kb/fake188/machine.xml +++ b/devices/pc/machine/5160/mda/256kb/fake188/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/mda/256kb/machine.xml b/devices/pc/machine/5160/mda/256kb/machine.xml index af66d184f..e8f940553 100644 --- a/devices/pc/machine/5160/mda/256kb/machine.xml +++ b/devices/pc/machine/5160/mda/256kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml b/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml index de4ad7b80..5421a38fb 100644 --- a/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml +++ b/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 64K, 10Mb Drive diff --git a/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml index 68447dbf8..6e538a1d2 100644 --- a/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml +++ b/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (6Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml index 65fc5ba44..25e67b607 100644 --- a/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml +++ b/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/devices/pc/machine/5170/ega/640kb/rev1/machine.xml b/devices/pc/machine/5170/ega/640kb/rev1/machine.xml index ef2236036..de1bdc54d 100644 --- a/devices/pc/machine/5170/ega/640kb/rev1/machine.xml +++ b/devices/pc/machine/5170/ega/640kb/rev1/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT, 128K EGA, 640K RAM diff --git a/devices/pc/machine/5170/ega/640kb/rev1/manifest.xml b/devices/pc/machine/5170/ega/640kb/rev1/manifest.xml index 3e7f33fc5..27dc9662f 100644 --- a/devices/pc/machine/5170/ega/640kb/rev1/manifest.xml +++ b/devices/pc/machine/5170/ega/640kb/rev1/manifest.xml @@ -1,5 +1,5 @@ - + IBM PC AT References diff --git a/disks/pc/apps/lotus/123/1.0a/manifest.xml b/disks/pc/apps/lotus/123/1.0a/manifest.xml index 3bf73f6ec..06c540d40 100644 --- a/disks/pc/apps/lotus/123/1.0a/manifest.xml +++ b/disks/pc/apps/lotus/123/1.0a/manifest.xml @@ -1,5 +1,5 @@ - + 1-2-3 1.0a diff --git a/disks/pc/apps/microsoft/winword/2.0c/manifest.xml b/disks/pc/apps/microsoft/winword/2.0c/manifest.xml index e672fcad3..5dcfd798c 100644 --- a/disks/pc/apps/microsoft/winword/2.0c/manifest.xml +++ b/disks/pc/apps/microsoft/winword/2.0c/manifest.xml @@ -1,5 +1,5 @@ - + Word for Windows 2.0c diff --git a/disks/pc/apps/microsoft/word/3.0/manifest.xml b/disks/pc/apps/microsoft/word/3.0/manifest.xml index cd08ced9a..669a6350a 100644 --- a/disks/pc/apps/microsoft/word/3.0/manifest.xml +++ b/disks/pc/apps/microsoft/word/3.0/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 3.0 diff --git a/disks/pc/apps/microsoft/word/3.1/manifest.xml b/disks/pc/apps/microsoft/word/3.1/manifest.xml index be8d0c3a3..d7f32b84a 100644 --- a/disks/pc/apps/microsoft/word/3.1/manifest.xml +++ b/disks/pc/apps/microsoft/word/3.1/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 3.1 diff --git a/disks/pc/apps/microsoft/word/5.0/manifest.xml b/disks/pc/apps/microsoft/word/5.0/manifest.xml index d9db712bc..5718b7f27 100644 --- a/disks/pc/apps/microsoft/word/5.0/manifest.xml +++ b/disks/pc/apps/microsoft/word/5.0/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 5.0 diff --git a/disks/pc/cpm/machine.xml b/disks/pc/cpm/machine.xml index 72026878c..e041a4334 100644 --- a/disks/pc/cpm/machine.xml +++ b/disks/pc/cpm/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) running CP/M-86 diff --git a/disks/pc/cpm/manifest.xml b/disks/pc/cpm/manifest.xml index b001ffa49..1eca42c96 100644 --- a/disks/pc/cpm/manifest.xml +++ b/disks/pc/cpm/manifest.xml @@ -1,5 +1,5 @@ - + CP/M-86 1.1B diff --git a/disks/pc/diags/ibm/2.20/machine.xml b/disks/pc/diags/ibm/2.20/machine.xml index bf34c934b..cc9fb8c73 100644 --- a/disks/pc/diags/ibm/2.20/machine.xml +++ b/disks/pc/diags/ibm/2.20/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) running IBM Advanced Diagnostics 2.20 diff --git a/disks/pc/diags/ibm/2.20/manifest.xml b/disks/pc/diags/ibm/2.20/manifest.xml index e2da48eb5..d96cf9322 100644 --- a/disks/pc/diags/ibm/2.20/manifest.xml +++ b/disks/pc/diags/ibm/2.20/manifest.xml @@ -1,5 +1,5 @@ - + IBM Advanced Diagnostics 2.20 diff --git a/disks/pc/dos/compaq/3.10/manifest.xml b/disks/pc/dos/compaq/3.10/manifest.xml index 087990d05..7b28115d6 100644 --- a/disks/pc/dos/compaq/3.10/manifest.xml +++ b/disks/pc/dos/compaq/3.10/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.10 diff --git a/disks/pc/dos/compaq/3.31/manifest.xml b/disks/pc/dos/compaq/3.31/manifest.xml index c084dc09d..edce98901 100644 --- a/disks/pc/dos/compaq/3.31/manifest.xml +++ b/disks/pc/dos/compaq/3.31/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.31 diff --git a/disks/pc/dos/ibm/1.00/manifest.xml b/disks/pc/dos/ibm/1.00/manifest.xml index e9301c249..95628f86d 100644 --- a/disks/pc/dos/ibm/1.00/manifest.xml +++ b/disks/pc/dos/ibm/1.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 1.00 diff --git a/disks/pc/dos/ibm/1.10/manifest.xml b/disks/pc/dos/ibm/1.10/manifest.xml index 2869ecca4..cc43026f1 100644 --- a/disks/pc/dos/ibm/1.10/manifest.xml +++ b/disks/pc/dos/ibm/1.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 1.10 diff --git a/disks/pc/dos/ibm/2.00/manifest.xml b/disks/pc/dos/ibm/2.00/manifest.xml index 06ea41efe..3e4d15cdc 100644 --- a/disks/pc/dos/ibm/2.00/manifest.xml +++ b/disks/pc/dos/ibm/2.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 2.00 diff --git a/disks/pc/dos/ibm/2.10/manifest.xml b/disks/pc/dos/ibm/2.10/manifest.xml index d325e8d75..12e3a6e05 100644 --- a/disks/pc/dos/ibm/2.10/manifest.xml +++ b/disks/pc/dos/ibm/2.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 2.10 diff --git a/disks/pc/dos/ibm/3.00/manifest.xml b/disks/pc/dos/ibm/3.00/manifest.xml index d53af075e..5add879b0 100644 --- a/disks/pc/dos/ibm/3.00/manifest.xml +++ b/disks/pc/dos/ibm/3.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.00 diff --git a/disks/pc/dos/ibm/3.10/manifest.xml b/disks/pc/dos/ibm/3.10/manifest.xml index 2285a741e..38b1ca50e 100644 --- a/disks/pc/dos/ibm/3.10/manifest.xml +++ b/disks/pc/dos/ibm/3.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.10 diff --git a/disks/pc/dos/ibm/3.20/manifest.xml b/disks/pc/dos/ibm/3.20/manifest.xml index 927ca6158..3b362ffe7 100644 --- a/disks/pc/dos/ibm/3.20/manifest.xml +++ b/disks/pc/dos/ibm/3.20/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.20 diff --git a/disks/pc/dos/ibm/3.30/manifest.xml b/disks/pc/dos/ibm/3.30/manifest.xml index 36e3d776b..95e9af56b 100644 --- a/disks/pc/dos/ibm/3.30/manifest.xml +++ b/disks/pc/dos/ibm/3.30/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.30 diff --git a/disks/pc/dos/ibm/4.00/manifest.xml b/disks/pc/dos/ibm/4.00/manifest.xml index 6cc66865c..191be5f36 100644 --- a/disks/pc/dos/ibm/4.00/manifest.xml +++ b/disks/pc/dos/ibm/4.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 4.00 diff --git a/disks/pc/dos/ibm/5.00/manifest.xml b/disks/pc/dos/ibm/5.00/manifest.xml index b34ac84f6..b84b449dd 100644 --- a/disks/pc/dos/ibm/5.00/manifest.xml +++ b/disks/pc/dos/ibm/5.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 5.00 diff --git a/disks/pc/dos/ibm/6.10/manifest.xml b/disks/pc/dos/ibm/6.10/manifest.xml index 2ebb07e81..9f6328faf 100644 --- a/disks/pc/dos/ibm/6.10/manifest.xml +++ b/disks/pc/dos/ibm/6.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 6.10 diff --git a/disks/pc/dos/ibm/7.00/manifest.xml b/disks/pc/dos/ibm/7.00/manifest.xml index 659e49e72..52680b9d9 100644 --- a/disks/pc/dos/ibm/7.00/manifest.xml +++ b/disks/pc/dos/ibm/7.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 7.00 diff --git a/disks/pc/dos/microsoft/3.20/manifest.xml b/disks/pc/dos/microsoft/3.20/manifest.xml index 96aea6dc0..a03c596db 100644 --- a/disks/pc/dos/microsoft/3.20/manifest.xml +++ b/disks/pc/dos/microsoft/3.20/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.20 diff --git a/disks/pc/dos/microsoft/3.30/manifest.xml b/disks/pc/dos/microsoft/3.30/manifest.xml index f3510c192..f15f3ad2e 100644 --- a/disks/pc/dos/microsoft/3.30/manifest.xml +++ b/disks/pc/dos/microsoft/3.30/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.30 diff --git a/disks/pc/dos/microsoft/4.01/manifest.xml b/disks/pc/dos/microsoft/4.01/manifest.xml index c67121102..c819aa6a6 100644 --- a/disks/pc/dos/microsoft/4.01/manifest.xml +++ b/disks/pc/dos/microsoft/4.01/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.01 diff --git a/disks/pc/dos/microsoft/4.0M/manifest.xml b/disks/pc/dos/microsoft/4.0M/manifest.xml index 5ad02188a..57156d962 100644 --- a/disks/pc/dos/microsoft/4.0M/manifest.xml +++ b/disks/pc/dos/microsoft/4.0M/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.0M diff --git a/disks/pc/games/infocom/hhiker/manifest.xml b/disks/pc/games/infocom/hhiker/manifest.xml index 70e08c21c..6e5ea06d9 100644 --- a/disks/pc/games/infocom/hhiker/manifest.xml +++ b/disks/pc/games/infocom/hhiker/manifest.xml @@ -1,5 +1,5 @@ - + The Hitchhiker's Guide to the Galaxy diff --git a/disks/pc/games/infocom/machine-debug.xml b/disks/pc/games/infocom/machine-debug.xml index c10cc3c2c..abce69938 100644 --- a/disks/pc/games/infocom/machine-debug.xml +++ b/disks/pc/games/infocom/machine-debug.xml @@ -1,5 +1,5 @@ - + IBM PC Model 5150 (CGA, 64K) diff --git a/disks/pc/games/infocom/machine.xml b/disks/pc/games/infocom/machine.xml index 57ca3ed29..3deeb0647 100644 --- a/disks/pc/games/infocom/machine.xml +++ b/disks/pc/games/infocom/machine.xml @@ -1,5 +1,5 @@ - + IBM PC Model 5150 (CGA, 64K) diff --git a/disks/pc/games/infocom/planet/manifest.xml b/disks/pc/games/infocom/planet/manifest.xml index 8d814085d..fcbf72352 100644 --- a/disks/pc/games/infocom/planet/manifest.xml +++ b/disks/pc/games/infocom/planet/manifest.xml @@ -1,5 +1,5 @@ - + Planetfall diff --git a/disks/pc/games/infocom/zork1/debugger/machine.xml b/disks/pc/games/infocom/zork1/debugger/machine.xml index 87c2dd5c4..e4b566e0e 100644 --- a/disks/pc/games/infocom/zork1/debugger/machine.xml +++ b/disks/pc/games/infocom/zork1/debugger/machine.xml @@ -1,5 +1,5 @@ - + Zork I (IBM PC Model 5150) diff --git a/disks/pc/games/infocom/zork1/manifest.xml b/disks/pc/games/infocom/zork1/manifest.xml index 3fe7c8810..dd373a8aa 100644 --- a/disks/pc/games/infocom/zork1/manifest.xml +++ b/disks/pc/games/infocom/zork1/manifest.xml @@ -1,5 +1,5 @@ - + Zork I diff --git a/disks/pc/games/infocom/zork2/manifest.xml b/disks/pc/games/infocom/zork2/manifest.xml index 44e7eafe4..afe7f14cd 100644 --- a/disks/pc/games/infocom/zork2/manifest.xml +++ b/disks/pc/games/infocom/zork2/manifest.xml @@ -1,5 +1,5 @@ - + Zork II diff --git a/disks/pc/games/infocom/zork3/manifest.xml b/disks/pc/games/infocom/zork3/manifest.xml index 857b45a8a..c94d3e75f 100644 --- a/disks/pc/games/infocom/zork3/manifest.xml +++ b/disks/pc/games/infocom/zork3/manifest.xml @@ -1,5 +1,5 @@ - + Zork III diff --git a/disks/pc/games/microsoft/adventure/machine.xml b/disks/pc/games/microsoft/adventure/machine.xml index 5bfc7449e..462f586cb 100644 --- a/disks/pc/games/microsoft/adventure/machine.xml +++ b/disks/pc/games/microsoft/adventure/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) running Microsoft Adventure diff --git a/disks/pc/games/microsoft/adventure/manifest.xml b/disks/pc/games/microsoft/adventure/manifest.xml index 7f269afd7..bde07425b 100644 --- a/disks/pc/games/microsoft/adventure/manifest.xml +++ b/disks/pc/games/microsoft/adventure/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Adventure 1.00 diff --git a/disks/pc/games/microsoft/flightsim/manifest.xml b/disks/pc/games/microsoft/flightsim/manifest.xml index 27fbc4d2c..d88bdda39 100644 --- a/disks/pc/games/microsoft/flightsim/manifest.xml +++ b/disks/pc/games/microsoft/flightsim/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Flight Simulator diff --git a/disks/pc/minix/1.1/manifest.xml b/disks/pc/minix/1.1/manifest.xml index a35008236..5c38232a1 100644 --- a/disks/pc/minix/1.1/manifest.xml +++ b/disks/pc/minix/1.1/manifest.xml @@ -1,5 +1,5 @@ - + MINIX 1.1 diff --git a/disks/pc/os2/ibm/1.0/machine.xml b/disks/pc/os2/ibm/1.0/machine.xml index 847587ce2..14db40dc1 100644 --- a/disks/pc/os2/ibm/1.0/machine.xml +++ b/disks/pc/os2/ibm/1.0/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/disks/pc/os2/ibm/1.0/manifest.xml b/disks/pc/os2/ibm/1.0/manifest.xml index 7642b27aa..7bff55c24 100644 --- a/disks/pc/os2/ibm/1.0/manifest.xml +++ b/disks/pc/os2/ibm/1.0/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.0 diff --git a/disks/pc/os2/ibm/1.1/manifest.xml b/disks/pc/os2/ibm/1.1/manifest.xml index b0c87466f..6346d677d 100644 --- a/disks/pc/os2/ibm/1.1/manifest.xml +++ b/disks/pc/os2/ibm/1.1/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.1 diff --git a/disks/pc/os2/ibm/1.3/manifest.xml b/disks/pc/os2/ibm/1.3/manifest.xml index 3ad8794de..65c1d1975 100644 --- a/disks/pc/os2/ibm/1.3/manifest.xml +++ b/disks/pc/os2/ibm/1.3/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.3 diff --git a/disks/pc/os2/misc/1.0/debugger/machine.xml b/disks/pc/os2/misc/1.0/debugger/machine.xml index f2ff7f2a7..4abd6cabc 100644 --- a/disks/pc/os2/misc/1.0/debugger/machine.xml +++ b/disks/pc/os2/misc/1.0/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/disks/pc/os2/misc/manifest.xml b/disks/pc/os2/misc/manifest.xml index aa3d24a81..2fc5f7799 100644 --- a/disks/pc/os2/misc/manifest.xml +++ b/disks/pc/os2/misc/manifest.xml @@ -1,5 +1,5 @@ - + OS/2 Miscellaneous Disks diff --git a/disks/pc/tools/borland/pascal/3.0/manifest.xml b/disks/pc/tools/borland/pascal/3.0/manifest.xml index 95976e842..5d163a5ba 100644 --- a/disks/pc/tools/borland/pascal/3.0/manifest.xml +++ b/disks/pc/tools/borland/pascal/3.0/manifest.xml @@ -1,5 +1,5 @@ - + Turbo Pascal diff --git a/disks/pc/tools/microsoft/basic/manifest.xml b/disks/pc/tools/microsoft/basic/manifest.xml index b5ab245b0..25cc631b7 100644 --- a/disks/pc/tools/microsoft/basic/manifest.xml +++ b/disks/pc/tools/microsoft/basic/manifest.xml @@ -1,5 +1,5 @@ - + MS BASIC diff --git a/disks/pc/tools/microsoft/c/4.00/manifest.xml b/disks/pc/tools/microsoft/c/4.00/manifest.xml index 272afa08d..48af005d5 100644 --- a/disks/pc/tools/microsoft/c/4.00/manifest.xml +++ b/disks/pc/tools/microsoft/c/4.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 4.00 diff --git a/disks/pc/tools/microsoft/masm/4.00/manifest.xml b/disks/pc/tools/microsoft/masm/4.00/manifest.xml index 114afd04e..be2383641 100644 --- a/disks/pc/tools/microsoft/masm/4.00/manifest.xml +++ b/disks/pc/tools/microsoft/masm/4.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assember Tool diff --git a/disks/pc/tools/microsoft/mouse/5.00/manifest.xml b/disks/pc/tools/microsoft/mouse/5.00/manifest.xml index d139628cf..b38d8e46f 100644 --- a/disks/pc/tools/microsoft/mouse/5.00/manifest.xml +++ b/disks/pc/tools/microsoft/mouse/5.00/manifest.xml @@ -1,5 +1,5 @@ - + MS Mouse 5.00 diff --git a/disks/pc/tools/microsoft/windows/sdk/1.01/manifest.xml b/disks/pc/tools/microsoft/windows/sdk/1.01/manifest.xml index 397c90268..15508a6e4 100644 --- a/disks/pc/tools/microsoft/windows/sdk/1.01/manifest.xml +++ b/disks/pc/tools/microsoft/windows/sdk/1.01/manifest.xml @@ -1,5 +1,5 @@ - + Windows 1.01 SDK diff --git a/disks/pc/tools/microsoft/windows/sdk/1.04/manifest.xml b/disks/pc/tools/microsoft/windows/sdk/1.04/manifest.xml index 74db1baa9..a6ec0f7d4 100644 --- a/disks/pc/tools/microsoft/windows/sdk/1.04/manifest.xml +++ b/disks/pc/tools/microsoft/windows/sdk/1.04/manifest.xml @@ -1,5 +1,5 @@ - + Windows 1.04 SDK os2museum.com diff --git a/disks/pc/tools/microsoft/windows/sdk/2.03/manifest.xml b/disks/pc/tools/microsoft/windows/sdk/2.03/manifest.xml index 793b1c9f1..318a20eb3 100644 --- a/disks/pc/tools/microsoft/windows/sdk/2.03/manifest.xml +++ b/disks/pc/tools/microsoft/windows/sdk/2.03/manifest.xml @@ -1,5 +1,5 @@ - + Windows 2.03 SDK os2museum.com diff --git a/disks/pc/unix/ibm/pcix/manifest.xml b/disks/pc/unix/ibm/pcix/manifest.xml index 5e048ede5..7d44cfe14 100644 --- a/disks/pc/unix/ibm/pcix/manifest.xml +++ b/disks/pc/unix/ibm/pcix/manifest.xml @@ -1,5 +1,5 @@ - + PC/IX 1.0 diff --git a/disks/pc/windows/1.01/manifest.xml b/disks/pc/windows/1.01/manifest.xml index c5049ccf9..31ce36a53 100644 --- a/disks/pc/windows/1.01/manifest.xml +++ b/disks/pc/windows/1.01/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.01 diff --git a/disks/pc/windows/1.03/manifest.xml b/disks/pc/windows/1.03/manifest.xml index 1ed4a65ee..fbc4a2d3e 100644 --- a/disks/pc/windows/1.03/manifest.xml +++ b/disks/pc/windows/1.03/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03 diff --git a/disks/pc/windows/1.03a/manifest.xml b/disks/pc/windows/1.03a/manifest.xml index 3dbc98cac..530196df6 100644 --- a/disks/pc/windows/1.03a/manifest.xml +++ b/disks/pc/windows/1.03a/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03a diff --git a/disks/pc/windows/1.04/manifest.xml b/disks/pc/windows/1.04/manifest.xml index b26aebeec..721606cb7 100644 --- a/disks/pc/windows/1.04/manifest.xml +++ b/disks/pc/windows/1.04/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.04 os2museum.com diff --git a/disks/pc/windows/2.03/manifest.xml b/disks/pc/windows/2.03/manifest.xml index bb436871e..3b7ba6db4 100644 --- a/disks/pc/windows/2.03/manifest.xml +++ b/disks/pc/windows/2.03/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 2.03 os2museum.com diff --git a/disks/pc/windows/wincomm/manifest.xml b/disks/pc/windows/wincomm/manifest.xml index ee7cc5f20..48a84eebf 100644 --- a/disks/pc/windows/wincomm/manifest.xml +++ b/disks/pc/windows/wincomm/manifest.xml @@ -1,5 +1,5 @@ - + Windows COMM Driver (Source) diff --git a/disks/pc/xenix/sco/8086/2.1.3/manifest.xml b/disks/pc/xenix/sco/8086/2.1.3/manifest.xml index a5f0efe90..eadd16220 100644 --- a/disks/pc/xenix/sco/8086/2.1.3/manifest.xml +++ b/disks/pc/xenix/sco/8086/2.1.3/manifest.xml @@ -1,5 +1,5 @@ - + SCO Xenix 8086 Operating System v2.1.3 diff --git a/docs/pcjs/demos/components.xsl b/docs/pcjs/demos/components.xsl index 978cee62f..7b2a671e7 100644 --- a/docs/pcjs/demos/components.xsl +++ b/docs/pcjs/demos/components.xsl @@ -8,7 +8,7 @@ pc pcjs - 1.16.5 + 1.17.0 www.pcjs.org diff --git a/docs/pcjs/demos/pc-dbg.js b/docs/pcjs/demos/pc-dbg.js index aa02aa0d1..d59b194e3 100644 --- a/docs/pcjs/demos/pc-dbg.js +++ b/docs/pcjs/demos/pc-dbg.js @@ -6,502 +6,532 @@ function ka(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){retur var oa=[31,28,31,30,31,30,31,31,30,31,30,31]; function pa(a,b,c,d,e,f){b=!!b;var g=0,h=null,n=ea(a),m=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(m.onreadystatechange=function(){4===m.readyState&&(h=m.responseText,200==m.status||!m.status&&h.length&&"file:"==(window?window.location.protocol:"file:")||(g=m.status||-1),e&&(d?e.call(d,n,h,g,f):e(n,h,g,f)))});if(c){var t="",s;for(s in c)c.hasOwnProperty(s)&&(t&&(t+="&"),t+=s+"="+encodeURIComponent(c[s]));t=t.replace(/%20/g,"+");m.open("POST", a,b);m.setRequestHeader("Content-type","application/x-www-form-urlencoded");m.send(t)}else m.open("GET",a,b),m.send();a=[];b||(h=m.responseText,200!=m.status&&(g=m.status||-1),e&&(d?e.call(d,n,h,g,f):e(n,h,g,f)),a=[g,h]);return a}function qa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function w(a){window&&window.alert(a)}function ra(a){var b=!1;window&&(b=window.confirm(a));return b}var sa=null; -function ta(){if(null==sa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}sa=a}return sa}function ua(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function va(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1} +function ta(){if(null==sa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}sa=a}return sa}function ua(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function wa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1} function xa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function ya(a,b,c){function d(){a-=1;0<=a&&(b()||(a=0));0=this.Bf?12:14;this.qc=1<>2;this.Sa=this.qc-1;this.lh=(this.Xf+this.qc)/this.qc|0;this.Gd=this.lh-1;this.Ad=[];this.Bd=[];this.og=this.pg=!1;this.Ui();B(this)}Ua(x,jb);k=jb.prototype; -k.Ui=function(){this.Ca=Array(this.lh);for(var a=0;a>a.cb;0>this.cb;0>a.cb;0>this.cb].fc(a&this.Sa)};function qb(a,b){return a.Ca[(b&a.pc)>>a.cb].Lg(b&a.Sa)} -k.ra=function(a){var b=a&this.Sa;a=(a&this.pc)>>this.cb;return b!=this.Sa?this.Ca[a].Vj(b):this.Ca[a++].fc(b)|this.Ca[a&this.Gd].fc(0)<<8};function rb(a,b){var c=b&a.Sa,d=(b&a.pc)>>a.cb;return c!=a.Sa?a.Ca[d].Wj(c):a.Ca[d++].Lg(c)|a.Ca[d&a.Gd].Lg(0)<<8}k.ld=function(a,b){this.Ca[(a&this.pc)>>this.cb].mc(a&this.Sa,b&255)};k.Va=function(a,b){var c=a&this.Sa,d=(a&this.pc)>>this.cb;c!=this.Sa?this.Ca[d].fk(c,b&65535):(this.Ca[d++].mc(c,b&255),this.Ca[d&this.Gd].mc(0,b>>8&255))}; -function sb(a,b,c){var d=b&a.Sa;b=(b&a.pc)>>a.cb;d!=a.Sa?a.Ca[b].gk(d,c&65535):(a.Ca[b++].Pf(d,c&255),a.Ca[b&a.Gd].Pf(0,c>>8&255))}function tb(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ya[b]>>>a;return 24>a?c&65535:c&255|(this.ya[b+1]&255)<<8},function(a,b){var c=a>>2,d=(a&3)<<3;this.ya[c]=this.ya[c]&~(255<>2,d=(a&3)<<3;24>d?this.ya[c]=this.ya[c]&~(65535<>8);this.zb=!0}],Ib=[function(a){Gb(this.ka,this.ce+a);return this.Lg(a)},function(a){Gb(this.ka, -this.ce+a)||Gb(this.ka,this.ce+a+1);return this.Wj(a)},function(a,b){Hb(this.ka,this.ce+a);this.Pf(a,b)},function(a,b){Hb(this.ka,this.ce+a)||Hb(this.ka,this.ce+a+1);this.gk(a,b)}];lb.prototype={save:function(){return this.ga?null:this.ya},restore:function(a){return this.ga?null==a:a&&this.Im==a.length<<2?(this.ya=a,this.zb=!0):!1},bf:function(a,b){a||(a=[]);void 0===b&&(b=!0);Jb(this,a,b);Kb(this,a,b)},be:function(a,b){b?0===this.Bk++&&Kb(this,Ib):0===this.zk++&&Jb(this,Ib)}}; -function Lb(a,b){b?0===--a.Bk&&(a.mc=a.Ah?Fb:a.Pf,a.fk=a.Ah?Fb:a.gk):0===--a.zk&&(a.fc=a.Lg,a.Vj=a.Wj)}function kb(a,b,c,d,e){a.T=b;a.ka=c;a.ce=d;a.zk=a.Bk=0;a.ka&&Mb(a.ka,d,e)}function Kb(a,b,c){a.mc=!a.Ah&&b[2]||Fb;a.fk=!a.Ah&&b[3]||Fb;c&&(a.Pf=b[2]||Fb,a.gk=b[3]||Fb)}function Jb(a,b,c){a.fc=b[0]||Eb;a.Vj=b[1]||Eb;c&&(a.Lg=b[0]||Eb,a.Wj=b[1]||Eb)} -function Nb(a,b){x.call(this,"CPU",a,Nb,1);var c=a.cycles||b,d=a.multiplier||1;this.da={};this.da.ud=c;this.da.Rd=d;this.da.Ih=Math.round(this.da.ud/1E4)/100;this.da.Ue=this.da.Ih*this.da.Rd;this.ma.Rb=!1;this.ma.nb=!1;this.ma.Mi=!1;this.ma.Ei=a.autoStart;this.ma.Kk=!1;c=La.autostart;void 0!==c&&(this.ma.Ei="true"==c?!0:"false"==c?!1:null);this.ma.sf=!1;this.da.sg=this.da.Df=0;this.da.tg=a.csStart;this.da.Cf=a.csInterval;this.da.Ef=a.csStop;var e=this;this.uo=function(){e.Ze()};B(this)}Ua(x,Nb); -k=Nb.prototype;k.zc=function(a,b,c,d){this.sa=b;this.ka=d;this.Ma=a;var e=hb(a,"Video");e&&(this.Bi=function(){Ob(e)},this.Oc=function(){e.Oc()});this.oa=hb(a,"ChipSet");B(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ec=function(a,b){if(!b){if(a&&this.restore){Pb(this);if(!this.restore(a))return!1;Rb(this)}else this.reset();this.ka?this.ka.ao():this.Z("No debugger detected")}this.ma.Rb=!0;!Sb(this)&&this.ka&&Tb(this.ka);Ub(this);return!0}; -k.dc=function(a){this.ma.Rb=!1;return a&&this.save?this.save():!0};function Sb(a){return!0===a.ma.Ei||null===a.ma.Ei&&!a.ka&&void 0===a.xa.run?(a.Ze(),!0):!1}k.Tk=function(){return 0};function Rb(a){void 0===a.da.tg&&(a.da.tg=0);void 0===a.da.Cf&&(a.da.Cf=-1);void 0===a.da.Ef&&(a.da.Ef=-1);a.ma.sf=0<=a.da.tg&&0=a.da.Df&&(a.da.Df+=a.da.Cf,c=!0);0<=a.da.Ef&&a.da.Ef<=E(a)&&(a.da.Cf=a.da.Ef=-1,Rb(a),a.qb(),c=!0);c&&a.Z(E(a)+" cycles: checksum="+p(a.da.sg))}}function F(a,b,c,d){a.xa[b]&&(void 0===d&&(d=4),void 0===c&&(fb(a,"Register "+b+" is invalid"),a.qb()),c=!a.ma.nb||a.ma.Kk?p(c,d):"----".substr(0,d),a.xa[b].textContent!=c&&(a.xa[b].textContent=c))}k.rh=function(){};k.Bi=function(){};k.Oc=function(){}; -k.Hb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.xa[b]=c;c.onclick=function(){d.ma.nb?d.qb(!0):d.Ze(!0)};a=!0;break;case "reset":this.xa[b]=c;c.onclick=function(){d.Ma&&Wb(d.Ma)};a=!0;break;case "speed":this.xa[b]=c;a=!0;break;case "setSpeed":this.xa[b]=c,c.onclick=function(){Xb(d,d.da.Rd<<1,!0)},c.textContent=this.da.Ue.toFixed(2)+"Mhz",a=!0}return a};function Yb(a,b){if(a.ma.nb){var c=a.A-b;a.A-=c;a.Wc-=c}}function Zb(a,b,c){a.Ye+=b;c&&(a.Wc=a.A=0)} -function $b(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1a.da.Ih&&(c=Math.round(c/a.da.Rd));return c}function Pb(a){a.da.qe=0;a.Ye=a.ue=a.Wc=a.A=0;Rb(a);Xb(a,1)} -function Xb(a,b,c){if(void 0!==b){0.8>a.da.qe/a.da.Ue&&(b=1);a.da.Rd=b;b=a.da.Ih*a.da.Rd;if(a.da.Ue!=b){a.da.Ue=b;b=a.da.Ue.toFixed(2)+"Mhz";var d=a.xa.setSpeed;d&&(d.textContent=b);a.Z("target speed: "+b)}c&&a.Oc()}Zb(a,a.ue);a.ue=0;a.da.Af=ma();a.da.Ve=0;$b(a)} -k.Ze=function(a){if(cb(this,!0)){if(!this.ma.nb){Xb(this);this.Ma&&this.Ma.start(this.da.Af,E(this));this.ma.nb=!0;this.ma.Mi=!0;this.oa&&ac(this.oa);var b=this.xa.run;b&&(b.textContent="Halt");this.rh(!0);a&&this.Oc()}this.da.aj>=this.da.ud&&$b(this,!0);this.da.wg=0;this.da.Jh=ma();this.da.Ve&&(a=this.da.Jh-this.da.Ve,a>this.da.al&&(this.da.Af+=a,this.da.Af>this.da.Jh&&(this.da.Af=this.da.Jh)));try{do{var c=this.ma.sf?1:this.da.po;if(this.oa){bc(this.oa);var d=this.oa;a=c;var e=d.Jb[0];if(e.Se){var f= -(E(d.T,d.me)-e.kd)/d.Sh|0,g=cc(d,0)-f;6==e.mode&&(g-=f);var h=g*d.Sh|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,n=this.oa;a=c;if(n.na&&n.na[11]&64){var m=n.If-E(n.T,n.me);0m&&(a=m)}c=a}this.Of(c);var t=this.Wc-this.A;this.ue+=t;this.da.wg+=t;Zb(this,0,!0);Vb(this,t);this.da.vg-=t;0>=this.da.vg&&(this.da.vg+=this.da.el,this.Bi());this.da.ug-=t;0>=this.da.ug&&(this.da.ug+=this.da.dl,this.rh());this.da.Ff-=t;if(0>=this.da.Ff){this.da.Ff+=this.da.$i;break}}while(this.ma.nb)}catch(s){this.qb();Ub(this); -this.Ma&&this.Ma.stop(ma(),E(this));cb(this,!1);fb(this,s.message);return}c=setTimeout;d=this.uo;this.da.Ve=ma();e=this.da.al;this.da.wg&&(e=Math.round(e*this.da.wg/this.da.$i));e-=this.da.Ve-this.da.Jh;if(f=this.da.Ve-this.da.Af)this.da.qe=Math.round(this.ue/(10*f))/100,864E5<=f&&(this.Ye=0,this.oa&&bc(this.oa,!0),Xb(this));if(0>e||this.da.qethis.sc?this.Ha+a:sc.call(this,0,0,c)}function sc(a,b,c){c||mc.call(this.T,13,0);return-4} -function uc(a,b,c){return a+b<=this.sc?this.Ha+a:vc.call(this,0,0,c)}function wc(a,b,c){return a+b>this.sc?this.Ha+a:vc.call(this,0,0,c)}function vc(a,b,c){c||mc.call(this.T,13,0);return-4} -function xc(a,b){var c=this.T,d=c.ib.Ha,e=this.fb,f=c.ib.ta;if(!b){if(768!=c.ib.type)return mc.call(c,10,a,!0),!1;c.Va(c.ib.Dd+4,c.ib.sb&-769|256)}if(-4==c.ib.load(a))return!1;var g=c.ib.Ha;if(b){if(768==c.ib.type)return mc.call(c,13,a,!0),!1;c.Va(c.ib.Dd+4,c.ib.sb|=768);c.ib.type=768}c.Va(d+14,c.wa);c.Va(d+16,yc(c));c.Va(d+18,c.H);c.Va(d+20,c.J);c.Va(d+22,c.K);c.Va(d+24,c.C);c.Va(d+26,c.Y);c.Va(d+28,c.I);c.Va(d+30,c.G);c.Va(d+32,c.F);c.Va(d+34,c.La.ta);c.Va(d+36,c.va.ta);c.Va(d+38,c.Ya.ta);c.Va(d+ -40,c.$a.ta);var d=38,h=26;zc(c,c.ra(g+16)|(b?16384:0));c.H=c.ra(g+18);c.J=c.ra(g+20);c.K=c.ra(g+22);c.C=c.ra(g+24);c.I=c.ra(g+28);c.G=c.ra(g+30);c.F=c.ra(g+32);c.La.load(c.ra(g+34));c.$a.load(c.ra(g+40));Ac(c,c.ra(g+14),c.ra(g+36));this.fb>13;if(6144<=h){y=c&3;if(y>a.fb){if(!1!==m&&!(v==a.fb||g&1024&&v<=a.fb)){n=-4;break}s=e.Pa();e.Ya.load(e.Pa());e.Y=s;a.Dh=!0}s=!1}else if(1024==h)s=!0,u=-1,t=c,yh||2048==(h&2560))){d||mc.call(e,13,c,!!g);n=-4;break}}else if(3==a.id){if(!m||4096>h||2048==(h&2560)){d|| -mc.call(e,13,c,!0);n=-4;break}}else if(4==a.id){if(!m||256!=h&&768!=h){d||mc.call(e,10,c,!0);n=-4;break}}else if(6==a.id&&!(g&4096)&&768>13}else a.load=hc,a.$k=nc,a.Kc=pc,a.Zb=qc,a.sc=65535,a.fb=a.rc=0,a.Dd=-4} -function Fc(a){this.Ka=a.model||8088;var b=0;switch(this.Ka){default:case 8088:b=4772727;break;case 80286:b=6E6}Nb.call(this,a,b);this.lk=61442;this.Ug=1792;this.Tg=4;this.Jf=255;this.B=80286<=this.Ka?Gc:Hc;this.ab=Ic.slice();this.Dm=Kc.slice();this.Em=Lc.slice();this.ok=Mc;80186<=this.Ka&&(this.Jf=31,this.ab[15]=Nc,this.ab[96]=Oc,this.ab[97]=Pc,this.ab[98]=Qc,this.ab[99]=Nc,this.ab[100]=Nc,this.ab[101]=Nc,this.ab[102]=Nc,this.ab[103]=Nc,this.ab[104]=Rc,this.ab[105]=Sc,this.ab[106]=Tc,this.ab[107]= -Uc,this.ab[108]=Vc,this.ab[109]=Wc,this.ab[110]=Xc,this.ab[111]=Yc,this.ab[192]=Zc,this.ab[193]=$c,this.ab[200]=ad,this.ab[201]=bd,this.ab[241]=cd,this.Dm[7]=dd,this.Em[7]=dd,80286<=this.Ka&&(this.lk=2,this.Ug|=28672,this.Tg=0,this.ab[15]=ed,this.ab[99]=fd,this.ab[84]=gd));this.Wg=[];this.Xg=[];this.Wc=this.dg=0;this.ma.lg=this.ma.Ik=!1;this.Ca=[];this.Fe=this.cb=this.Sa=this.Gd=0;this.U=this.$m;this.V=this.an;this.O=this.ho;this.P=this.io;this.R=this.yp;this.S=this.zp;hd(this)}Ua(Nb,Fc); -var Hc={Qj:4,ca:5,Aa:6,ha:7,ia:8,Q:9,W:11,X:12,We:4,gl:60,hl:83,ac:3,Fb:9,tc:16,Ph:1,ll:19,nl:28,pl:16,ol:21,ml:37,jl:2,jj:9,kl:5,il:33,lj:10,kj:8,Bg:3,Ag:15,Dl:51,El:1,Fl:2,Gl:4,Cl:32,mj:15,Il:15,bc:16,cc:4,Kl:11,Jl:18,Hl:24,Nb:4,Ll:2,nj:16,Ml:17,sj:18,Nl:19,rj:5,tj:6,Sl:2,Rl:8,Pl:9,Ql:10,Ol:10,uj:10,vj:10,rl:80,tl:144,ql:86,sl:154,vl:101,xl:165,ul:107,wl:171,Ul:70,Wl:113,Tl:76,Vl:124,zl:80,Bl:128,yl:86,Al:134,Dg:3,Cg:16,Aj:10,zj:8,Xl:51,uc:8,Yl:17,Zl:36,Ac:11,$l:16,Eg:10,te:2,gj:18,hj:7,ij:15,oj:12, -pj:7,qj:11,wj:18,xj:7,yj:15,Bj:15,Cj:7,Dj:13,Hj:11,Ij:7,Jj:8,am:8,dm:12,bm:18,cm:17,em:15,Fj:8,Ej:20,Gj:2,Mj:3,Fg:9,Lj:5,Kj:11,Oj:4,Nj:17,fm:11},Gc={Qj:0,ca:0,Aa:0,ha:0,ia:0,Q:0,W:1,X:1,We:3,gl:14,hl:16,ac:2,Fb:7,tc:7,Ph:0,ll:7,nl:13,pl:7,ol:11,ml:16,jl:3,jj:6,kl:2,il:13,lj:5,kj:5,Bg:2,Ag:7,Dl:23,El:0,Fl:1,Gl:3,Cl:17,mj:7,Il:11,bc:7,cc:3,Kl:7,Jl:11,Hl:15,Nb:2,Ll:3,nj:7,Ml:8,sj:8,Nl:8,rj:4,tj:4,Sl:2,Rl:3,Pl:5,Ql:2,Ol:3,uj:5,vj:3,rl:14,tl:22,ql:17,sl:25,vl:17,xl:25,ul:20,wl:28,Ul:13,Wl:21,Tl:16,Vl:24, -zl:13,Bl:21,yl:16,Al:24,Dg:2,Cg:7,Aj:5,zj:5,Xl:19,uc:5,Yl:5,Zl:17,Ac:3,$l:5,Eg:3,te:0,gj:8,hj:5,ij:9,oj:5,pj:5,qj:4,wj:5,xj:5,yj:4,Bj:7,Cj:5,Dj:8,Hj:3,Ij:4,Jj:3,am:11,dm:11,bm:15,cm:15,em:7,Fj:5,Ej:8,Gj:0,Mj:2,Fg:6,Lj:3,Kj:6,Oj:3,Nj:5,fm:5};k=Fc.prototype;k.Ui=function(a,b,c,d,e){this.Ca=a;this.Fe=b;this.cb=c;this.Sa=d;this.Gd=e};k.reset=function(){this.ma.nb&&this.qb();hd(this);Pb(this);this.ma.gd=!1}; -function hd(a){a.H=0;a.C=0;a.J=0;a.K=0;a.Y=0;a.I=0;a.G=0;a.F=0;a.gc=65520;a.Sc=0;a.Ee=1023;a.Hf=0;a.Oh=-1;a.va=new ec(a,fc,"CS");a.$a=new ec(a,2,"DS");a.La=new ec(a,2,"ES");a.Ya=new ec(a,3,"SS");a.tm=new ec(a,0,"NULL");Ac(a,0,65535);80286<=a.Ka&&(a.Gc=0,a.De=65535,a.Zc=new ec(a,5,"LDT",!0),a.ib=new ec(a,4,"TSS",!0),a.Sb=new ec(a,6,"VER",!0),Ac(a,65520,61440),a.va.Ha=16711680);zc(a,0);id(a);a.Ab=0;a.Ob=a.Mg=-1;a.gh=0;a.ja=a.Qa=-4;a.D=a.$a;a.N=a.Ya;a.ba=a.Ea=0} -k.Tk=function(){var a=this.H+this.C+this.J+this.K+this.Y+this.I+this.G+this.F|0;return a=a+this.wa+this.va.ta+this.$a.ta+this.Ya.ta+this.La.ta+yc(this)|0};function jd(a,b,c,d){void 0!==d&&(void 0===a.Wg[b]&&(a.Wg[b]=[]),a.Wg[b].push([c,d]))}function kd(a,b){var c=a.Wg[b];if(void 0!==c)for(var d=0;d>1?128:0}function Cd(a){return(a.la^a.qa^a.la>>1)&a.ea>>1?2048:0}function Dd(a){a.aa&=~a.ea}function Ed(a){a.qa=a.la&16|a.qa&-17}function Fd(a){a.aa|=a.ea-1}function Gd(a){Bd(a)&&(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)} -function Jd(a){a.la&=~a.ea;a.qa=a.la&32896|a.qa&-32897}function Kd(a){a.aa|=a.ea}function Ld(a){a.qa=~(a.la&16)&16|a.qa&-17}function Md(a){a.aa&=~(a.ea-1)}function Nd(a){Bd(a)||(a.la^=a.ea>>1|a.ea>>2,a.qa^=32896)}function Od(a){a.la|=a.ea;a.qa=a.la&32896|a.qa&-32897}function yc(a){return a.Ba&-2262|xd(a)|yd(a)|zd(a)|Ad(a)|Bd(a)|Cd(a)} -function zc(a,b,c){a.ea=256;a.aa=a.la=a.qa=0;b&1&&Kd(a);b&4||(a.la|=1);b&16&&(a.qa|=16);b&64||Fd(a);b&128&&Nd(a);b&2048&&Od(a);a.gc&1||(b&=-61441);void 0===c&&(c=a.va.fb);c?b=b&-12289|a.Ba&12288:a.Hf=(b&12288)>>12;c>a.Hf&&(b=b&-513|a.Ba&512);a.Ba=a.Ba&~a.Ug|b&a.Ug|a.lk;a.Ba&256&&(a.Ab|=2,a.ba|=4)} -k.Hb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.xa[b]=c;d=!0;break;default:d=Nb.prototype.Hb.call(this,a,b,c)}return d};k.ob=function(a){return this.Ca[(a&this.Fe)>>this.cb].fc(a&this.Sa)}; -k.ra=function(a){var b=a&this.Sa;a=(a&this.Fe)>>this.cb;this.A-=this.B.Qj;return b!=this.Sa?this.Ca[a].Vj(b):this.Ca[a++].fc(b)|this.Ca[a&this.Gd].fc(0)<<8};k.ld=function(a,b){this.Ca[(a&this.Fe)>>this.cb].mc(a&this.Sa,b&255)};k.Va=function(a,b){var c=a&this.Sa,d=(a&this.Fe)>>this.cb;this.A-=this.B.Qj;c!=this.Sa?this.Ca[d].fk(c,b&65535):(this.Ca[d++].mc(c,b&255),this.Ca[d&this.Gd].mc(0,b>>8&255))};k.$m=function(a,b){this.Qg=a;this.ja=a.Kc(this.Ig=b,0);return this.ba&1?0:this.ob(this.ja)}; -k.an=function(a,b){this.Qg=a;this.ja=a.Kc(this.Ig=b,1);return this.ba&1?0:this.ra(this.ja)};k.ho=function(a,b){this.Qg=a;this.Qa=this.ja=a.Kc(this.Ig=b,0);return this.ba&1?0:this.ob(this.ja)};k.io=function(a,b){this.Qg=a;this.Qa=this.ja=a.Kc(this.Ig=b,1);return this.ba&1?0:this.ra(this.ja)};k.yp=function(a){this.ba&2||this.ld(this.Qg.Zb(this.Ig,0),a)};k.zp=function(a){this.ba&2||this.Va(this.Qg.Zb(this.Ig,1),a)};k.fa=function(){var a=this.ob(this.Fa);this.Fa=this.va.Ha+(this.wa=this.wa+1&65535);return a}; -k.M=function(){var a=this.ob(this.Fa)<<24>>24;this.Fa=this.va.Ha+(this.wa=this.wa+1&65535);return a&65535};k.L=function(){var a=this.ra(this.Fa);this.Fa=this.va.Ha+(this.wa=this.wa+2&65535);return a};k.Pa=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.ra(this.Ya.Kc(a,1))};function H(a,b){var c=a.Y=a.Y-2&65535;a.Va(a.Ya.Zb(c,1),b)} -k.rh=function(a){if(a||!this.ma.nb||this.ma.Kk)F(this,"AX",this.H),F(this,"BX",this.C),F(this,"CX",this.J),F(this,"DX",this.K),F(this,"SP",this.Y),F(this,"BP",this.I),F(this,"SI",this.G),F(this,"DI",this.F),F(this,"CS",this.va.ta),F(this,"DS",this.$a.ta),F(this,"SS",this.Ya.ta),F(this,"ES",this.La.ta),F(this,"IP",this.wa),a=yc(this),F(this,"PS",a),F(this,"C",a&1?1:0,1),F(this,"P",a&4?1:0,1),F(this,"A",a&16?1:0,1),F(this,"Z",a&64?1:0,1),F(this,"S",a&128?1:0,1),F(this,"T",a&256?1:0,1),F(this,"I",a& -512?1:0,1),F(this,"D",a&1024?1:0,1),F(this,"V",a&2048?1:0,1);if(a=this.xa.speed)a.textContent=this.ma.nb&&this.da.qe?this.da.qe.toFixed(2)+"Mhz":"Stopped"}; -k.Of=function(a){this.ma.lg=!0;var b=this.ma.Ik=this.ka&&Pd(this.ka),c=this.ma.Mi||!a;this.ma.Mi=!1;this.Wc=this.A=a;this.oa&&!a&&bc(this.oa);a||this.ua(512)||(this.ba|=4);do{var d=this.ba&240;if(d)this.Ea|=d;else if(this.Jg=this.Fa,this.ja=this.Qa=-4,this.D=this.$a,this.N=this.Ya,this.Ea=this.ba&256,this.Ab){a:{if(!(this.ba&4))if(this.Ab&1&&this.Ba&512){if(d=Qd(this.oa),-1<=d&&(this.Ab&=-2,0<=d)){this.Ab&=-5;Rd.call(this,d,null,11);d=!0;break a}}else if(this.Ab&2){this.Ab&=-3;Rd.call(this,1,null, -11);d=!0;break a}if(d=this.Ab&8){for(var d=this.oa,e=!1,f=0;fthis.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return(this.aa=this.la=a+b)&255}function Vd(a,b){this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return(this.aa=this.la=this.qa=a|b)&255} -function Wd(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return this.aa&255}function Xd(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return this.aa&255}function Yd(a,b){this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return(this.aa=this.la=this.qa=a&b)&255} -function Zd(a,b){this.qa=a^b;this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return(this.aa=this.la=a-b)&255}function $d(a,b){this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return(this.aa=this.la=this.qa=a^b)&255}function ae(a,b){this.qa=a^b;this.ea=256;this.aa=this.la=a-b;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.jj:this.B.Fb;this.ba|=2;return a} -function be(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return(this.aa=this.la=a+b)&65535}function ce(a,b){this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return(this.aa=this.la=this.qa=a|b)&65535}function de(a,b){this.qa=a^b;this.aa=this.la=a+b+(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return this.aa&65535} -function ee(a,b){this.qa=a^b;this.aa=this.la=a-b-(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return this.aa&65535}function fe(a,b){this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return(this.aa=this.la=this.qa=a&b)&65535}function ge(a,b){this.qa=a^b;this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return(this.aa=this.la=a-b)&65535} -function he(a,b){this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.Fb:this.B.tc;return(this.aa=this.la=this.qa=a^b)&65535}function ie(a,b){this.qa=a^b;this.ea=65536;this.aa=this.la=a-b;this.A-=0>this.Qa?0>this.ja?this.B.ac:this.B.jj:this.B.Fb;this.ba|=2;return a}function je(a,b){this.aa=this.aa&this.ea-1|(a&b?this.ea:0);(a^a>>1)&b>>1?Od(this):Jd(this)}function ke(){this.A-=0>this.ja?2:this.B.em;return 1} -function le(){var a=this.J&this.Jf;this.A-=(0>this.ja?this.B.Fj:this.B.Ej)+(a<this.ja?this.B.Fj:this.B.Ej)+(a<this.Qa?this.B.uc:this.B.Yl;return b},oe,oe,oe,oe,oe,oe,oe],se=[function(a,b){this.A-=0>this.Qa?this.B.Ql:this.B.Ol;return b},J,J,J,J,J,J,J],te=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;je.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);je.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Jf)%9)?(d=a<< -d|(this.aa&this.ea?1:0)<>9-d,c=d&255):d=a|(this.aa&this.ea?1:0)<<8;je.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.Jf)%9,c=a>>c|(this.aa&this.ea?1:0)<<8-c|a<<9-c,je.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|256:this.aa&-257;this.qa=a^this.aa;this.ea=256;a=this.aa}return a&255},J,function(a,b){if(b){8< -b&&(b=9);var c=a<<24>>24>>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|256:this.aa&-257;this.qa=a^this.aa;this.ea=256;a=this.aa}return a&255}],ue=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;je.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);je.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Jf)%17)?(d=a<>17-d,c=d&65535):d=a|(this.aa&this.ea? -1:0)<<16;je.call(this,d,65536)}return c},function(a,b){var c=a;b&&(c=(b&this.Jf)%17,c=a>>c|(this.aa&this.ea?1:0)<<16-c|a<<17-c,je.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16>b-1;this.aa=this.la=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.qa=a^this.aa;this.ea=65536;a=this.aa}return a&65535},J,function(a,b){if(b){16>16>>b-1;this.aa= -this.la=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.qa=a^this.aa;this.ea=65536;a=this.aa}return a&65535}],we=[function(a,b){b=this.fa();this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.ja?this.B.Lj:this.B.Kj;this.ba|=2;return a},J,function(a){this.A-=0>this.ja?this.B.Dg:this.B.Cg;return a^255},function(a,b){b=0;this.qa=a^b;this.ea=256;this.A-=0>this.ja?this.B.Dg:this.B.Cg;return(this.aa=this.la=b-a)&255},function(a){this.H=this.Ob=(this.aa=(this.H&255)*a)&65535;this.qa=this.la=this.aa; -this.ea=256;this.H&65280?(Kd(this),Od(this)):(Dd(this),Jd(this));this.A-=0>this.ja?this.B.Ul:this.B.Tl;this.ba|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Ob=b&65535;this.aa=this.qa=this.la=b;this.ea=256;127b?(Kd(this),Od(this)):(Dd(this),Jd(this));this.A-=0>this.ja?this.B.zl:this.B.yl;this.ba|=2;return a},function(a){if(!a)return ve.call(this),a;var b=this.H/a;if(255this.ja?this.B.rl:this.B.ql;this.ba|=2;return a},function(a){if(!a)return ve.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return ve.call(this),a;this.Ob=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.la=this.qa=this.aa=b|256;this.ea=256;this.A-=0>this.ja?this.B.vl:this.B.ul;this.ba|=2;return a}],xe=[function(a,b){b=this.L();this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.ja?this.B.Lj:this.B.Kj;this.ba|=2;return a},J,function(a){this.A-= -0>this.ja?this.B.Dg:this.B.Cg;return a^65535},function(a,b){b=0;this.qa=a^b;this.ea=65536;this.A-=0>this.ja?this.B.Dg:this.B.Cg;return(this.aa=this.la=b-a)&65535},function(a){this.Ob=this.H=(this.aa=this.H*a)&65535;this.Mg=this.K=this.aa>>16&65535;this.qa=this.la=this.aa;this.ea=65536;this.K?(Kd(this),Od(this)):(Dd(this),Jd(this));this.A-=0>this.ja?this.B.Wl:this.B.Vl;this.ba|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Ob=b&65535;this.K=this.Mg=b>>16&65535;this.aa=this.qa= -this.la=b;this.ea=65536;32767b?(Kd(this),Od(this)):(Dd(this),Jd(this));this.A-=0>this.ja?this.B.Bl:this.B.Al;this.ba|=2;return a},function(a,b){if(!a)return ve.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return ve.call(this),a;this.Ob=this.H=c&65535;this.Mg=this.K=b%a&65535;this.la=this.qa=this.aa=c|65536;this.ea=65536;this.A-=0>this.ja?this.B.tl:this.B.sl;this.ba|=2;return a},function(a,b){if(!a)return ve.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d= -Math.floor(b/c);if(d!=(d&65535)<<16>>16)return ve.call(this),a;this.Ob=this.H=d&65535;this.Mg=this.K=b%c&65535;this.la=this.qa=this.aa=d|65536;this.ea=65536;this.A-=0>this.ja?this.B.xl:this.B.wl;this.ba|=2;return a}],Kc=[function(a){this.qa=a;a=(this.la=a+1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.Bg:this.B.Ag;return a},function(a){this.qa=a;a=(this.la=a-1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.Bg:this.B.Ag;return a},J,J,J, -J,J,J],Lc=[function(a){this.qa=a;a=(this.la=a+1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.Bg:this.B.Ag;return a},function(a){this.qa=a;a=(this.la=a-1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.Bg:this.B.Ag;return a},function(a){H(this,this.wa);I(this,a);this.A-=0>this.ja?this.B.pl:this.B.ol;this.ba|=2;return a},function(a){if(0>this.ja)return J.call(this,a);ye.call(this,a,this.ra(this.ja+2));this.A-=this.B.ml;this.ba|= -2;return a},function(a){I(this,a);this.A-=0>this.ja?this.B.Kl:this.B.Jl;this.ba|=2;return a},function(a){if(0>this.ja)return J.call(this,a);Ac(this,a,this.ra(this.ja+2));this.dg&&od(this,this.Fa);this.A-=this.B.Hl;this.ba|=2;return a},function(a){var b=a;this.ba&512&&(a=a-2&65535,80286>this.Ka&&(b=a));H(this,b);this.A-=0>this.ja?this.B.Ac:this.B.$l;this.ba|=2;return a},oe];function ze(a,b){this.A-=0>this.Qa?0>this.ja?this.B.Sl:this.B.Rl:this.B.Pl;return b} -function Ae(){return ze.call(this,0,this.Ob)}function Be(a,b){this.aa=this.la=this.qa=a&b;this.ea=256;this.A-=0>this.Qa?0>this.ja?this.B.Mj:this.B.Fg:this.B.Fg;this.ba|=2;return a}function Ce(a,b){this.aa=this.la=this.qa=a&b;this.ea=65536;this.A-=0>this.Qa?0>this.ja?this.B.Mj:this.B.Fg:this.B.Fg;this.ba|=2;return a} -function De(a,b){var c=(b<<16>>16)*(this.fa()<<24>>24);this.aa=this.qa=this.la=c;this.ea=256;32767c?(Kd(this),Od(this)):(Dd(this),Jd(this));this.A-=0>this.ja?21:24;return c&65535}function Ee(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.aa=this.qa=this.la=c;this.ea=65536;32767c?(Kd(this),Od(this)):(Dd(this),Jd(this));this.A-=0>this.ja?21:24;return c&65535}function Fe(a){return a}function Ge(a){if(0>this.ja)return L.call(this),a;this.A-=this.B.Ll;return this.ja} -function He(a,b){if(0>this.ja)return L.call(this),a;td(this,this.ra(this.ja+2));this.A-=this.B.nj;return b}function Ie(a,b){if(0>this.ja)return L.call(this),a;vd(this,this.ra(this.ja+2));this.A-=this.B.nj;return b}function Je(a){if(0>this.ja)return Nc.call(this),a;var b=a<<16>>16,c=this.ra(this.ja)<<16>>16,d=this.ra(this.ja+2)<<16>>16;this.A-=this.B.il;if(bd)I(this,this.Jg-this.va.Ha),Rd.call(this,5,null,0);this.ba|=2;return a} -function Ke(a,b){this.A-=10+(0>this.ja?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Md(this),a;Fd(this);return a}function Le(a,b){this.A-=14+(0>this.ja?0:2);if(-4!=this.Sb.load(b,!0)&&this.Sb.rc>=this.va.fb&&this.Sb.rc>=(b&3))return Md(this),this.Sb.sb&65280;Fd(this);return a}function Me(a,b){this.A-=14+(0>this.ja?0:2);if(b&65528&&-4!=this.Sb.load(b,!0)&&(7168==(this.Sb.sb&7168)||this.Sb.rc>=this.va.fb)&&this.Sb.rc>=(b&3))return Md(this),this.Sb.sc;Fd(this);return a} -function Ne(a,b){if(0>this.ja){switch(this.gh&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Oj}else this.Qa=this.ja,this.R(a),this.A-=this.B.Nj;return b} -function Oe(a,b){if(0>this.ja){switch(this.gh&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.Y=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.Oj}else this.Qa=this.ja,this.S(a),this.A-=this.B.Nj;return b}function Pe(a){a|=this.gc&1;this.gc=this.gc&65520|a&-65521;this.gc&1&&id(this,!0)}function ye(a,b){var c=this.va.ta,d=this.wa;null!=Ac(this,a,b,!0)&&(H(this,c),H(this,d))} -function Qe(a){var b=this.Pa(),c=this.Pa();a&&(this.Y=this.Y+a&65535);Ac(this,b,c,!1)&&(a&&(this.Y=this.Y+a&65535),this.$a.ta&65528&&this.$a.rcthis.Oh)I(this,this.Jg-this.va.Ha),d=!0;else if(8!=this.Oh)b=0,a=8,d=!0;else{Re.call(this,-1,0,c);hd(this);return}Re.call(this,a,b,c)&&(d=!1);d&&Rd.call(this,this.Oh=a,b,0);this.ba&=-4}else this.gb("Fault "+q(a)+" blocked by Debugger",536870912),I(this,this.Jg-this.va.Ha)} -function Re(a,b,c){var d=32,e=qb(this.sa,this.Fa);204==e&&(c=!1,d|=1);983040<=this.Fa&&1048575>=this.Fa&&(c=!1);this.ua(d|1073741824)&&(c=!0);if(this.ua(d)||c)a=(c?"\n":"")+"Fault "+q(a)+(null!=b?" ("+r(b)+")":"")+" on opcode 0x"+q(e)+" at "+da(this.wa,this.va.ta)+" (%"+p(this.Fa,6)+")",b=this.ma.nb,this.gb(a,d)?c&&(c=b,this.ka.qb()):(this.Ia(a),this.qb());return c}function Nc(){mc.call(this,6);this.qb()} -function L(){I(this,this.Jg-this.va.Ha);fb(this,"Undefined opcode 0x"+q(qb(this.sa,this.Fa))+" at "+da(this.wa,this.va.ta));this.qb()}function Ve(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function We(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function Xe(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function Ye(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function Ze(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a} -function $e(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a}function af(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function bf(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function cf(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function df(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function ef(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a} -function ff(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a}function gf(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function hf(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function jf(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function kf(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function lf(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a} -function mf(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a}function nf(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function of(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}function pf(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function qf(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a}function rf(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a} -function sf(a){a=a.call(this,this.K&255,this.C>>8);this.K=this.K&-256|a}function tf(a){a=a.call(this,this.C&255,this.H&255);this.C=this.C&-256|a}function uf(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a}function vf(a){a=a.call(this,this.C&255,this.K&255);this.C=this.C&-256|a}function wf(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a}function xf(a){a=a.call(this,this.C&255,this.H>>8);this.C=this.C&-256|a} -function yf(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a}function zf(a){a=a.call(this,this.C&255,this.K>>8);this.C=this.C&-256|a}function Af(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a}function Bf(a){a=a.call(this,this.H>>8,this.H&255);this.H=this.H&255|a<<8}function Cf(a){a=a.call(this,this.H>>8,this.J&255);this.H=this.H&255|a<<8}function Df(a){a=a.call(this,this.H>>8,this.K&255);this.H=this.H&255|a<<8} -function Ef(a){a=a.call(this,this.H>>8,this.C&255);this.H=this.H&255|a<<8}function Ff(a){a=a.call(this,this.H>>8,this.H>>8);this.H=this.H&255|a<<8}function Gf(a){a=a.call(this,this.H>>8,this.J>>8);this.H=this.H&255|a<<8}function Hf(a){a=a.call(this,this.H>>8,this.K>>8);this.H=this.H&255|a<<8}function If(a){a=a.call(this,this.H>>8,this.C>>8);this.H=this.H&255|a<<8}function Jf(a){a=a.call(this,this.J>>8,this.H&255);this.J=this.J&255|a<<8} -function Kf(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8}function Lf(a){a=a.call(this,this.J>>8,this.K&255);this.J=this.J&255|a<<8}function Mf(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8}function Nf(a){a=a.call(this,this.J>>8,this.H>>8);this.J=this.J&255|a<<8}function Of(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function Pf(a){a=a.call(this,this.J>>8,this.K>>8);this.J=this.J&255|a<<8} -function Qf(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8}function Rf(a){a=a.call(this,this.K>>8,this.H&255);this.K=this.K&255|a<<8}function Sf(a){a=a.call(this,this.K>>8,this.J&255);this.K=this.K&255|a<<8}function Tf(a){a=a.call(this,this.K>>8,this.K&255);this.K=this.K&255|a<<8}function Uf(a){a=a.call(this,this.K>>8,this.C&255);this.K=this.K&255|a<<8}function Vf(a){a=a.call(this,this.K>>8,this.H>>8);this.K=this.K&255|a<<8} -function Wf(a){a=a.call(this,this.K>>8,this.J>>8);this.K=this.K&255|a<<8}function Xf(a){a=a.call(this,this.K>>8,this.K>>8);this.K=this.K&255|a<<8}function Yf(a){a=a.call(this,this.K>>8,this.C>>8);this.K=this.K&255|a<<8}function Zf(a){a=a.call(this,this.C>>8,this.H&255);this.C=this.C&255|a<<8}function $f(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8}function ag(a){a=a.call(this,this.C>>8,this.K&255);this.C=this.C&255|a<<8} -function bg(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8}function cg(a){a=a.call(this,this.C>>8,this.H>>8);this.C=this.C&255|a<<8}function dg(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8}function eg(a){a=a.call(this,this.C>>8,this.K>>8);this.C=this.C&255|a<<8}function fg(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}function gg(a){this.H=a.call(this,this.H,this.H)}function hg(a){this.H=a.call(this,this.H,this.J)} -function ig(a){this.H=a.call(this,this.H,this.K)}function jg(a){this.H=a.call(this,this.H,this.C)}function kg(a){this.H=a.call(this,this.H,this.Y)}function lg(a){this.H=a.call(this,this.H,this.I)}function mg(a){this.H=a.call(this,this.H,this.G)}function ng(a){this.H=a.call(this,this.H,this.F)}function og(a){this.J=a.call(this,this.J,this.H)}function pg(a){this.J=a.call(this,this.J,this.J)}function qg(a){this.J=a.call(this,this.J,this.K)}function rg(a){this.J=a.call(this,this.J,this.C)} -function sg(a){this.J=a.call(this,this.J,this.Y)}function tg(a){this.J=a.call(this,this.J,this.I)}function ug(a){this.J=a.call(this,this.J,this.G)}function vg(a){this.J=a.call(this,this.J,this.F)}function wg(a){this.K=a.call(this,this.K,this.H)}function xg(a){this.K=a.call(this,this.K,this.J)}function yg(a){this.K=a.call(this,this.K,this.K)}function zg(a){this.K=a.call(this,this.K,this.C)}function Ag(a){this.K=a.call(this,this.K,this.Y)}function Bg(a){this.K=a.call(this,this.K,this.I)} -function Cg(a){this.K=a.call(this,this.K,this.G)}function Dg(a){this.K=a.call(this,this.K,this.F)}function Eg(a){this.C=a.call(this,this.C,this.H)}function Fg(a){this.C=a.call(this,this.C,this.J)}function Gg(a){this.C=a.call(this,this.C,this.K)}function Hg(a){this.C=a.call(this,this.C,this.C)}function Ig(a){this.C=a.call(this,this.C,this.Y)}function Jg(a){this.C=a.call(this,this.C,this.I)}function Kg(a){this.C=a.call(this,this.C,this.G)}function Lg(a){this.C=a.call(this,this.C,this.F)} -function Mg(a){this.Y=a.call(this,this.Y,this.H)}function Ng(a){this.Y=a.call(this,this.Y,this.J)}function Og(a){this.Y=a.call(this,this.Y,this.K)}function Pg(a){this.Y=a.call(this,this.Y,this.C)}function Qg(a){this.Y=a.call(this,this.Y,this.Y)}function Rg(a){this.Y=a.call(this,this.Y,this.I)}function Sg(a){this.Y=a.call(this,this.Y,this.G)}function Tg(a){this.Y=a.call(this,this.Y,this.F)}function Ug(a){this.I=a.call(this,this.I,this.H)}function Vg(a){this.I=a.call(this,this.I,this.J)} -function Wg(a){this.I=a.call(this,this.I,this.K)}function Xg(a){this.I=a.call(this,this.I,this.C)}function Yg(a){this.I=a.call(this,this.I,this.Y)}function Zg(a){this.I=a.call(this,this.I,this.I)}function $g(a){this.I=a.call(this,this.I,this.G)}function ah(a){this.I=a.call(this,this.I,this.F)}function bh(a){this.G=a.call(this,this.G,this.H)}function ch(a){this.G=a.call(this,this.G,this.J)}function dh(a){this.G=a.call(this,this.G,this.K)}function eh(a){this.G=a.call(this,this.G,this.C)} -function fh(a){this.G=a.call(this,this.G,this.Y)}function gh(a){this.G=a.call(this,this.G,this.I)}function hh(a){this.G=a.call(this,this.G,this.G)}function ih(a){this.G=a.call(this,this.G,this.F)}function jh(a){this.F=a.call(this,this.F,this.H)}function kh(a){this.F=a.call(this,this.F,this.J)}function lh(a){this.F=a.call(this,this.F,this.K)}function mh(a){this.F=a.call(this,this.F,this.C)}function nh(a){this.F=a.call(this,this.F,this.Y)}function oh(a){this.F=a.call(this,this.F,this.I)} -function ph(a){this.F=a.call(this,this.F,this.G)}function qh(a){this.F=a.call(this,this.F,this.F)} -var rh=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.ca}, -function(a){a=a.call(this,this.O(this.D,this.F),this.H&255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.L()),this.H&255);this.R(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.O(this.D,this.C),this.H&255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N, -this.I+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.J&255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.F),this.J&255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.L()),this.J&255);this.R(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.O(this.D,this.C),this.J&255);this.R(a); -this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.K&255);this.R(a);this.A-= -this.B.ca},function(a){a=a.call(this,this.O(this.D,this.F),this.K&255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.L()),this.K&255);this.R(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.O(this.D,this.C),this.K&255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.C&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.C&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this, -this.O(this.N,this.I+this.G&65535),this.C&255);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.C&255);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.C&255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.F),this.C&255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.L()),this.C&255);this.R(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.O(this.D,this.C),this.C& -255);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.H>>8);this.R(a); -this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.F),this.H>>8);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.L()),this.H>>8);this.R(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.O(this.D,this.C),this.H>>8);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J>>8);this.R(a);this.A-=this.B.ia},function(a){a= -a.call(this,this.O(this.N,this.I+this.G&65535),this.J>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.J>>8);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.F),this.J>>8);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.L()),this.J>>8);this.R(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.O(this.D,this.C), -this.J>>8);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.K>>8); -this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.F),this.K>>8);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.L()),this.K>>8);this.R(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.O(this.D,this.C),this.K>>8);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.C>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.C>>8);this.R(a);this.A-=this.B.ia},function(a){a= -a.call(this,this.O(this.N,this.I+this.G&65535),this.C>>8);this.R(a);this.A-=this.B.ia},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.C>>8);this.R(a);this.A-=this.B.ha},function(a){a=a.call(this,this.O(this.D,this.G),this.C>>8);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.F),this.C>>8);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.L()),this.C>>8);this.R(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.O(this.D,this.C), -this.C>>8);this.R(a);this.A-=this.B.ca},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this, -this.O(this.D,this.G+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.W},function(a){a= -a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.J&255);this.R(a); -this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()& -65535),this.K&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D, -this.C+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.W}, -function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.H>>8);this.R(a); -this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.H>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.H>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.H>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()& -65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N, -this.I+this.G+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this, -this.O(this.D,this.C+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.K>>8);this.R(a);this.A-= -this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.C>>8);this.R(a); -this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.C>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.C>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()& -65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N, -this.I+this.G+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a= -a.call(this,this.O(this.D,this.C+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.J&255); -this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()& -65535),this.K&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this, -this.O(this.D,this.F+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.X}, -function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C&255); -this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+ -this.F+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D, -this.C+this.G+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a= -a.call(this,this.O(this.D,this.F+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.X}, -function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.K>>8);this.R(a); -this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.X},function(a){a=a.call(this,this.O(this.N,this.I+this.F+ -this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},Ve,cf,lf,tf,Bf,Jf,Rf,Zf,We,df,mf,uf,Cf, -Kf,Sf,$f,Xe,ef,nf,vf,Df,Lf,Tf,ag,Ye,ff,of,wf,Ef,Mf,Uf,bg,Ze,gf,pf,xf,Ff,Nf,Vf,cg,$e,hf,qf,yf,Gf,Of,Wf,dg,af,jf,rf,zf,Hf,Pf,Xf,eg,bf,kf,sf,Af,If,Qf,Yf,fg],sh=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F& -65535),this.H);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.H);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F),this.H);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.L()),this.H);this.S(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.P(this.D,this.C),this.H);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.J);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this, -this.P(this.D,this.C+this.F&65535),this.J);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.J);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.J);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.J);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F),this.J);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.L()),this.J);this.S(a); -this.A-=this.B.Aa},function(a){a=a.call(this,this.P(this.D,this.C),this.J);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.K);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.K);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.K);this.S(a);this.A-=this.B.ha},function(a){a= -a.call(this,this.P(this.D,this.G),this.K);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F),this.K);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.L()),this.K);this.S(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.P(this.D,this.C),this.K);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.C);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.C);this.S(a); -this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.C);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.C);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.C);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F),this.C);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.L()),this.C);this.S(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.P(this.D, -this.C),this.C);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.Y);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.Y);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.Y);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.Y);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.Y);this.S(a); -this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F),this.Y);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.L()),this.Y);this.S(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.P(this.D,this.C),this.Y);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.I);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.I);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N, -this.I+this.G&65535),this.I);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.I);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.I);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F),this.I);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.L()),this.I);this.S(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.P(this.D,this.C),this.I);this.S(a);this.A-=this.B.ca},function(a){a= -a.call(this,this.P(this.D,this.C+this.G&65535),this.G);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.G);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.G);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.G);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.G);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D, -this.F),this.G);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.L()),this.G);this.S(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.P(this.D,this.C),this.G);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.F);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.F);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.F);this.S(a);this.A-=this.B.ia}, -function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.F);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G),this.F);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F),this.F);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.L()),this.F);this.S(a);this.A-=this.B.Aa},function(a){a=a.call(this,this.P(this.D,this.C),this.F);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()& -65535),this.H);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.H);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.H);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.H);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+ -this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.J);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.J);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N, -this.I+this.G+this.M()&65535),this.J);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.J);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D, -this.C+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.K);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.K);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.K);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.K);this.S(a);this.A-=this.B.W},function(a){a=a.call(this, -this.P(this.D,this.G+this.M()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.C);this.S(a);this.A-=this.B.W},function(a){a=a.call(this, -this.P(this.D,this.C+this.F+this.M()&65535),this.C);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.C);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.C);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a= -a.call(this,this.P(this.N,this.I+this.M()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.Y);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.Y);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.Y);this.S(a);this.A-=this.B.X}, -function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.Y);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.Y);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.Y);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.Y);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.Y);this.S(a);this.A-=this.B.Q}, -function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.I);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.I);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.I);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.I);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.I);this.S(a); -this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.G);this.S(a); -this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.G);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.G);this.S(a); -this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.F);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.F);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535), -this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535), -this.H);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.H);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.H);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.H);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()& -65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.J);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.J);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+ -this.L()&65535),this.J);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.J);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+ -this.L()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.K);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.K);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.K);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.K);this.S(a);this.A-=this.B.W},function(a){a=a.call(this, -this.P(this.D,this.G+this.L()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.C);this.S(a);this.A-=this.B.W},function(a){a=a.call(this, -this.P(this.D,this.C+this.F+this.L()&65535),this.C);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.C);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.C);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a= -a.call(this,this.P(this.N,this.I+this.L()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.Y);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.Y);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.Y);this.S(a);this.A-=this.B.X}, -function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.Y);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.Y);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.Y);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.Y);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.Y);this.S(a);this.A-=this.B.Q}, -function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.I);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.I);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.I);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.I);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.I);this.S(a); -this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.G);this.S(a); -this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.G);this.S(a); -this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.X},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535), -this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},gg,og,wg,Eg,Mg,Ug,bh,jh,hg,pg,xg,Fg,Ng,Vg,ch,kh,ig,qg,yg,Gg,Og,Wg,dh, -lh,jg,rg,zg,Hg,Pg,Xg,eh,mh,kg,sg,Ag,Ig,Qg,Yg,fh,nh,lg,tg,Bg,Jg,Rg,Zg,gh,oh,mg,ug,Cg,Kg,Sg,$g,hh,ph,ng,vg,Dg,Lg,Tg,ah,ih,qh],th=[function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255, -this.U(this.N,this.I+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&255,this.U(this.D,this.G));this.H=this.H&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.H&255,this.U(this.D,this.F));this.H=this.H&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.H&255,this.U(this.D,this.L()));this.H=this.H&-256|a;this.A-=this.B.Aa},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C));this.H=this.H&-256|a;this.A-=this.B.ca},function(a){a=a.call(this, -this.J&255,this.U(this.D,this.C+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.J&255,this.U(this.D,this.G));this.J=this.J&-256| -a;this.A-=this.B.ca},function(a){a=a.call(this,this.J&255,this.U(this.D,this.F));this.J=this.J&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.J&255,this.U(this.D,this.L()));this.J=this.J&-256|a;this.A-=this.B.Aa},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C));this.J=this.J&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.F& -65535));this.K=this.K&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.K&255,this.U(this.N,this.I+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.K&255,this.U(this.N,this.I+this.F&65535));this.K=this.K&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.K&255,this.U(this.D,this.G));this.K=this.K&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.K&255,this.U(this.D,this.F));this.K=this.K&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.K& -255,this.U(this.D,this.L()));this.K=this.K&-256|a;this.A-=this.B.Aa},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C));this.K=this.K&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C+this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.C&255,this.U(this.N,this.I+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.ia}, -function(a){a=a.call(this,this.C&255,this.U(this.N,this.I+this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.C&255,this.U(this.D,this.G));this.C=this.C&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.C&255,this.U(this.D,this.F));this.C=this.C&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.C&255,this.U(this.D,this.L()));this.C=this.C&-256|a;this.A-=this.B.Aa},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C));this.C=this.C&-256|a;this.A-= -this.B.ca},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C+this.G&65535));this.H=this.H&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C+this.F&65535));this.H=this.H&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.H>>8,this.U(this.N,this.I+this.G&65535));this.H=this.H&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.H>>8,this.U(this.N,this.I+this.F&65535));this.H=this.H&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.H>> -8,this.U(this.D,this.G));this.H=this.H&255|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.F));this.H=this.H&255|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.L()));this.H=this.H&255|a<<8;this.A-=this.B.Aa},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C));this.H=this.H&255|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.C+this.G&65535));this.J=this.J&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this, -this.J>>8,this.U(this.D,this.C+this.F&65535));this.J=this.J&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.J>>8,this.U(this.N,this.I+this.G&65535));this.J=this.J&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.J>>8,this.U(this.N,this.I+this.F&65535));this.J=this.J&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.G));this.J=this.J&255|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.F));this.J=this.J&255|a<<8;this.A-= -this.B.ca},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.L()));this.J=this.J&255|a<<8;this.A-=this.B.Aa},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.C));this.J=this.J&255|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.G&65535));this.K=this.K&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.F&65535));this.K=this.K&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.G& -65535));this.K=this.K&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.F&65535));this.K=this.K&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.G));this.K=this.K&255|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.F));this.K=this.K&255|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.L()));this.K=this.K&255|a<<8;this.A-=this.B.Aa},function(a){a=a.call(this,this.K>> -8,this.U(this.D,this.C));this.K=this.K&255|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.G&65535));this.C=this.C&255|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.F&65535));this.C=this.C&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.G&65535));this.C=this.C&255|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.F&65535));this.C=this.C&255|a<< -8;this.A-=this.B.ha},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.G));this.C=this.C&255|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.F));this.C=this.C&255|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.L()));this.C=this.C&255|a<<8;this.A-=this.B.Aa},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C));this.C=this.C&255|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.G+this.M()& -65535));this.H=this.H&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.G+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.H&255,this.U(this.D,this.G+this.M()&65535));this.H=this.H&-256| -a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.U(this.D,this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C+this.G+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.W},function(a){a=a.call(this, -this.J&255,this.U(this.D,this.C+this.F+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.G+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.F+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.J&255,this.U(this.D,this.G+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.U(this.D, -this.F+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.G+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.F+this.M()&65535));this.K= -this.K&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.K&255,this.U(this.N,this.I+this.G+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.K&255,this.U(this.N,this.I+this.F+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.K&255,this.U(this.D,this.G+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.K&255,this.U(this.D,this.F+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Q}, -function(a){a=a.call(this,this.K&255,this.U(this.N,this.I+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C+this.G+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C+this.F+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.C& -255,this.U(this.N,this.I+this.G+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.C&255,this.U(this.N,this.I+this.F+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.C&255,this.U(this.D,this.G+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.U(this.D,this.F+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.U(this.N,this.I+this.M()& -65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C+this.G+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C+this.F+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.H>>8,this.U(this.N,this.I+this.G+this.M()&65535));this.H=this.H&255| -a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.H>>8,this.U(this.N,this.I+this.F+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.G+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.F+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.H>>8,this.U(this.N,this.I+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a= -a.call(this,this.H>>8,this.U(this.D,this.C+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.C+this.G+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.C+this.F+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.J>>8,this.U(this.N,this.I+this.G+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.J>> -8,this.U(this.N,this.I+this.F+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.G+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.F+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.U(this.N,this.I+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.C+this.M()&65535)); -this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.G+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.F+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.G+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.F+this.M()&65535));this.K=this.K& -255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.G+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.F+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a= -a.call(this,this.C>>8,this.U(this.D,this.C+this.G+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.F+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.G+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.F+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>> -8,this.U(this.D,this.G+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.F+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.G+this.L()&65535)); -this.H=this.H&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.F+this.L()&65535));this.H=this.H&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.G+this.L()&65535));this.H=this.H&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.F+this.L()&65535));this.H=this.H&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.H&255,this.U(this.D,this.G+this.L()&65535));this.H=this.H&-256|a;this.A-= -this.B.Q},function(a){a=a.call(this,this.H&255,this.U(this.D,this.F+this.L()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.U(this.N,this.I+this.L()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.U(this.D,this.C+this.L()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C+this.G+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.J& -255,this.U(this.D,this.C+this.F+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.G+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.F+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.J&255,this.U(this.D,this.G+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.U(this.D,this.F+ -this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.U(this.N,this.I+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.U(this.D,this.C+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.G+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.F+this.L()&65535));this.K=this.K& --256|a;this.A-=this.B.X},function(a){a=a.call(this,this.K&255,this.U(this.N,this.I+this.G+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.K&255,this.U(this.N,this.I+this.F+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.K&255,this.U(this.D,this.G+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.K&255,this.U(this.D,this.F+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a= -a.call(this,this.K&255,this.U(this.N,this.I+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.K&255,this.U(this.D,this.C+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C+this.G+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C+this.F+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.C&255,this.U(this.N, -this.I+this.G+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.X},function(a){a=a.call(this,this.C&255,this.U(this.N,this.I+this.F+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.C&255,this.U(this.D,this.G+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.U(this.D,this.F+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.U(this.N,this.I+this.L()&65535));this.C= -this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.U(this.D,this.C+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C+this.G+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.C+this.F+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.H>>8,this.U(this.N,this.I+this.G+this.L()&65535));this.H=this.H&255|a<<8;this.A-= -this.B.X},function(a){a=a.call(this,this.H>>8,this.U(this.N,this.I+this.F+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.G+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.H>>8,this.U(this.D,this.F+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.H>>8,this.U(this.N,this.I+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this, -this.H>>8,this.U(this.D,this.C+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.C+this.G+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.C+this.F+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.J>>8,this.U(this.N,this.I+this.G+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.J>>8,this.U(this.N, -this.I+this.F+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.G+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.F+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.U(this.N,this.I+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.U(this.D,this.C+this.L()&65535));this.J=this.J& -255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-= -this.B.W},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.N,this.I+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.U(this.D,this.C+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>> -8,this.U(this.D,this.C+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.X},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.U(this.D, -this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.N,this.I+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.U(this.D,this.C+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},Ve,We,Xe,Ye,Ze,$e,af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf, -Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg],M=[function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.H=a.call(this, -this.H,this.V(this.D,this.G));this.A-=this.B.ca},function(a){this.H=a.call(this,this.H,this.V(this.D,this.F));this.A-=this.B.ca},function(a){this.H=a.call(this,this.H,this.V(this.D,this.L()));this.A-=this.B.Aa},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C));this.A-=this.B.ca},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.J=a.call(this, -this.J,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.J=a.call(this,this.J,this.V(this.D,this.G));this.A-=this.B.ca},function(a){this.J=a.call(this,this.J,this.V(this.D,this.F));this.A-=this.B.ca},function(a){this.J=a.call(this,this.J,this.V(this.D,this.L()));this.A-=this.B.Aa},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C));this.A-=this.B.ca},function(a){this.K=a.call(this, -this.K,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.K=a.call(this,this.K,this.V(this.D,this.G));this.A-=this.B.ca},function(a){this.K=a.call(this,this.K,this.V(this.D,this.F));this.A-=this.B.ca}, -function(a){this.K=a.call(this,this.K,this.V(this.D,this.L()));this.A-=this.B.Aa},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C));this.A-=this.B.ca},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.C=a.call(this,this.C,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.C=a.call(this,this.C,this.V(this.N,this.I+this.F& -65535));this.A-=this.B.ha},function(a){this.C=a.call(this,this.C,this.V(this.D,this.G));this.A-=this.B.ca},function(a){this.C=a.call(this,this.C,this.V(this.D,this.F));this.A-=this.B.ca},function(a){this.C=a.call(this,this.C,this.V(this.D,this.L()));this.A-=this.B.Aa},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C));this.A-=this.B.ca},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.C+ -this.F&65535));this.A-=this.B.ia},function(a){this.Y=a.call(this,this.Y,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.Y=a.call(this,this.Y,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.G));this.A-=this.B.ca},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.F));this.A-=this.B.ca},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.L()));this.A-=this.B.Aa},function(a){this.Y=a.call(this,this.Y,this.V(this.D, -this.C));this.A-=this.B.ca},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.I=a.call(this,this.I,this.V(this.D,this.G));this.A-=this.B.ca},function(a){this.I=a.call(this, -this.I,this.V(this.D,this.F));this.A-=this.B.ca},function(a){this.I=a.call(this,this.I,this.V(this.D,this.L()));this.A-=this.B.Aa},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C));this.A-=this.B.ca},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.G= -a.call(this,this.G,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.G=a.call(this,this.G,this.V(this.D,this.G));this.A-=this.B.ca},function(a){this.G=a.call(this,this.G,this.V(this.D,this.F));this.A-=this.B.ca},function(a){this.G=a.call(this,this.G,this.V(this.D,this.L()));this.A-=this.B.Aa},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C));this.A-=this.B.ca},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.G&65535));this.A-=this.B.ha},function(a){this.F= -a.call(this,this.F,this.V(this.D,this.C+this.F&65535));this.A-=this.B.ia},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.G&65535));this.A-=this.B.ia},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.F&65535));this.A-=this.B.ha},function(a){this.F=a.call(this,this.F,this.V(this.D,this.G));this.A-=this.B.ca},function(a){this.F=a.call(this,this.F,this.V(this.D,this.F));this.A-=this.B.ca},function(a){this.F=a.call(this,this.F,this.V(this.D,this.L()));this.A-=this.B.Aa}, -function(a){this.F=a.call(this,this.F,this.V(this.D,this.C));this.A-=this.B.ca},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.X},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.X},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.H= -a.call(this,this.H,this.V(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.V(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.J=a.call(this,this.J,this.V(this.D, -this.C+this.F+this.M()&65535));this.A-=this.B.X},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.X},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.J=a.call(this,this.J,this.V(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.V(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.M()& -65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.X},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.X},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.F+this.M()&65535)); -this.A-=this.B.W},function(a){this.K=a.call(this,this.K,this.V(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.V(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.C= -a.call(this,this.C,this.V(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.X},function(a){this.C=a.call(this,this.C,this.V(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.X},function(a){this.C=a.call(this,this.C,this.V(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.C=a.call(this,this.C,this.V(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.C=a.call(this,this.C,this.V(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.C=a.call(this, -this.C,this.V(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.X},function(a){this.Y=a.call(this,this.Y,this.V(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.X},function(a){this.Y=a.call(this,this.Y,this.V(this.N, -this.I+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.Y=a.call(this,this.Y,this.V(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.G+this.M()&65535)); -this.A-=this.B.W},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.X},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.X},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.I=a.call(this,this.I,this.V(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.D,this.F+this.M()&65535));this.A-=this.B.Q}, -function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.X},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.X},function(a){this.G= -a.call(this,this.G,this.V(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.V(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D, -this.C+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.X},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.X},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.V(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.F+ -this.M()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.X},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.G+this.L()&65535)); -this.A-=this.B.X},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.H=a.call(this,this.H,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.J= -a.call(this,this.J,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.X},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.J=a.call(this,this.J,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this, -this.J,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.X},function(a){this.K=a.call(this,this.K,this.V(this.N, -this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.K=a.call(this,this.K,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.V(this.D,this.C+this.L()&65535)); -this.A-=this.B.Q},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.X},function(a){this.C=a.call(this,this.C,this.V(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.C=a.call(this,this.C,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.C=a.call(this,this.C,this.V(this.D,this.G+this.L()&65535));this.A-= -this.B.Q},function(a){this.C=a.call(this,this.C,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.C=a.call(this,this.C,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.C=a.call(this,this.C,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.X},function(a){this.Y= -a.call(this,this.Y,this.V(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.Y=a.call(this,this.Y,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.Y=a.call(this,this.Y,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.Y=a.call(this,this.Y,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.Y=a.call(this,this.Y, -this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.X},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.I=a.call(this,this.I,this.V(this.D, -this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.F+this.L()&65535)); -this.A-=this.B.X},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q}, -function(a){this.G=a.call(this,this.G,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.X},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.X},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.F= -a.call(this,this.F,this.V(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.V(this.D,this.C+this.L()&65535));this.A-=this.B.Q},gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,$g,ah, -bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,ph,qh],uh=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha}, -function(a,b){var c=a[0].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.Aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-= -this.B.ha},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.O(this.D,this.F), -b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.Aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this, -this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.Aa},function(a, -b){var c=a[2].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.F&65535),b.call(this)); -this.R(c);this.A-=this.B.ha},function(a,b){var c=a[3].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[3].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[3].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.Aa},function(a,b){var c=a[3].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.G&65535), -b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[4].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c= -a[4].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[4].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.Aa},function(a,b){var c=a[4].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia}, -function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[5].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[5].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[5].call(this,this.O(this.D,this.L()),b.call(this));this.R(c); -this.A-=this.B.Aa},function(a,b){var c=a[5].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.O(this.N, -this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[6].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[6].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[6].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.Aa},function(a,b){var c=a[6].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[7].call(this, -this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ha},function(a,b){var c=a[7].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-= -this.B.ca},function(a,b){var c=a[7].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[7].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.Aa},function(a,b){var c=a[7].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F+this.M()& -65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c); -this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c= -a[1].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+ -this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this)); -this.R(c);this.A-=this.B.X},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a, -b){var c=a[2].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[3].call(this, -this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this)); -this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-= -this.B.W},function(a,b){var c=a[4].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this, -this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.O(this.D,this.G+ -this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c); -this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a, -b){var c=a[6].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.O(this.D, -this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this)); -this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a, -b){var c=a[0].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.N, -this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this)); -this.R(c);this.A-=this.B.X},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a, -b){var c=a[1].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[2].call(this, -this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this)); -this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-= -this.B.W},function(a,b){var c=a[3].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this, -this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.O(this.D,this.G+ -this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c); -this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a, -b){var c=a[5].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.O(this.D, -this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this)); -this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a, -b){var c=a[7].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.X},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.N, -this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[0].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[0].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[0].call(this,this.C&255,b.call(this));this.C=this.C&-256| -c},function(a,b){var c=a[0].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[0].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[0].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[0].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[1].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[1].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a, -b){var c=a[1].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[1].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[1].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[1].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[1].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[1].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c= -a[2].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[2].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[2].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[2].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[2].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[2].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[2].call(this, -this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[2].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[3].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[3].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[3].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[3].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[3].call(this,this.H>> -8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[3].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[3].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[3].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[4].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[4].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[4].call(this,this.K&255,b.call(this)); -this.K=this.K&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[4].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[4].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[4].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[4].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[5].call(this,this.H&255,b.call(this));this.H= -this.H&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.K>>8,b.call(this));this.K=this.K&255| -c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a, -b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c= -a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],vh=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-= -this.B.ha},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.P(this.D,this.F), -b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.Aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this, -this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.Aa},function(a, -b){var c=a[1].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.F&65535),b.call(this)); -this.S(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.Aa},function(a,b){var c=a[2].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.G&65535), -b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[3].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c= -a[3].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[3].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.Aa},function(a,b){var c=a[3].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia}, -function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[4].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[4].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[4].call(this,this.P(this.D,this.L()),b.call(this));this.S(c); -this.A-=this.B.Aa},function(a,b){var c=a[4].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.P(this.N, -this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[5].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[5].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[5].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.Aa},function(a,b){var c=a[5].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[6].call(this, -this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[6].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-= -this.B.ca},function(a,b){var c=a[6].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[6].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.Aa},function(a,b){var c=a[6].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F&65535),b.call(this)); -this.S(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[7].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[7].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[7].call(this,this.P(this.D, -this.L()),b.call(this));this.S(c);this.A-=this.B.Aa},function(a,b){var c=a[7].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-= -this.B.X},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this, -this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F+ -this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-= -this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a, -b){var c=a[2].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+ -this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this)); -this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a, -b){var c=a[4].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this, -this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F+this.M()&65535), -b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-= -this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[6].call(this, -this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.M()&65535), -b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c); -this.A-=this.B.X},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c= -a[7].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[0].call(this,this.P(this.N, -this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c); -this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W}, -function(a,b){var c=a[1].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.D, -this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.P(this.D,this.G+this.L()&65535), -b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W}, -function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this, -this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F+this.L()&65535), -b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-= -this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[5].call(this, -this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.L()&65535), -b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c); -this.A-=this.B.X},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c= -a[6].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.X},function(a,b){var c=a[7].call(this,this.P(this.N, -this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c); -this.A-=this.B.Q},function(a,b){this.H=a[0].call(this,this.H,b.call(this))},function(a,b){this.J=a[0].call(this,this.J,b.call(this))},function(a,b){this.K=a[0].call(this,this.K,b.call(this))},function(a,b){this.C=a[0].call(this,this.C,b.call(this))},function(a,b){this.Y=a[0].call(this,this.Y,b.call(this))},function(a,b){this.I=a[0].call(this,this.I,b.call(this))},function(a,b){this.G=a[0].call(this,this.G,b.call(this))},function(a,b){this.F=a[0].call(this,this.F,b.call(this))},function(a,b){this.H= -a[1].call(this,this.H,b.call(this))},function(a,b){this.J=a[1].call(this,this.J,b.call(this))},function(a,b){this.K=a[1].call(this,this.K,b.call(this))},function(a,b){this.C=a[1].call(this,this.C,b.call(this))},function(a,b){this.Y=a[1].call(this,this.Y,b.call(this))},function(a,b){this.I=a[1].call(this,this.I,b.call(this))},function(a,b){this.G=a[1].call(this,this.G,b.call(this))},function(a,b){this.F=a[1].call(this,this.F,b.call(this))},function(a,b){this.H=a[2].call(this,this.H,b.call(this))}, -function(a,b){this.J=a[2].call(this,this.J,b.call(this))},function(a,b){this.K=a[2].call(this,this.K,b.call(this))},function(a,b){this.C=a[2].call(this,this.C,b.call(this))},function(a,b){this.Y=a[2].call(this,this.Y,b.call(this))},function(a,b){this.I=a[2].call(this,this.I,b.call(this))},function(a,b){this.G=a[2].call(this,this.G,b.call(this))},function(a,b){this.F=a[2].call(this,this.F,b.call(this))},function(a,b){this.H=a[3].call(this,this.H,b.call(this))},function(a,b){this.J=a[3].call(this,this.J, -b.call(this))},function(a,b){this.K=a[3].call(this,this.K,b.call(this))},function(a,b){this.C=a[3].call(this,this.C,b.call(this))},function(a,b){this.Y=a[3].call(this,this.Y,b.call(this))},function(a,b){this.I=a[3].call(this,this.I,b.call(this))},function(a,b){this.G=a[3].call(this,this.G,b.call(this))},function(a,b){this.F=a[3].call(this,this.F,b.call(this))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.K=a[4].call(this, -this.K,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){this.Y=a[4].call(this,this.Y,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.K=a[5].call(this,this.K,b.call(this))},function(a,b){this.C= -a[5].call(this,this.C,b.call(this))},function(a,b){this.Y=a[5].call(this,this.Y,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.K=a[6].call(this,this.K,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))}, -function(a,b){this.Y=a[6].call(this,this.Y,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.K=a[7].call(this,this.K,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){this.Y=a[7].call(this,this.Y, -b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function ed(){wh[this.fa()].call(this)}function gd(){H(this,this.Y);this.A-=this.B.Ac}function Oc(){var a=this.Y;H(this,this.H);H(this,this.J);H(this,this.K);H(this,this.C);H(this,a);H(this,this.I);H(this,this.G);H(this,this.F);this.A-=this.B.Zl} -function Pc(){this.F=this.Pa();this.G=this.Pa();this.I=this.Pa();this.Y+=2;this.C=this.Pa();this.K=this.Pa();this.J=this.Pa();this.H=this.Pa();this.A-=this.B.Xl}function Qc(){M[this.fa()].call(this,Je)}function fd(){sh[this.fa()].call(this,Ke)}function Rc(){H(this,this.L());this.A-=this.B.Ac}function Sc(){M[this.fa()].call(this,Ee)}function Tc(){H(this,this.fa());this.A-=this.B.Ac}function Uc(){M[this.fa()].call(this,De)} -function Vc(){var a=1,b=0,c=5;this.Ea&192&&(a=this.J,b=1,this.Ea&256&&(c=4));if(a--){var d=wb(this.sa,this.K,this.Fa-b-1);this.ld(this.La.Zb(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(wd(this,-2),this.ba|=256)}} -function Wc(){var a=1,b=0,c=5;this.Ea&192&&(a=this.J,b=1,this.Ea&256&&(c=4));if(a--){var d=this.Fa-b-1,e=wb(this.sa,this.K,d),d=e|=wb(this.sa,this.K,d)<<8;this.Va(this.La.Zb(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(wd(this,-2),this.ba|=256)}} -function Xc(){var a=1,b=0,c=5;this.Ea&192&&(a=this.J,b=1,this.Ea&256&&(c=4));if(a--){var d=this.ob(this.$a.Kc(this.G,0));this.G=this.G+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-=b;Bb(this.sa,this.K,d,this.Fa-b-1);a&&(wd(this,-2),this.ba|=256)}} -function Yc(){var a=1,b=0,c=5;this.Ea&192&&(a=this.J,b=1,this.Ea&256&&(c=4));if(a--){var d=this.ra(this.$a.Kc(this.G,1));this.G=this.G+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Fa-b-1;Bb(this.sa,this.K,d&255,b);Bb(this.sa,this.K,d>>8,b);a&&(wd(this,-2),this.ba|=256)}}function xh(){var a=this.M();Cd(this)?(I(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function yh(){var a=this.M();Cd(this)?this.A-=this.B.cc:(I(this,this.wa+a),this.A-=this.B.bc)} -function zh(){var a=this.M();xd(this)?(I(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Ah(){var a=this.M();xd(this)?this.A-=this.B.cc:(I(this,this.wa+a),this.A-=this.B.bc)}function Bh(){var a=this.M();Ad(this)?(I(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Ch(){var a=this.M();Ad(this)?this.A-=this.B.cc:(I(this,this.wa+a),this.A-=this.B.bc)}function Dh(){var a=this.M();xd(this)||Ad(this)?(I(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc} -function Eh(){var a=this.M();xd(this)||Ad(this)?this.A-=this.B.cc:(I(this,this.wa+a),this.A-=this.B.bc)}function Fh(){var a=this.M();Bd(this)?(I(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Gh(){var a=this.M();Bd(this)?this.A-=this.B.cc:(I(this,this.wa+a),this.A-=this.B.bc)}function Hh(){var a=this.M();yd(this)?(I(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Ih(){var a=this.M();yd(this)?this.A-=this.B.cc:(I(this,this.wa+a),this.A-=this.B.bc)} -function Jh(){var a=this.M();!Bd(this)!=!Cd(this)?(I(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Kh(){var a=this.M();!Bd(this)==!Cd(this)?(I(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Lh(){var a=this.M();Ad(this)||!Bd(this)!=!Cd(this)?(I(this,this.wa+a),this.A-=this.B.bc):this.A-=this.B.cc}function Mh(){var a=this.M();Ad(this)||!Bd(this)!=!Cd(this)?this.A-=this.B.cc:(I(this,this.wa+a),this.A-=this.B.bc)} -function Nh(){uh[this.fa()].call(this,pe,this.fa);this.A-=0>this.Qa?1:this.B.Ph}function Zc(){uh[this.fa()].call(this,te,me)}function $c(){vh[this.fa()].call(this,ue,me)}function Oh(){var a=this.L();I(this,this.Pa());this.Y=this.Y+a&65535;this.A-=this.B.dm}function Ph(){I(this,this.Pa());this.A-=this.B.am} -function ad(){var a=this.L(),b=this.fa()&31;this.A-=11;H(this,this.I);var c=this.Y;if(0>8,c,d=zd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Ld(this):Ed(this);this.A-=this.B.We},function(){rh[this.fa()].call(this,ae)},function(){sh[this.fa()].call(this,ie)},function(){th[this.fa()].call(this,ae)},function(){M[this.fa()].call(this,ie)},function(){this.H=this.H&-256|ae.call(this,this.H&255,this.fa());this.A--},function(){this.H=ie.call(this,this.H, -this.L());this.A--},function(){this.ba|=20;this.D=this.N=this.$a;this.A-=this.B.te},function(){var a=this.H&255,b=this.H>>8,c,d=zd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?Ld(this):Ed(this);this.A-=this.B.We},function(){this.qa=this.H;this.H=(this.la=this.H+1)&65535;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.J;this.J=(this.la=this.J+1)&65535;this.aa=this.J|(this.aa&this.ea?1:0)<< -16;this.ea=65536;this.A-=2},function(){this.qa=this.K;this.K=(this.la=this.K+1)&65535;this.aa=this.K|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.C;this.C=(this.la=this.C+1)&65535;this.aa=this.C|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.Y;this.Y=(this.la=this.Y+1)&65535;this.aa=this.Y|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.I;this.I=(this.la=this.I+1)&65535;this.aa=this.I|(this.aa&this.ea?1:0)<<16;this.ea= -65536;this.A-=2},function(){this.qa=this.G;this.G=(this.la=this.G+1)&65535;this.aa=this.G|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.F;this.F=(this.la=this.F+1)&65535;this.aa=this.F|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.H;this.H=(this.la=this.H-1)&65535;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.J;this.J=(this.la=this.J-1)&65535;this.aa=this.J|(this.aa&this.ea?1:0)<<16;this.ea=65536; -this.A-=2},function(){this.qa=this.K;this.K=(this.la=this.K-1)&65535;this.aa=this.K|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.C;this.C=(this.la=this.C-1)&65535;this.aa=this.C|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.Y;this.Y=(this.la=this.Y-1)&65535;this.aa=this.Y|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.I;this.I=(this.la=this.I-1)&65535;this.aa=this.I|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-= -2},function(){this.qa=this.G;this.G=(this.la=this.G-1)&65535;this.aa=this.G|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.qa=this.F;this.F=(this.la=this.F-1)&65535;this.aa=this.F|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){H(this,this.H);this.A-=this.B.Ac},function(){H(this,this.J);this.A-=this.B.Ac},function(){H(this,this.K);this.A-=this.B.Ac},function(){H(this,this.C);this.A-=this.B.Ac},function(){H(this,this.Y-2&65535);this.A-=this.B.Ac},function(){H(this, -this.I);this.A-=this.B.Ac},function(){H(this,this.G);this.A-=this.B.Ac},function(){H(this,this.F);this.A-=this.B.Ac},function(){this.H=this.Pa();this.A-=this.B.uc},function(){this.J=this.Pa();this.A-=this.B.uc},function(){this.K=this.Pa();this.A-=this.B.uc},function(){this.C=this.Pa();this.A-=this.B.uc},function(){this.Y=this.Pa();this.A-=this.B.uc},function(){this.I=this.Pa();this.A-=this.B.uc},function(){this.G=this.Pa();this.A-=this.B.uc},function(){this.F=this.Pa();this.A-=this.B.uc},xh,yh,zh, -Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,function(){vh[this.fa()].call(this,qe,this.L);this.A-=0>this.Qa?1:this.B.Ph},Nh,function(){vh[this.fa()].call(this,qe,this.M);this.A-=0>this.Qa?1:this.B.Ph},function(){rh[this.fa()].call(this,Be)},function(){sh[this.fa()].call(this,Ce)},function(){th[this.gh=this.fa()].call(this,Ne)},function(){M[this.gh=this.fa()].call(this,Oe)},function(){this.ba|=1;rh[this.fa()].call(this,ze)},function(){this.ba|=1;sh[this.fa()].call(this, -ze)},function(){th[this.fa()].call(this,ze)},function(){M[this.fa()].call(this,ze)},function(){var a=this.fa();switch((a&56)>>3){case 0:this.Ob=this.La.ta;break;case 1:this.Ob=this.va.ta;break;case 2:this.Ob=this.Ya.ta;break;case 3:this.Ob=this.$a.ta;break;default:L.call(this);return}this.ba|=1;sh[a].call(this,Ae)},function(){this.ba|=1;this.D=this.N=this.tm;M[this.fa()].call(this,Ge)},function(){var a,b=this.fa(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break; -default:if(80286<=this.Ka){Nc.call(this);return}switch(c){case 1:a=this.J;break;case 4:a=this.Y;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}M[b].call(this,ze);switch(c){case 0:vd(this,this.H);this.H=a;break;case 1:sd(this,this.J);this.J=a;break;case 2:ud(this,this.K);this.K=a;break;case 3:td(this,this.C);this.C=a;break;case 4:vd(this,this.Y);this.Y=a;break;case 5:sd(this,this.I);this.I=a;break;case 6:ud(this,this.G);this.G=a;break;case 7:td(this,this.F),this.F=a}},function(){this.ba|= -1;vh[this.fa()].call(this,re,this.Pa)},function(){this.A-=3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.Y;this.Y=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535; -this.A-=2},function(){this.K=this.H&32768?65535:0;this.A-=this.B.kl},function(){ye.call(this,this.L(),this.L());this.A-=this.B.nl},function(){this.gb("WAIT not implemented",1);this.A--},function(){H(this,yc(this));this.A-=this.B.Ac},function(){zc(this,this.Pa());this.A-=this.B.uc},function(){var a=this.H>>8;a&1?Kd(this):Dd(this);a&4?yd(this)||(this.la^=1):yd(this)&&(this.la^=1);a&16?Ld(this):Ed(this);a&64?Md(this):Fd(this);a&128?Nd(this):Gd(this);this.A-=this.B.Nb},function(){this.H=this.H&255|(yc(this)& -213)<<8;this.A-=this.B.Nb},function(){this.H=this.H&-256|this.U(this.D,this.L());this.A-=this.B.uj},function(){this.H=this.V(this.D,this.L());this.A-=this.B.uj},function(){var a=this.L(),b=this.H;this.ld(this.D.Zb(a,0),b);this.A-=this.B.vj},function(){var a=this.L(),b=this.H;this.Va(this.D.Zb(a,1),b);this.A-=this.B.vj},function(){var a=1,b=0,c=this.B.wj;this.Ea&192&&(a=this.J,b=1,c=this.B.yj,this.Ea&256||(this.A-=this.B.xj));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G);this.ld(this.La.Zb(this.F, -0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(wd(this,this.Ea&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.wj;this.Ea&192&&(a=this.J,b=1,c=this.B.yj,this.Ea&256||(this.A-=this.B.xj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G);this.Va(this.La.Zb(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(wd(this,this.Ea&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.gj;this.Ea&192&&(a=this.J,b=1,c=this.B.ij,this.Ea& -256||(this.A-=this.B.hj));if(a--){var d=this.Ba&1024?-1:1,e=this.U(this.D,this.G),f=this.O(this.La,this.F);ae.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.Fb;this.J-=b;a&&Ad(this)==(this.Ea&64)&&(wd(this,this.Ea&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.gj;this.Ea&192&&(a=this.J,b=1,c=this.B.ij,this.Ea&256||(this.A-=this.B.hj));if(a--){var d=this.Ba&1024?-2:2,e=this.V(this.D,this.G),f=this.P(this.La,this.F);ie.call(this,e,f);this.G=this.G+d&65535;this.F= -this.F+d&65535;this.A-=c-this.B.Fb;this.J-=b;a&&Ad(this)==(this.Ea&64)&&(wd(this,this.Ea&16?-3:-2),this.ba|=256)}},function(){this.aa=this.la=this.qa=this.H&255&this.fa();this.ea=256;this.A-=this.B.We},function(){this.aa=this.la=this.qa=this.H&this.L();this.ea=65536;this.A-=this.B.We},function(){var a=1,b=0,c=this.B.Hj;this.Ea&192&&(a=this.J,b=1,c=this.B.Jj,this.Ea&256||(this.A-=this.B.Ij));if(a--){var d=this.H;this.ld(this.La.Zb(this.F,0),d);this.F=this.F+(this.Ba&1024?-1:1)&65535;this.A-=c;this.J-= -b;a&&(wd(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.Hj;this.Ea&192&&(a=this.J,b=1,c=this.B.Jj,this.Ea&256||(this.A-=this.B.Ij));if(a--){var d=this.H;this.Va(this.La.Zb(this.F,1),d);this.F=this.F+(this.Ba&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(wd(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.oj;this.Ea&192&&(a=this.J,b=1,c=this.B.qj,this.Ea&256||(this.A-=this.B.pj));a--&&(this.H=this.H&-256|this.U(this.D,this.G),this.G=this.G+(this.Ba&1024?-1:1)&65535,this.A-=c,this.J-=b, -a&&(wd(this,this.Ea&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.oj;this.Ea&192&&(a=this.J,b=1,c=this.B.qj,this.Ea&256||(this.A-=this.B.pj));a--&&(this.H=this.V(this.D,this.G),this.G=this.G+(this.Ba&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(wd(this,this.Ea&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Bj;this.Ea&192&&(a=this.J,b=1,c=this.B.Dj,this.Ea&256||(this.A-=this.B.Cj));a--&&(ae.call(this,this.H&255,this.O(this.La,this.F)),this.F=this.F+(this.Ba&1024?-1:1)&65535,this.A-= -c-this.B.Fb,this.J-=b,a&&Ad(this)==(this.Ea&64)&&(wd(this,-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Bj;this.Ea&192&&(a=this.J,b=1,c=this.B.Dj,this.Ea&256||(this.A-=this.B.Cj));a--&&(ie.call(this,this.H,this.P(this.La,this.F)),this.F=this.F+(this.Ba&1024?-2:2)&65535,this.A-=c-this.B.Fb,this.J-=b,a&&Ad(this)==(this.Ea&64)&&(wd(this,-2),this.ba|=256))},function(){this.H=this.H&-256|this.fa();this.A-=this.B.Nb},function(){this.J=this.J&-256|this.fa();this.A-=this.B.Nb},function(){this.K=this.K& --256|this.fa();this.A-=this.B.Nb},function(){this.C=this.C&-256|this.fa();this.A-=this.B.Nb},function(){this.H=this.H&255|this.fa()<<8;this.A-=this.B.Nb},function(){this.J=this.J&255|this.fa()<<8;this.A-=this.B.Nb},function(){this.K=this.K&255|this.fa()<<8;this.A-=this.B.Nb},function(){this.C=this.C&255|this.fa()<<8;this.A-=this.B.Nb},function(){this.H=this.L();this.A-=this.B.Nb},function(){this.J=this.L();this.A-=this.B.Nb},function(){this.K=this.L();this.A-=this.B.Nb},function(){this.C=this.L(); -this.A-=this.B.Nb},function(){this.Y=this.L();this.A-=this.B.Nb},function(){this.I=this.L();this.A-=this.B.Nb},function(){this.G=this.L();this.A-=this.B.Nb},function(){this.F=this.L();this.A-=this.B.Nb},Oh,Ph,Oh,Ph,function(){M[this.fa()].call(this,Ie)},function(){M[this.fa()].call(this,He)},function(){this.ba|=1;uh[this.fa()].call(this,se,this.fa)},function(){this.ba|=1;vh[this.fa()].call(this,se,this.L)},Qh,Rh,Qh,Rh,function(){Rd.call(this,3,null,this.B.El)},function(){var a=this.fa();kd(this,a)? -Rd.call(this,a,null,0):this.A--},function(){Cd(this)?Rd.call(this,4,null,this.B.Fl):this.A-=this.B.Gl},function(){this.A-=this.B.Cl;if(this.gc&1&&this.Ba&16384){var a=this.ra(this.ib.Ha+0);xc.call(this.va,a,!1)}else{var a=this.va.fb,b=this.Pa(),c=this.Pa(),d=this.Pa();null!=Ac(this,b,c,!1)&&(zc(this,d,a),this.dg&&od(this,this.Fa))}},function(){uh[this.fa()].call(this,te,ke)},function(){vh[this.fa()].call(this,ue,ke)},function(){uh[this.fa()].call(this,te,le)},function(){vh[this.fa()].call(this,ue, -le)},function(){var a=this.fa(),b=this.H&255;this.H=(b/a&255)<<8|b%a;this.ea=256;this.aa=this.la=b;this.A-=this.B.hl},function(){var a=this.fa();this.aa=this.la=this.H=(this.H>>8)*a+this.H&255;this.ea=256;this.A-=this.B.gl},function(){this.H=this.H&-256|(xd(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.U(this.D,this.C+(this.H&255)&65535);this.A-=this.B.fm},Sh,Sh,Sh,Sh,Sh,Sh,Sh,Sh,function(){var a=this.M();(this.J=this.J-1&65535)&&this.aa&this.ea-1?(I(this,this.wa+a),this.A-=this.B.Nl): -this.A-=this.B.rj},function(){var a=this.M();!(this.J=this.J-1&65535)||this.aa&this.ea-1?this.A-=this.B.tj:(I(this,this.wa+a),this.A-=this.B.sj)},function(){var a=this.M();(this.J=this.J-1&65535)?(I(this,this.wa+a),this.A-=this.B.Ml):this.A-=this.B.rj},function(){var a=this.M();this.J?this.A-=this.B.tj:(I(this,this.wa+a),this.A-=this.B.sj)},function(){var a=this.fa();this.H=this.H&-256|wb(this.sa,a,this.Fa-2);this.A-=this.B.lj},function(){var a=this.fa();this.H=wb(this.sa,a,this.Fa-2);this.H|=wb(this.sa, -a+1&65535,this.Fa-2)<<8;this.A-=this.B.lj},function(){var a=this.fa();Bb(this.sa,a,this.H&255,this.Fa-2);this.A-=this.B.Aj},function(){var a=this.fa();Bb(this.sa,a,this.H&255,this.Fa-2);Bb(this.sa,a+1&65535,this.H>>8,this.Fa-2);this.A-=this.B.Aj},function(){var a=this.L();H(this,this.wa);I(this,this.wa+a);this.A-=this.B.ll},function(){var a=this.L();I(this,this.wa+a);this.A-=this.B.mj},function(){Ac(this,this.L(),this.L());this.A-=this.B.Il},function(){var a=this.M();I(this,this.wa+a);this.A-=this.B.mj}, -function(){this.H=this.H&-256|wb(this.sa,this.K,this.Fa-1);this.A-=this.B.kj},function(){this.H=wb(this.sa,this.K,this.Fa-1);this.H|=wb(this.sa,this.K+1&65535,this.Fa-1)<<8;this.A-=this.B.kj},function(){Bb(this.sa,this.K,this.H&255,this.Fa-1);this.A-=this.B.zj},function(){Bb(this.sa,this.K,this.H&255,this.Fa-1);Bb(this.sa,this.K+1&65535,this.H>>8,this.Fa-1);this.A-=this.B.zj},Th,Th,function(){this.ba|=132;this.A-=this.B.te},function(){this.ba|=68;this.A-=this.B.te},function(){this.Ab|=4;this.A-=2; -this.ka&&Pd(this.ka)?(wd(this,-1),this.qb()):this.Ba&512||(this.ka&&wd(this,-1),this.qb())},function(){xd(this)?Dd(this):Kd(this);this.A-=2},function(){this.Ob=-1;uh[this.fa()].call(this,we,ne);0<=this.Ob&&(this.H=this.Ob)},function(){this.Ob=-1;vh[this.fa()].call(this,xe,ne);0<=this.Ob&&(this.H=this.Ob,this.K=this.Mg)},function(){this.aa&=~this.ea;this.A-=2},function(){this.aa|=this.ea;this.A-=2},function(){this.Ba&=-513;this.A-=this.B.jl},function(){this.Ba|=512;this.ba|=4;this.A-=2},function(){this.Ba&= --1025;this.A-=2},function(){this.Ba|=1024;this.A-=2},function(){uh[this.fa()].call(this,Kc,ne)},function(){vh[this.fa()].call(this,Lc,ne)}],wh=[function(){var a=this.fa();16>(a&56)&&(this.ba|=1);vh[a].call(this,this.ok,ne)},function(){var a=this.fa();a&16||(this.ba|=1);vh[a].call(this,Uh,ne)},function(){M[this.fa()].call(this,Le)},function(){M[this.fa()].call(this,Me)},L,function(){this.va.fb?mc.call(this,13,0,!0):(Pe.call(this,this.ra(2054)),this.F=this.ra(2086),this.G=this.ra(2088),this.I=this.ra(2090), -this.Y=this.ra(2092),this.C=this.ra(2094),this.K=this.ra(2096),this.J=this.ra(2098),this.H=this.ra(2100),Bc(this.La,2102,this.ra(2084)),Bc(this.va,2108,this.ra(2082)),Bc(this.Ya,2114,this.ra(2080)),Bc(this.$a,2120,this.ra(2078)),zc(this,this.ra(2072)),I(this,this.ra(2074)),this.Gc=this.ra(2126)|this.ra(2128)<<16,this.De=this.Gc+this.ra(2130),Bc(this.Zc,2132,this.ra(2076)),this.Sc=this.ra(2138)|this.ra(2140)<<16,this.Ee=this.Sc+this.ra(2142),Bc(this.ib,2144,this.ra(2070)),this.A-=195)},function(){this.va.fb? -mc.call(this,13,0,!0):(this.gc&=-9,this.A-=2)},L,L,L,L,Nc,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L, -L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L],pd=[function(){this.A-=2+(0>this.ja?0:1);return this.Zc.ta},function(){this.A-=2+(0>this.ja?0:1);return this.ib.ta},function(a){this.ba|=2;this.Zc.load(a);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;-4!=this.ib.load(a)&&(this.Va(this.ib.Dd+4,this.ib.sb|=512),this.ib.type=768);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Sb.load(a,!0)&&2048!=(this.Sb.sb&2560)&&(this.Sb.rc>=this.va.fb&& -this.Sb.rc>=(a&3)||7168==(this.Sb.sb&7168)))return Md(this),a;Fd(this);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Sb.load(a,!0)&&512==(this.Sb.sb&2560)&&this.Sb.rc>=this.va.fb&&this.Sb.rc>=(a&3))return Md(this),a;Fd(this);return a},J,J],Mc=[dd,dd,dd,dd,dd,dd,J,J],Uh=[function(a){0>this.ja?Nc.call(this):(a=this.De-this.Gc,this.Va(this.ja+2,this.Gc),this.Va(this.ja+4,65280|this.Gc>>16),this.A-=11);return a},function(a){0>this.ja?Nc.call(this):(a=this.Ee-this.Sc,this.Va(this.ja+ -2,this.Sc),this.Va(this.ja+4,65280|this.Sc>>16),this.A-=12);return a},function(a){0>this.ja?Nc.call(this):(this.Gc=this.ra(this.ja+2)|this.ob(this.ja+4)<<16,this.De=this.Gc+a,this.ba|=2,this.A-=11);return a},function(a){0>this.ja?Nc.call(this):(this.Sc=this.ra(this.ja+2)|this.ob(this.ja+4)<<16,this.Ee=this.Sc+a,this.ba|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ja?0:1);return this.gc},J,function(a){Pe.call(this,a);this.A-=0>this.ja?3:6;this.ba|=2;return a},J]; -function N(a){x.call(this,"ChipSet",a,N,16384);this.Ka=(this.Ka=a.model)?parseInt(this.Ka,10):Vh;this.hc=0;var b=a.sw1;if(b)this.hc=Wh(b,Xh|Yh.Bm);else{this.Zd=[360,360];(b=a.floppies)&&b.length&&(this.Zd=b);if(b=this.Zd.length)this.hc|=Zh.gi,b--,this.hc|=(b&3)<=$h&&(this.mh=this.eg=2);this.me=a.scaleTimers||!1;this.xp=a.rtcDate; -this.Qk=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.yi=new window.webkitAudioContext);this.reset(!0);B(this)}Ua(x,N);var Vh=5150,$h=5170,ai={none:0,tv:1,color:2,mono:3,ega:0},Zh={gi:1,ONE:0,nq:64,lq:128,Lp:192,Rf:192,Sf:6},Xh=12,Yh={mq:16,Dp:32,Bm:48,Rf:48,Sf:4};k=N.prototype; -k.Hb=function(a,b,c){switch(b){case "sw1":return this.xa[b]=c,bi(this,b,c,this.hc,{0:this.Ka==Vh?"Bootable Floppy Drive":"Loop on POST",1:this.Ka==Vh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ka==Vh)return this.xa[b]=c,bi(this,b,c,this.ze,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.xa[b]=c,!0}return!1}; -k.zc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.Oa=hb(a,"Keyboard");this.Sh=c.da.ud/1193181;vb(b,this,ci);Ab(b,this,di);this.Ka<$h?(vb(b,this,ei),Ab(b,this,fi)):(vb(b,this,gi),Ab(b,this,hi));if(d){var e=this;ii(d,512,function(){for(var a=0;ab;b++){var c=13>=b?ki(e,b):e.na[b];a&&(a+="\n");a+="CMOS[0x"+q(b)+"]: 0x"+q(c)}e.ka.Z(a)})}jd(c,26,this,this.eo)};k.ec=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.dc=function(a){return a&&this.save?this.save():!0}; -k.reset=function(a){var b;this.md=this.hc;this.ef=this.ze;li(this);this.rb=Array(this.mh);for(b=0;b=$h){this.tb=16;this.Fd=0;this.Ed=16;this.dh=0;this.Ge=160;512<=pi(this)&&(this.Ge|=16);3==qi(this)&&(this.Ge|=64);this.qi=3;this.ag=0;this.Yg=Array(7);this.He=0;a&&(this.na=Array(64));ri(this, -this.xp);for(a=21;24>=a;a++)this.na[a]=0;for(a=14;46>a;a++)void 0===this.na[a]&&(this.na[a]=0);this.na[20]=this.md&(Yh.Rf|2|Zh.gi|Zh.Rf);this.na[16]=si(this,0)<<4|si(this,1);ti(this)}}; -function ri(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.Z("CMOS date invalid ("+b+"), using "+c)):b&&a.Z("CMOS date: "+c);a.na[0]=c.getSeconds();a.na[1]=0;a.na[2]=c.getMinutes();a.na[3]=0;a.na[4]=c.getHours();a.na[5]=0;a.na[6]=c.getDay()+1;a.na[7]=c.getDate();a.na[8]=c.getMonth()+1;c=c.getFullYear();a.na[9]=c%100;c/=100;a.na[50]=c%10|c/10<<4;a.na[10]=38;a.na[11]=2;a.na[12]=0;a.na[13]=128;a.Gg=a.If=0;a.gm=a.Qh=null} -function ki(a,b){var c=a.na[b];if(10>b){var d=!1;4!=b&&5!=b||a.na[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.na[11]&4||(d&&128c;c++)b+=a.na[c];a.na[47]=b&255;a.na[46]=b>>8} -k.save=function(){var a=new qd(this);a.set(0,[this.hc,this.ze,this.md,this.ef]);for(var b=[],c=0;c=$h&&(a.set(5,[this.tb,this.Fd,this.Ed,this.dh,this.Ge,this.qi]),a.set(6,[this.ag,this.Yg,this.He,this.na,this.Gg,this.If]));return a.data()}; -k.restore=function(a){var b,c;b=a[0];this.hc=b[0];this.ze=b[1];this.md=b[2];this.ef=b[3];b=a[1];for(c=0;c>2)+1)*a.fo+32*((b?a.ze:a.ef)&15)}function Bi(a,b){var c=b?a.hc:a.md;return a.Ka!=Vh||c&Zh.gi?((c&Zh.Rf)>>Zh.Sf)+1:0} -function si(a,b){if(b>Yh.Sf} -function bi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=z(c,"pcjs-bitCell");c=null;for(g=0;gg.eb[0]&&(g.eb[0]=255,g.eb[1]--,0>g.eb[1]&&(g.eb[1]=255)));return h}function Gi(a,b,c,d,e,f){var g=a.rb[b];a.ua(384)&&A(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.ub+"]",null,!0);a=g.Pb[c];a.eb[g.ub]=a.jc[g.ub]=e;g.ub^=1}function Hi(a,b,c,d){var e=a.rb[b],f=e.ge|1;e.ge&=-16;a.ua(384)&&A(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} -function Ii(a,b,c,d,e){var f=a.rb[b];a.ua(384)&&A(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.ge=f.ge&~(16<>2].Pb[b&3],c,d,e)} -function Ki(a,b,c){b=a.rb[b>>2].Pb[b&3];b.qh&&b.Pi&&b.Th?(c&&(b.sh=c),b.Qd||Sd(a,b,!0)):c&&c(!0)}function Sd(a,b,c){c&&(b.count=b.eb[1]<<8|b.eb[0],b.xm=b.mode&12,b.Sk=b.gd=!1);for(var d=!1;0<=b.count&&(c=b.jh<<16|b.kb[1]<<8|b.kb[0],4==b.xm?(d=!0,function(c){b.Pi.call(b.qh,b.Th,-1,function(f,g){0>f&&(b.Sk||(b.Sk=!0),f=255);b.Qd||a.sa.ld(c,f);(d=g)&&setTimeout(function(){Si(b)||Sd(a,b)},0)})}(c)):8==b.xm?(c=a.sa.ob(c),0>b.Pi.call(b.qh,b.Th,c)&&(b.gd=!0)):b.gd=!0),!d&&!Si(b););} -function Si(a){if(!a.gd&&0<=--a.count&&(a.mode&32?(a.kb[0]--,0>a.kb[0]&&(a.kb[0]=255,a.kb[1]--,0>a.kb[1]&&(a.kb[1]=255))):(a.kb[0]++,255>3];b=1<<(b&7);d.Qb&b||(d.Qb|=b,d.Gf=c||0,Vi(a))} -function Zi(a,b){var c=a.Ub[b>>3],d=1<<(b&7);c.Qb&d&&(c.Qb&=~d,Vi(a))}function Vi(a,b){var c,d=-1;1>=1),Yb(a.T,c))),2==b&&ac(a))}k=N.prototype; -k.Xn=function(a,b){A(this,a,null,b,"TIMER_CTRL",null,1024);return null};k.lp=function(a,b,c){this.vi=b;A(this,a,b,c,"TIMER_CTRL",null,1024);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Jb[a];e.$h=b;e.mode=d;e.xk=c;e.jc=[0,0];e.eb=[0,0];e.Oe=[0,0];e.td=!1;e.ng=!1;e.Se=!1;aj(this,a);0==a&&Zi(this,0);2==a&&255==this.Ub[0].od&&77==this.Ic&&(a=this.Jb[0],a.Lc[0]=a.jc[0],a.Lc[1]=a.jc[1],a.kd=E(this.T,this.me))}else ji(this,a),b=this.Jb[a],b.Oe[0]=b.eb[0],b.Oe[1]=b.eb[1],b.ng=!0,aj(this,a)}}; -function cj(a,b){var c=a.Jb[b],d=c.jc[1]<<8|c.jc[0];d||(d=1==c.rd?256:65536);return d}function cc(a,b){var c=a.Jb[b],d=c.Lc[1]<<8|c.Lc[0];d||(d=1==c.rd?256:65536);return d}function aj(a,b){var c=a.Jb[b];c.je=32==c.$h?1:0;c.rd=48==c.$h?2:1} -function ji(a,b,c){var d=a.Jb[b];if(d.Se&&(2!=b||a.Ic&1)){var e=E(a.T,a.me),f=(e-d.kd)/a.Sh|0;0>f&&(d.kd=e,f=0);var g=cj(a,b),h=cc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.td=!0,d.Se=!1,b||Yi(a,0))):4==d.mode?(d.td=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Lc[0]=h&255,d.Lc[1]=h>>8,d.kd=e,!b&&d.td&&Yi(a,0))):6==d.mode&&(h-=f,0>=h&&(d.td=!d.td,h=g+h,0>=h&&(h=g),d.Lc[0]=h&255,d.Lc[1]=h>>8,d.kd=e,!b&&d.td&&Yi(a,0)));d.eb[0]=h&255;d.eb[1]=h>>8;c&&(a.kd=0)}return d} -function bc(a,b){for(var c=0;c=$h){var c=a.T.da.ud,d=E(a.T,a.me);null==a.Qh&&(a.Gg=E(a.T,a.me),a.gm=1024,a.Qh=Math.floor(a.T.da.ud/a.gm),ui(a));d>=a.If&&(a.na[12]|=64,a.na[11]&64&&(a.na[12]|=128,Yi(a,8)),a.If=d+a.Qh);a.na[0]==a.na[1]&&a.na[2]==a.na[3]&&a.na[4]==a.na[5]&&(a.na[12]|=32,a.na[11]&32&&(a.na[12]|=128,Yi(a,8)));var e=d-a.Gg,f=Math.floor(e/c);if(f&&!(a.na[11]&128)){for(;f--;)if(60<=++a.na[0]&&(a.na[0]=0,60<=++a.na[2]&&(a.na[2]=0,24<=++a.na[4]))){a.na[4]= -0;a.na[6]=a.na[6]%7+1;var g;g=a.na[9];var h=oa[a.na[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.na[7]>g&&(a.na[7]=1,12<++a.na[8]&&(a.na[8]=1,a.na[9]=(a.na[9]+1)%100))}a.na[12]|=16;a.na[11]&16&&(a.na[12]|=128,Yi(a,8))}a.Gg=d-e%c}}k.Pn=function(a,b){var c=this.ih;if(this.cg&16)if(this.Ic&128)c=this.md;else if(this.Oa){var c=this.Oa,d=0;c.Vb.length&&(d=c.Vb[0]);c.ua()&&c.gb("scan code 0x"+q(d)+" delivered");c=d}A(this,a,null,b,"PPI_A",c);return c}; -k.ep=function(a,b,c){A(this,a,b,c,"PPI_A");this.ih=b};k.Qn=function(a,b){var c=this.Ic;A(this,a,null,b,"PPI_B",c);return c};k.fp=function(a,b,c){A(this,a,b,c,"PPI_B");dj(this,b);this.Oa&&ej(this.Oa,b&128?!1:!0,b&64?!0:!1)};function dj(a,b){var c=!!(b&2),d=!!(a.Ic&2);a.Ic=b;c!=d&&ac(a,c)}k.Rn=function(a,b){var c=0,c=this.Ka==Vh?this.Ic&4?c|this.ef&15:c|this.ef>>4&1:this.Ic&8?c|this.md>>4:c|this.md&15;this.Ic&1&&ji(this,2).td&&(c=this.Ic&2?c|32:c|16);A(this,a,null,b,"PPI_C",c,16448);return c}; -k.gp=function(a,b,c){A(this,a,b,c,"PPI_C");this.ti=b};k.Sn=function(a,b){var c=this.cg;A(this,a,null,b,"PPI_CTRL",c);return c};k.hp=function(a,b,c){A(this,a,b,c,"PPI_CTRL");this.cg=b};k.en=function(a,b){var c=this.dh;A(this,a,null,b,"8042_OUTBUFF",c,8192);this.tb&=-258;this.Oa&&fj(this.Oa);return c}; -k.wo=function(a,b,c){A(this,a,b,c,"8042_INBUF.DATA",null,8192);if(this.tb&8)switch(this.Fd){case 96:gj(this,b);break;case 209:hj(this,b);break;default:if(gj(this,this.Ed&-17),this.Oa){a=-1;switch(b){case 255:a=250,ij(this.Oa)}jj(this,a)}}this.Fd=b;this.tb&=-9};k.fn=function(a,b){var c=this.Ic&-209|(E(this.T)&64?16:0);A(this,a,null,b,"8042_RWREG",c,8192);return c};k.xo=function(a,b,c){A(this,a,b,c,"8042_RWREG",null,8192);dj(this,b)}; -k.gn=function(a,b){A(this,a,null,b,"8042_STATUS",this.tb,8192);var c=this.tb&255;this.tb&256&&(this.tb|=1,this.tb&=-257);return c}; -k.vo=function(a,b,c){A(this,a,b,c,"8042_INBUFF.CMD",null,8192);this.Fd=b;this.tb|=8;a=0;240<=this.Fd&&(a=this.Fd^15,this.Fd=240);switch(this.Fd){case 192:jj(this,this.Ge);break;case 173:gj(this,this.Ed|16);break;case 174:gj(this,this.Ed&-17);this.Oa&&fj(this.Oa);break;case 170:this.Oa&&(a=this.Oa,a.Vb=[],a.ua()&&a.gb("scan codes flushed"));gj(this,this.Ed|16);jj(this,85);hj(this,3);break;case 224:jj(this,this.Ed&16?0:1);break;case 240:a&1&&hd(this.T)}}; -function gj(a,b){a.Ed=b;a.tb=a.tb&-5|b&4;a.Oa&&ej(a.Oa,!!(b&8),!(b&16))}function jj(a,b){0<=b&&(a.dh=b,a.tb&=-2,a.tb|=256)}function hj(a,b){a.qi=b;mb(a.sa,!!(b&2));b&1||hd(a.T)}function kj(a,b){a.Ka<$h?Yi(a,1,4):a.Ed&16||a.tb&257||(jj(a,b),lj(a.Oa),Yi(a,1,120))}k.vn=function(a,b){A(this,a,null,b,"CMOS.ADDR",this.He,2048);return this.He};k.Lo=function(a,b,c){A(this,a,b,c,"CMOS.ADDR",null,2048);this.He=b;this.hh=b&128?0:128}; -k.wn=function(a,b){var c=this.He&63,d=13>=c?ki(this,c):this.na[c];this.ua(2176)&&A(this,a,null,b,"CMOS.DATA["+q(c)+"]",d,!0);null!=b&&12==c&&(this.na[c]&=15,d&128&&Zi(this,8),d&64&&this.na[11]&64&&ui(this));return d}; -k.Mo=function(a,b,c){var d=this.He&63;this.ua(2176)&&A(this,a,b,c,"CMOS.DATA["+q(d)+"]",null,!0);a=b^this.na[d];if(13>=d){if(c=b,10>d){var e=!1;this.na[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.na[d]=c;11==d&&a&64&&b&64&&ui(this)};k.Nn=function(a,b){A(this,a,null,b,"MFG_DATA",this.ag);return this.ag};k.bp=function(a,b,c){A(this,a,b,c,"MFG_DATA");this.ag=b}; -k.dp=function(a,b,c){A(this,a,b,c,"NMI");this.hh=b};k.No=function(a,b,c){A(this,a,b,c,"COPROC.CLEAR")};k.Oo=function(a,b,c){A(this,a,b,c,"COPROC.RESET")}; -k.eo=function(a){if(this.ua(4096)&&ld(this.ka,26,a)){var b=this.T.H>>8;md(this.T,a,function(a,d){return function(e){d=E(a.T)-d;var f,g=a.T.K&255,h=a.T.K>>8,n=a.T.K&255,m=a.T.K>>8;if(2==b||3==b)f=" CH(hour)="+r(h)+" CL(min)="+q(g)+" DH(sec)="+q(m);else if(4==b||5==b)f=" CX(year)="+r(a.T.J)+" DH(month)="+q(m)+" DL(day)="+q(n);nd(a.ka,26,e,d,f)}}(this,E(this.T)))}return!0};function Wh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4=this.Kf?12:14;this.uc=1<>2;this.Wa=this.uc-1;this.vh=(this.gg+this.uc)/this.uc|0;this.Od=this.vh-1;this.Id=[];this.Jd=[];this.yg=this.zg=!1;this.ej();E(this)}Va(x,ib);k=ib.prototype; +k.ej=function(){this.Fa=Array(this.vh);for(var a=0;a>a.gb;0>this.gb;0>a.gb;0>this.gb].kc(a&this.Wa)};function pb(a,b){return a.Fa[(b&a.ya)>>a.gb].Vg(b&a.Wa)} +k.sa=function(a){var b=a&this.Wa;a=(a&this.ya)>>this.gb;return b!=this.Wa?this.Fa[a].fk(b):this.Fa[a++].kc(b)|this.Fa[a&this.Od].kc(0)<<8};function qb(a,b){var c=b&a.Wa,d=(b&a.ya)>>a.gb;return c!=a.Wa?a.Fa[d].gk(c):a.Fa[d++].Vg(c)|a.Fa[d&a.Od].Vg(0)<<8}k.rd=function(a,b){this.Fa[(a&this.ya)>>this.gb].rc(a&this.Wa,b&255)};k.Za=function(a,b){var c=a&this.Wa,d=(a&this.ya)>>this.gb;c!=this.Wa?this.Fa[d].qk(c,b&65535):(this.Fa[d++].rc(c,b&255),this.Fa[d&this.Od].rc(0,b>>8&255))}; +function rb(a,b,c){var d=b&a.Wa;b=(b&a.ya)>>a.gb;d!=a.Wa?a.Fa[b].rk(d,c&65535):(a.Fa[b++].Zf(d,c&255),a.Fa[b&a.Od].Zf(0,c>>8&255))}function sb(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.Ba[b]>>>a;return 24>a?c&65535:c&255|(this.Ba[b+1]&255)<<8},function(a,b){var c=a>>2,d=(a&3)<<3;this.Ba[c]=this.Ba[c]&~(255<>2,d=(a&3)<<3;24>d?this.Ba[c]=this.Ba[c]&~(65535<>8);this.Db=!0}],Hb=[function(a){Fb(this.ma,this.ke+a);return this.Vg(a)},function(a){Fb(this.ma, +this.ke+a)||Fb(this.ma,this.ke+a+1);return this.gk(a)},function(a,b){Gb(this.ma,this.ke+a);this.Zf(a,b)},function(a,b){Gb(this.ma,this.ke+a)||Gb(this.ma,this.ke+a+1);this.rk(a,b)}];kb.prototype={save:function(){return this.ia?null:this.Ba},restore:function(a){return this.ia?null==a:a&&this.Tm==a.length<<2?(this.Ba=a,this.Db=!0):!1},lf:function(a,b){a||(a=[]);void 0===b&&(b=!0);Ib(this,a,b);Jb(this,a,b)},je:function(a,b){b?0===this.Mk++&&Jb(this,Hb):0===this.Kk++&&Ib(this,Hb)}}; +function Lb(a,b){b?0===--a.Mk&&(a.rc=a.Kh?Eb:a.Zf,a.qk=a.Kh?Eb:a.rk):0===--a.Kk&&(a.kc=a.Vg,a.fk=a.gk)}function jb(a,b,c,d,e){a.V=b;a.ma=c;a.ke=d;a.Kk=a.Mk=0;a.ma&&Mb(a.ma,d,e)}function Jb(a,b,c){a.rc=!a.Kh&&b[2]||Eb;a.qk=!a.Kh&&b[3]||Eb;c&&(a.Zf=b[2]||Eb,a.rk=b[3]||Eb)}function Ib(a,b,c){a.kc=b[0]||Db;a.fk=b[1]||Db;c&&(a.Vg=b[0]||Db,a.gk=b[1]||Db)} +function Nb(a,b){x.call(this,"CPU",a,Nb,1);var c=a.cycles||b,d=a.multiplier||1;this.fa={};this.fa.Cd=c;this.fa.Zd=d;this.fa.Sh=Math.round(this.fa.Cd/1E4)/100;this.fa.cf=this.fa.Sh*this.fa.Zd;this.oa.Wb=!1;this.oa.rb=!1;this.oa.Xi=!1;this.oa.Pi=a.autoStart;this.oa.Vk=!1;c=Pa.autostart;void 0!==c&&(this.oa.Pi="true"==c?!0:"false"==c?!1:null);this.oa.Bf=!1;this.fa.Cg=this.fa.Mf=0;this.fa.Dg=a.csStart;this.fa.Lf=a.csInterval;this.fa.Nf=a.csStop;var e=this;this.Fo=function(){e.hf()};E(this)}Va(x,Nb); +k=Nb.prototype;k.Dc=function(a,b,c,d){this.ua=b;this.ma=d;this.Qa=a;var e=gb(a,"Video");e&&(this.Li=function(){Ob(e)},this.Sc=function(){e.Sc()});this.qa=gb(a,"ChipSet");E(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.jc=function(a,b){if(!b){if(a&&this.restore){Pb(this);if(!this.restore(a))return!1;Qb(this)}else this.reset();this.ma?this.ma.no():this.ba("No debugger detected")}this.oa.Wb=!0;!Rb(this)&&this.ma&&Sb(this.ma);Tb(this);return!0}; +k.ic=function(a){this.oa.Wb=!1;return a&&this.save?this.save():!0};function Rb(a){return!0===a.oa.Pi||null===a.oa.Pi&&!a.ma&&void 0===a.Aa.run?(a.hf(),!0):!1}k.dl=function(){return 0};function Qb(a){void 0===a.fa.Dg&&(a.fa.Dg=0);void 0===a.fa.Lf&&(a.fa.Lf=-1);void 0===a.fa.Nf&&(a.fa.Nf=-1);a.oa.Bf=0<=a.fa.Dg&&0=a.fa.Mf&&(a.fa.Mf+=a.fa.Lf,c=!0);0<=a.fa.Nf&&a.fa.Nf<=F(a)&&(a.fa.Lf=a.fa.Nf=-1,Qb(a),a.ub(),c=!0);c&&a.ba(F(a)+" cycles: checksum="+p(a.fa.Cg))}}function H(a,b,c,d){a.Aa[b]&&(void 0===d&&(d=4),void 0===c&&(eb(a,"Register "+b+" is invalid"),a.ub()),c=!a.oa.rb||a.oa.Vk?p(c,d):"----".substr(0,d),a.Aa[b].textContent!=c&&(a.Aa[b].textContent=c))}k.Bh=function(){};k.Li=function(){};k.Sc=function(){}; +k.Lb=function(a,b,c){var d=this;a=!1;switch(b){case "run":this.Aa[b]=c;c.onclick=function(){d.oa.rb?d.ub(!0):d.hf(!0)};a=!0;break;case "reset":this.Aa[b]=c;c.onclick=function(){d.Qa&&Vb(d.Qa)};a=!0;break;case "speed":this.Aa[b]=c;a=!0;break;case "setSpeed":this.Aa[b]=c,c.onclick=function(){Wb(d,d.fa.Zd<<1,!0)},c.textContent=this.fa.cf.toFixed(2)+"Mhz",a=!0}return a};function Xb(a,b){if(a.oa.rb){var c=a.A-b;a.A-=c;a.ad-=c}}function Yb(a,b,c){a.gf+=b;c&&(a.ad=a.A=0)} +function Zb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1a.fa.Sh&&(c=Math.round(c/a.fa.Zd));return c}function Pb(a){a.fa.ye=0;a.gf=a.Ce=a.ad=a.A=0;Qb(a);Wb(a,1)} +function Wb(a,b,c){if(void 0!==b){0.8>a.fa.ye/a.fa.cf&&(b=1);a.fa.Zd=b;b=a.fa.Sh*a.fa.Zd;if(a.fa.cf!=b){a.fa.cf=b;b=a.fa.cf.toFixed(2)+"Mhz";var d=a.Aa.setSpeed;d&&(d.textContent=b);a.ba("target speed: "+b)}c&&a.Sc()}Yb(a,a.Ce);a.Ce=0;a.fa.Jf=ma();a.fa.df=0;Zb(a)} +k.hf=function(a){if(bb(this,!0)){if(!this.oa.rb){Wb(this);this.Qa&&this.Qa.start(this.fa.Jf,F(this));this.oa.rb=!0;this.oa.Xi=!0;this.qa&&$b(this.qa);var b=this.Aa.run;b&&(b.textContent="Halt");this.Bh(!0);a&&this.Sc()}this.fa.lj>=this.fa.Cd&&Zb(this,!0);this.fa.Gg=0;this.fa.Th=ma();this.fa.df&&(a=this.fa.Th-this.fa.df,a>this.fa.ll&&(this.fa.Jf+=a,this.fa.Jf>this.fa.Th&&(this.fa.Jf=this.fa.Th)));try{do{var c=this.oa.Bf?1:this.fa.Ao;if(this.qa){ac(this.qa);var d=this.qa;a=c;var e=d.Ob[0];if(e.af){var f= +(F(d.V,d.ue)-e.qd)/d.bi|0,g=bc(d,0)-f;6==e.mode&&(g-=f);var h=g*d.bi|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,n=this.qa;a=c;if(n.pa&&n.pa[11]&64){var m=n.Rf-F(n.V,n.ue);0m&&(a=m)}c=a}this.Yf(c);var t=this.ad-this.A;this.Ce+=t;this.fa.Gg+=t;Yb(this,0,!0);Ub(this,t);this.fa.Fg-=t;0>=this.fa.Fg&&(this.fa.Fg+=this.fa.pl,this.Li());this.fa.Eg-=t;0>=this.fa.Eg&&(this.fa.Eg+=this.fa.ol,this.Bh());this.fa.Of-=t;if(0>=this.fa.Of){this.fa.Of+=this.fa.kj;break}}while(this.oa.rb)}catch(s){this.ub();Tb(this); +this.Qa&&this.Qa.stop(ma(),F(this));bb(this,!1);eb(this,s.message);return}c=setTimeout;d=this.Fo;this.fa.df=ma();e=this.fa.ll;this.fa.Gg&&(e=Math.round(e*this.fa.Gg/this.fa.kj));e-=this.fa.df-this.fa.Th;if(f=this.fa.df-this.fa.Jf)this.fa.ye=Math.round(this.Ce/(10*f))/100,864E5<=f&&(this.gf=0,this.qa&&ac(this.qa,!0),Wb(this));if(0>e||this.fa.yethis.wc?this.La+a:rc.call(this,0,0,c)}function rc(a,b,c){c||lc.call(this.V,13,0);return-4} +function tc(a,b,c){return a+b<=this.wc?this.La+a:uc.call(this,0,0,c)}function vc(a,b,c){return a+b>this.wc?this.La+a:uc.call(this,0,0,c)}function uc(a,b,c){c||lc.call(this.V,13,0);return-4} +function zc(a,b){var c=this.V,d=c.lb.La,e=this.ib,f=c.lb.va;if(!b){if(768!=c.lb.type)return lc.call(c,10,a,!0),!1;c.Za(c.lb.Ld+4,c.lb.wb&-769|256)}if(-4==c.lb.load(a))return!1;var g=c.lb.La;if(b){if(768==c.lb.type)return lc.call(c,13,a,!0),!1;c.Za(c.lb.Ld+4,c.lb.wb|=768);c.lb.type=768}c.Za(d+14,c.za);c.Za(d+16,Ac(c));c.Za(d+18,c.G);c.Za(d+20,c.K);c.Za(d+22,c.L);c.Za(d+24,c.C);c.Za(d+26,c.W);c.Za(d+28,c.J);c.Za(d+30,c.H);c.Za(d+32,c.F);c.Za(d+34,c.Pa.va);c.Za(d+36,c.xa.va);c.Za(d+38,c.Ja.va);c.Za(d+ +40,c.cb.va);var d=38,h=26;Bc(c,c.sa(g+16)|(b?16384:0));c.G=c.sa(g+18);c.K=c.sa(g+20);c.L=c.sa(g+22);c.C=c.sa(g+24);c.J=c.sa(g+28);c.H=c.sa(g+30);c.F=c.sa(g+32);c.Pa.load(c.sa(g+34));c.cb.load(c.sa(g+40));Cc(c,c.sa(g+14),c.sa(g+36));this.ib>13;if(6144<=h){v=c&3;if(v>a.ib){if(!1!==t&&!(A==a.ib||g&1024&&A<=a.ib)){n=-4;break}u=e.Ta();e.Ja.load(e.Ta());e.W=u;a.Nh=!0}u=!1}else if(1024==h)u=!0,y=-1,s=c,vh||2048==(h&2560))){d||lc.call(e,13,c,!!g);n=-4;break}}else if(3==a.id){if(!t||4096>h||2048== +(h&2560)){d||lc.call(e,13,c,!0);n=-4;break}}else if(4==a.id){if(!t||256!=h&&768!=h){d||lc.call(e,10,c,!0);n=-4;break}}else if(6==a.id&&!(g&4096)&&768>13}else a.load=ic,a.kl=mc,a.Oc=oc,a.dc=pc,a.wc=65535,a.ib=a.vc=0,a.Ld=-4} +function Fc(a){this.Na=a.model||8088;var b=0;switch(this.Na){default:case 8088:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Nb.call(this,a,b);this.wk=61442;this.eh=1792;this.dh=4;this.Sf=255;this.B=80286<=this.Na?Gc:Hc;this.eb=Ic.slice();this.Om=Jc.slice();this.Pm=Kc.slice();this.zk=Lc;80186<=this.Na&&(this.Sf=31,this.eb[15]=Mc,this.eb[96]=Nc,this.eb[97]=Oc,this.eb[98]=Pc,this.eb[99]=Mc,this.eb[100]=Mc,this.eb[101]=Mc,this.eb[102]=Mc,this.eb[103]=Mc,this.eb[104]=Qc,this.eb[105]=Rc,this.eb[106]= +Sc,this.eb[107]=Tc,this.eb[108]=Uc,this.eb[109]=Vc,this.eb[110]=Wc,this.eb[111]=Xc,this.eb[192]=Yc,this.eb[193]=Zc,this.eb[200]=$c,this.eb[201]=ad,this.eb[241]=bd,this.Om[7]=cd,this.Pm[7]=cd,80286<=this.Na&&(this.wk=2,this.eh|=28672,this.dh=0,this.eb[15]=dd,this.eb[99]=ed,this.eb[84]=fd));this.gh=[];this.hh=[];this.ad=this.ng=0;this.oa.vg=this.oa.Tk=!1;this.Fa=[];this.Oe=this.gb=this.Wa=this.Od=0;this.X=this.ln;this.Y=this.mn;this.P=this.so;this.Q=this.to;this.S=this.Lp;this.T=this.Mp;gd(this)} +Va(Nb,Fc); +var Hc={ak:4,ea:5,Da:6,ja:7,ka:8,R:9,Z:11,aa:12,ef:4,rl:60,sl:83,fc:3,Jb:9,xc:16,Zh:1,wl:19,yl:28,Al:16,zl:21,xl:37,ul:2,uj:9,vl:5,tl:33,wj:10,vj:8,Lg:3,Kg:15,Ol:51,Pl:1,Ql:2,Rl:4,Nl:32,xj:15,Tl:15,gc:16,hc:4,Vl:11,Ul:18,Sl:24,Sb:4,Wl:2,yj:16,Xl:17,Dj:18,Yl:19,Cj:5,Ej:6,cm:2,bm:8,$l:9,am:10,Zl:10,Fj:10,Gj:10,Cl:80,El:144,Bl:86,Dl:154,Gl:101,Il:165,Fl:107,Hl:171,em:70,gm:113,dm:76,fm:124,Kl:80,Ml:128,Jl:86,Ll:134,Ng:3,Mg:16,Lj:10,Kj:8,hm:51,yc:8,im:17,jm:36,Ec:11,km:16,Og:10,Be:2,rj:18,sj:7,tj:15, +zj:12,Aj:7,Bj:11,Hj:18,Ij:7,Jj:15,Mj:15,Nj:7,Oj:13,Sj:11,Tj:7,Uj:8,lm:8,om:12,mm:18,nm:17,pm:15,Qj:8,Pj:20,Rj:2,Xj:3,Pg:9,Wj:5,Vj:11,Zj:4,Yj:17,qm:11},Gc={ak:0,ea:0,Da:0,ja:0,ka:0,R:0,Z:1,aa:1,ef:3,rl:14,sl:16,fc:2,Jb:7,xc:7,Zh:0,wl:7,yl:13,Al:7,zl:11,xl:16,ul:3,uj:6,vl:2,tl:13,wj:5,vj:5,Lg:2,Kg:7,Ol:23,Pl:0,Ql:1,Rl:3,Nl:17,xj:7,Tl:11,gc:7,hc:3,Vl:7,Ul:11,Sl:15,Sb:2,Wl:3,yj:7,Xl:8,Dj:8,Yl:8,Cj:4,Ej:4,cm:2,bm:3,$l:5,am:2,Zl:3,Fj:5,Gj:3,Cl:14,El:22,Bl:17,Dl:25,Gl:17,Il:25,Fl:20,Hl:28,em:13,gm:21,dm:16, +fm:24,Kl:13,Ml:21,Jl:16,Ll:24,Ng:2,Mg:7,Lj:5,Kj:5,hm:19,yc:5,im:5,jm:17,Ec:3,km:5,Og:3,Be:0,rj:8,sj:5,tj:9,zj:5,Aj:5,Bj:4,Hj:5,Ij:5,Jj:4,Mj:7,Nj:5,Oj:8,Sj:3,Tj:4,Uj:3,lm:11,om:11,mm:15,nm:15,pm:7,Qj:5,Pj:8,Rj:0,Xj:2,Pg:6,Wj:3,Vj:6,Zj:3,Yj:5,qm:5};k=Fc.prototype;k.ej=function(a,b,c,d,e){this.Fa=a;this.Oe=b;this.gb=c;this.Wa=d;this.Od=e};k.reset=function(){this.oa.rb&&this.ub();gd(this);Pb(this);this.oa.nd=!1}; +function gd(a){a.G=0;a.C=0;a.K=0;a.L=0;a.W=0;a.J=0;a.H=0;a.F=0;a.lc=65520;a.Xc=0;a.Ne=1023;a.Qf=0;a.Yh=-1;a.xa=new ec(a,gc,"CS");a.cb=new ec(a,2,"DS");a.Pa=new ec(a,2,"ES");a.Ja=new ec(a,3,"SS");80386<=a.Na&&(a.Jp=new ec(a,2,"FS"),a.Kp=new ec(a,2,"GS"));a.Em=new ec(a,0,"NULL");Cc(a,0,65535);80286<=a.Na&&(a.Kc=0,a.Me=65535,a.dd=new ec(a,5,"LDT",!0),a.lb=new ec(a,4,"TSS",!0),a.Xb=new ec(a,6,"VER",!0),Cc(a,65520,61440),a.xa.La=16711680);Bc(a,0);hd(a);a.Eb=0;a.Tb=a.Wg=-1;a.qh=0;a.la=a.Ua=-4;a.D=a.cb; +a.O=a.Ja;a.da=a.Ha=0;a.Tf=2;a.I=65535;a.U=~a.I;a.ya=65535;a.qb=~a.ya;a.td=id;a.ud=jd;a.Le=kd;a.Uc=ld;a.Mb=md;a.fd=nd}k.dl=function(){var a=this.G+this.C+this.K+this.L+this.W+this.J+this.H+this.F|0;return a=a+this.za+this.xa.va+this.cb.va+this.Ja.va+this.Pa.va+Ac(this)|0};function od(a,b,c,d){void 0!==d&&(void 0===a.gh[b]&&(a.gh[b]=[]),a.gh[b].push([c,d]))} +function pd(a,b){var c=a.gh[b];if(void 0!==c)for(var d=0;d>1?128:0}function Jd(a){return(a.na^a.ta^a.na>>1)&a.ga>>1?2048:0}function Kd(a){a.ca&=~a.ga}function Ld(a){a.ta=a.na&16|a.ta&-17}function Md(a){a.ca|=a.ga-1} +function Nd(a){Id(a)&&(a.na^=a.ga>>1|a.ga>>2,a.ta^=32896)}function Od(a){a.na&=~a.ga;a.ta=a.na&32896|a.ta&-32897}function Pd(a){a.ca|=a.ga}function Qd(a){a.ta=~(a.na&16)&16|a.ta&-17}function Rd(a){a.ca&=~(a.ga-1)}function Sd(a){Id(a)||(a.na^=a.ga>>1|a.ga>>2,a.ta^=32896)}function Td(a){a.na|=a.ga;a.ta=a.na&32896|a.ta&-32897}function Ac(a){return a.Ea&-2262|Ed(a)|Fd(a)|Gd(a)|Hd(a)|Id(a)|Jd(a)} +function Bc(a,b,c){a.ga=256;a.ca=a.na=a.ta=0;b&1&&Pd(a);b&4||(a.na|=1);b&16&&(a.ta|=16);b&64||Md(a);b&128&&Sd(a);b&2048&&Td(a);a.lc&1||(b&=-61441);void 0===c&&(c=a.xa.ib);c?b=b&-12289|a.Ea&12288:a.Qf=(b&12288)>>12;c>a.Qf&&(b=b&-513|a.Ea&512);a.Ea=a.Ea&~a.eh|b&a.eh|a.wk;a.Ea&256&&(a.Eb|=2,a.da|=4)} +k.Lb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.Aa[b]=c;d=!0;break;default:d=Nb.prototype.Lb.call(this,a,b,c)}return d};k.sb=function(a){return this.Fa[(a&this.Oe)>>this.gb].kc(a&this.Wa)}; +k.sa=function(a){var b=a&this.Wa;a=(a&this.Oe)>>this.gb;this.A-=this.B.ak;return b!=this.Wa?this.Fa[a].fk(b):this.Fa[a++].kc(b)|this.Fa[a&this.Od].kc(0)<<8};k.rd=function(a,b){this.Fa[(a&this.Oe)>>this.gb].rc(a&this.Wa,b&255)};k.Za=function(a,b){var c=a&this.Wa,d=(a&this.Oe)>>this.gb;this.A-=this.B.ak;c!=this.Wa?this.Fa[d].qk(c,b&65535):(this.Fa[d++].rc(c,b&255),this.Fa[d&this.Od].rc(0,b>>8&255))};k.ln=function(a,b){this.$g=a;this.la=a.Oc(this.Sg=b,0);return this.da&1?0:this.sb(this.la)}; +k.mn=function(a,b){this.$g=a;this.la=a.Oc(this.Sg=b,1);return this.da&1?0:this.sa(this.la)};k.so=function(a,b){this.$g=a;this.Ua=this.la=a.Oc(this.Sg=b,0);return this.da&1?0:this.sb(this.la)};k.to=function(a,b){this.$g=a;this.Ua=this.la=a.Oc(this.Sg=b,1);return this.da&1?0:this.sa(this.la)};k.Lp=function(a){this.da&2||this.rd(this.$g.dc(this.Sg,0),a)};k.Mp=function(a){this.da&2||this.Za(this.$g.dc(this.Sg,1),a)};k.ha=function(){var a=this.sb(this.Ia);this.Ia=this.xa.La+(this.za=this.za+1&65535);return a}; +k.N=function(){var a=this.sb(this.Ia)<<24>>24;this.Ia=this.xa.La+(this.za=this.za+1&65535);return a&65535};k.M=function(){var a=this.sa(this.Ia);this.Ia=this.xa.La+(this.za=this.za+2&65535);return a};k.Ta=function(){var a=this.W;this.W=this.W+2&65535;return this.sa(this.Ja.Oc(a,1))};function I(a,b){var c=a.W=a.W-2&65535;a.Za(a.Ja.dc(c,1),b)} +k.Bh=function(a){if(a||!this.oa.rb||this.oa.Vk)H(this,"AX",this.G),H(this,"BX",this.C),H(this,"CX",this.K),H(this,"DX",this.L),H(this,"SP",this.W),H(this,"BP",this.J),H(this,"SI",this.H),H(this,"DI",this.F),H(this,"CS",this.xa.va),H(this,"DS",this.cb.va),H(this,"SS",this.Ja.va),H(this,"ES",this.Pa.va),H(this,"IP",this.za),a=Ac(this),H(this,"PS",a),H(this,"C",a&1?1:0,1),H(this,"P",a&4?1:0,1),H(this,"A",a&16?1:0,1),H(this,"Z",a&64?1:0,1),H(this,"S",a&128?1:0,1),H(this,"T",a&256?1:0,1),H(this,"I",a& +512?1:0,1),H(this,"D",a&1024?1:0,1),H(this,"V",a&2048?1:0,1);if(a=this.Aa.speed)a.textContent=this.oa.rb&&this.fa.ye?this.fa.ye.toFixed(2)+"Mhz":"Stopped"}; +k.Yf=function(a){this.oa.vg=!0;var b=this.oa.Tk=this.ma&&Ud(this.ma),c=this.oa.Xi||!a;this.oa.Xi=!1;this.ad=this.A=a;this.qa&&!a&&ac(this.qa);a||this.wa(512)||(this.da|=4);do{var d=this.da&240;if(d)this.Ha|=d;else if(this.Tg=this.Ia,this.la=this.Ua=-4,this.D=this.cb,this.O=this.Ja,this.Ha=this.da&256,this.Eb){a:{if(!(this.da&4))if(this.Eb&1&&this.Ea&512){if(d=Vd(this.qa),-1<=d&&(this.Eb&=-2,0<=d)){this.Eb&=-5;Wd.call(this,d,null,11);d=!0;break a}}else if(this.Eb&2){this.Eb&=-3;Wd.call(this,1,null, +11);d=!0;break a}if(d=this.Eb&8){for(var d=this.qa,e=!1,f=0;fthis.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return(this.ca=this.na=a+b)&255}function $d(a,b){this.ga=256;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return(this.ca=this.na=this.ta=a|b)&255} +function ae(a,b){this.ta=a^b;this.ca=this.na=a+b+(this.ca&this.ga?1:0);this.ga=256;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return this.ca&255}function be(a,b){this.ta=a^b;this.ca=this.na=a-b-(this.ca&this.ga?1:0);this.ga=256;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return this.ca&255}function ce(a,b){this.ga=256;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return(this.ca=this.na=this.ta=a&b)&255} +function de(a,b){this.ta=a^b;this.ga=256;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return(this.ca=this.na=a-b)&255}function ee(a,b){this.ga=256;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return(this.ca=this.na=this.ta=a^b)&255}function fe(a,b){this.ta=a^b;this.ga=256;this.ca=this.na=a-b;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.uj:this.B.Jb;this.da|=2;return a} +function ge(a,b){this.ta=a^b;this.ga=65536;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return(this.ca=this.na=a+b)&65535}function he(a,b){this.ga=65536;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return(this.ca=this.na=this.ta=a|b)&65535}function ie(a,b){this.ta=a^b;this.ca=this.na=a+b+(this.ca&this.ga?1:0);this.ga=65536;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return this.ca&65535} +function je(a,b){this.ta=a^b;this.ca=this.na=a-b-(this.ca&this.ga?1:0);this.ga=65536;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return this.ca&65535}function ke(a,b){this.ga=65536;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return(this.ca=this.na=this.ta=a&b)&65535}function le(a,b){this.ta=a^b;this.ga=65536;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return(this.ca=this.na=a-b)&65535} +function me(a,b){this.ga=65536;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.Jb:this.B.xc;return(this.ca=this.na=this.ta=a^b)&65535}function ne(a,b){this.ta=a^b;this.ga=65536;this.ca=this.na=a-b;this.A-=0>this.Ua?0>this.la?this.B.fc:this.B.uj:this.B.Jb;this.da|=2;return a}function oe(a,b){this.ca=this.ca&this.ga-1|(a&b?this.ga:0);(a^a>>1)&b>>1?Td(this):Od(this)}function pe(){this.A-=0>this.la?2:this.B.pm;return 1} +function qe(){var a=this.K&this.Sf;this.A-=(0>this.la?this.B.Qj:this.B.Pj)+(a<this.la?this.B.Qj:this.B.Pj)+(a<this.Ua?this.B.yc:this.B.im;return b},te,te,te,te,te,te,te],xe=[function(a,b){this.A-=0>this.Ua?this.B.am:this.B.Zl;return b},L,L,L,L,L,L,L],ye=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;oe.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);oe.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Sf)%9)?(d=a<< +d|(this.ca&this.ga?1:0)<>9-d,c=d&255):d=a|(this.ca&this.ga?1:0)<<8;oe.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.Sf)%9,c=a>>c|(this.ca&this.ga?1:0)<<8-c|a<<9-c,oe.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8>b-1;this.ca=this.na=c>>1;this.ca=c&1?this.ca|256:this.ca&-257;this.ta=a^this.ca;this.ga=256;a=this.ca}return a&255},L,function(a,b){if(b){8< +b&&(b=9);var c=a<<24>>24>>b-1;this.ca=this.na=c>>1;this.ca=c&1?this.ca|256:this.ca&-257;this.ta=a^this.ca;this.ga=256;a=this.ca}return a&255}],ze=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;oe.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);oe.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.Sf)%17)?(d=a<>17-d,c=d&65535):d=a|(this.ca&this.ga? +1:0)<<16;oe.call(this,d,65536)}return c},function(a,b){var c=a;b&&(c=(b&this.Sf)%17,c=a>>c|(this.ca&this.ga?1:0)<<16-c|a<<17-c,oe.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16>b-1;this.ca=this.na=c>>1;this.ca=c&1?this.ca|65536:this.ca&-65537;this.ta=a^this.ca;this.ga=65536;a=this.ca}return a&65535},L,function(a,b){if(b){16>16>>b-1;this.ca= +this.na=c>>1;this.ca=c&1?this.ca|65536:this.ca&-65537;this.ta=a^this.ca;this.ga=65536;a=this.ca}return a&65535}],Be=[function(a,b){b=this.ha();this.ca=this.na=this.ta=a&b;this.ga=256;this.A-=0>this.la?this.B.Wj:this.B.Vj;this.da|=2;return a},L,function(a){this.A-=0>this.la?this.B.Ng:this.B.Mg;return a^255},function(a,b){b=0;this.ta=a^b;this.ga=256;this.A-=0>this.la?this.B.Ng:this.B.Mg;return(this.ca=this.na=b-a)&255},function(a){this.G=this.Tb=(this.ca=(this.G&255)*a)&65535;this.ta=this.na=this.ca; +this.ga=256;this.G&65280?(Pd(this),Td(this)):(Kd(this),Od(this));this.A-=0>this.la?this.B.em:this.B.dm;this.da|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24);this.G=this.Tb=b&65535;this.ca=this.ta=this.na=b;this.ga=256;127b?(Pd(this),Td(this)):(Kd(this),Od(this));this.A-=0>this.la?this.B.Kl:this.B.Jl;this.da|=2;return a},function(a){if(!a)return Ae.call(this),a;var b=this.G/a;if(255this.la?this.B.Cl:this.B.Bl;this.da|=2;return a},function(a){if(!a)return Ae.call(this),a;var b=(this.G<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Ae.call(this),a;this.Tb=this.G=b&255|((this.G<<16>>16)%(a<<24>>24)&255)<<8;this.na=this.ta=this.ca=b|256;this.ga=256;this.A-=0>this.la?this.B.Gl:this.B.Fl;this.da|=2;return a}],Ce=[function(a,b){b=this.M();this.ca=this.na=this.ta=a&b;this.ga=65536;this.A-=0>this.la?this.B.Wj:this.B.Vj;this.da|=2;return a},L,function(a){this.A-= +0>this.la?this.B.Ng:this.B.Mg;return a^65535},function(a,b){b=0;this.ta=a^b;this.ga=65536;this.A-=0>this.la?this.B.Ng:this.B.Mg;return(this.ca=this.na=b-a)&65535},function(a){this.Tb=this.G=(this.ca=this.G*a)&65535;this.Wg=this.L=this.ca>>16&65535;this.ta=this.na=this.ca;this.ga=65536;this.L?(Pd(this),Td(this)):(Kd(this),Od(this));this.A-=0>this.la?this.B.gm:this.B.fm;this.da|=2;return a},function(a){var b=(this.G<<16>>16)*(a<<16>>16);this.G=this.Tb=b&65535;this.L=this.Wg=b>>16&65535;this.ca=this.ta= +this.na=b;this.ga=65536;32767b?(Pd(this),Td(this)):(Kd(this),Od(this));this.A-=0>this.la?this.B.Ml:this.B.Ll;this.da|=2;return a},function(a,b){if(!a)return Ae.call(this),a;b=this.G+65536*this.L;var c=Math.floor(b/a);if(65536<=c)return Ae.call(this),a;this.Tb=this.G=c&65535;this.Wg=this.L=b%a&65535;this.na=this.ta=this.ca=c|65536;this.ga=65536;this.A-=0>this.la?this.B.El:this.B.Dl;this.da|=2;return a},function(a,b){if(!a)return Ae.call(this),a;var c=a<<16>>16;b=this.L<<16|this.G;var d= +Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Ae.call(this),a;this.Tb=this.G=d&65535;this.Wg=this.L=b%c&65535;this.na=this.ta=this.ca=d|65536;this.ga=65536;this.A-=0>this.la?this.B.Il:this.B.Hl;this.da|=2;return a}],Jc=[function(a){this.ta=a;a=(this.na=a+1)&255;this.ca=a|(this.ca&this.ga?1:0)<<8;this.ga=256;this.A-=0>this.la?this.B.Lg:this.B.Kg;return a},function(a){this.ta=a;a=(this.na=a-1)&255;this.ca=a|(this.ca&this.ga?1:0)<<8;this.ga=256;this.A-=0>this.la?this.B.Lg:this.B.Kg;return a},L,L,L, +L,L,L],Kc=[function(a){this.ta=a;a=(this.na=a+1)&65535;this.ca=a|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=0>this.la?this.B.Lg:this.B.Kg;return a},function(a){this.ta=a;a=(this.na=a-1)&65535;this.ca=a|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=0>this.la?this.B.Lg:this.B.Kg;return a},function(a){I(this,this.za);J(this,a);this.A-=0>this.la?this.B.Al:this.B.zl;this.da|=2;return a},function(a){if(0>this.la)return L.call(this,a);De.call(this,a,this.sa(this.la+2));this.A-=this.B.xl;this.da|= +2;return a},function(a){J(this,a);this.A-=0>this.la?this.B.Vl:this.B.Ul;this.da|=2;return a},function(a){if(0>this.la)return L.call(this,a);Cc(this,a,this.sa(this.la+2));this.ng&&td(this,this.Ia);this.A-=this.B.Sl;this.da|=2;return a},function(a){var b=a;this.da&512&&(a=a-2&65535,80286>this.Na&&(b=a));I(this,b);this.A-=0>this.la?this.B.Ec:this.B.km;this.da|=2;return a},te];function Ee(a,b){this.A-=0>this.Ua?0>this.la?this.B.cm:this.B.bm:this.B.$l;return b} +function Fe(){return Ee.call(this,0,this.Tb)}function Ge(a,b){this.ca=this.na=this.ta=a&b;this.ga=256;this.A-=0>this.Ua?0>this.la?this.B.Xj:this.B.Pg:this.B.Pg;this.da|=2;return a}function He(a,b){this.ca=this.na=this.ta=a&b;this.ga=65536;this.A-=0>this.Ua?0>this.la?this.B.Xj:this.B.Pg:this.B.Pg;this.da|=2;return a} +function Ie(a,b){var c=(b<<16>>16)*(this.ha()<<24>>24);this.ca=this.ta=this.na=c;this.ga=256;32767c?(Pd(this),Td(this)):(Kd(this),Od(this));this.A-=0>this.la?21:24;return c&65535}function Je(a,b){var c=(b<<16>>16)*(this.M()<<16>>16);this.ca=this.ta=this.na=c;this.ga=65536;32767c?(Pd(this),Td(this)):(Kd(this),Od(this));this.A-=0>this.la?21:24;return c&65535}function Ke(a){return a}function Le(a){if(0>this.la)return M.call(this),a;this.A-=this.B.Wl;return this.la} +function Pe(a,b){if(0>this.la)return M.call(this),a;yd(this,this.sa(this.la+2));this.A-=this.B.yj;return b}function Qe(a,b){if(0>this.la)return M.call(this),a;Ad(this,this.sa(this.la+2));this.A-=this.B.yj;return b}function Re(a){if(0>this.la)return Mc.call(this),a;var b=a<<16>>16,c=this.sa(this.la)<<16>>16,d=this.sa(this.la+2)<<16>>16;this.A-=this.B.tl;if(bd)J(this,this.Tg-this.xa.La),Wd.call(this,5,null,0);this.da|=2;return a} +function Se(a,b){this.A-=10+(0>this.la?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Rd(this),a;Md(this);return a}function Te(a,b){this.A-=14+(0>this.la?0:2);if(-4!=this.Xb.load(b,!0)&&this.Xb.vc>=this.xa.ib&&this.Xb.vc>=(b&3))return Rd(this),this.Xb.wb&65280;Md(this);return a}function Ue(a,b){this.A-=14+(0>this.la?0:2);if(b&65528&&-4!=this.Xb.load(b,!0)&&(7168==(this.Xb.wb&7168)||this.Xb.vc>=this.xa.ib)&&this.Xb.vc>=(b&3))return Rd(this),this.Xb.wc;Md(this);return a} +function Ve(a,b){if(0>this.la){switch(this.qh&7){case 0:this.G=this.G&-256|a;break;case 1:this.K=this.K&-256|a;break;case 2:this.L=this.L&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.G=this.G&255|a<<8;break;case 5:this.K=this.K&255|a<<8;break;case 6:this.L=this.L&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.Zj}else this.Ua=this.la,this.S(a),this.A-=this.B.Yj;return b} +function We(a,b){if(0>this.la){switch(this.qh&7){case 0:this.G=a;break;case 1:this.K=a;break;case 2:this.L=a;break;case 3:this.C=a;break;case 4:this.W=a;break;case 5:this.J=a;break;case 6:this.H=a;break;case 7:this.F=a}this.A-=this.B.Zj}else this.Ua=this.la,this.T(a),this.A-=this.B.Yj;return b}function Xe(a){a|=this.lc&1;this.lc=this.lc&65520|a&-65521;this.lc&1&&hd(this,!0)}function De(a,b){var c=this.xa.va,d=this.za;null!=Cc(this,a,b,!0)&&(I(this,c),I(this,d))} +function Ye(a){var b=this.Ta(),c=this.Ta();a&&(this.W=this.W+a&65535);Cc(this,b,c,!1)&&(a&&(this.W=this.W+a&65535),this.cb.va&65528&&this.cb.vcthis.Yh)J(this,this.Tg-this.xa.La),d=!0;else if(8!=this.Yh)b=0,a=8,d=!0;else{Ze.call(this,-1,0,c);gd(this);return}Ze.call(this,a,b,c)&&(d=!1);d&&Wd.call(this,this.Yh=a,b,0);this.da&=-4}else this.jb("Fault "+q(a)+" blocked by Debugger",536870912),J(this,this.Tg-this.xa.La)} +function Ze(a,b,c){var d=32,e=pb(this.ua,this.Ia);204==e&&(c=!1,d|=1);983040<=this.Ia&&1048575>=this.Ia&&(c=!1);this.wa(d|1073741824)&&(c=!0);if(this.wa(d)||c)a=(c?"\n":"")+"Fault "+q(a)+(null!=b?" ("+r(b)+")":"")+" on opcode 0x"+q(e)+" at "+da(this.za,this.xa.va)+" (%"+p(this.Ia,6)+")",b=this.oa.rb,this.jb(a,d)?c&&(c=b,this.ma.ub()):(this.Ma(a),this.ub());return c}function Mc(){lc.call(this,6);this.ub()} +function M(){J(this,this.Tg-this.xa.La);eb(this,"Undefined opcode 0x"+q(pb(this.ua,this.Ia))+" at "+da(this.za,this.xa.va));this.ub()}function $e(a){a=a.call(this,this.G&255,this.G&255);this.G=this.G&-256|a}function af(a){a=a.call(this,this.G&255,this.K&255);this.G=this.G&-256|a}function bf(a){a=a.call(this,this.G&255,this.L&255);this.G=this.G&-256|a}function cf(a){a=a.call(this,this.G&255,this.C&255);this.G=this.G&-256|a} +function df(a){a=a.call(this,this.G&255,this.G>>8&255);this.G=this.G&-256|a}function ef(a){a=a.call(this,this.G&255,this.K>>8&255);this.G=this.G&-256|a}function ff(a){a=a.call(this,this.G&255,this.L>>8&255);this.G=this.G&-256|a}function gf(a){a=a.call(this,this.G&255,this.C>>8&255);this.G=this.G&-256|a}function hf(a){a=a.call(this,this.K&255,this.G&255);this.K=this.K&-256|a}function jf(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a} +function kf(a){a=a.call(this,this.K&255,this.L&255);this.K=this.K&-256|a}function lf(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}function mf(a){a=a.call(this,this.K&255,this.G>>8&255);this.K=this.K&-256|a}function nf(a){a=a.call(this,this.K&255,this.K>>8&255);this.K=this.K&-256|a}function of(a){a=a.call(this,this.K&255,this.L>>8&255);this.K=this.K&-256|a}function pf(a){a=a.call(this,this.K&255,this.C>>8&255);this.K=this.K&-256|a} +function qf(a){a=a.call(this,this.L&255,this.G&255);this.L=this.L&-256|a}function rf(a){a=a.call(this,this.L&255,this.K&255);this.L=this.L&-256|a}function sf(a){a=a.call(this,this.L&255,this.L&255);this.L=this.L&-256|a}function tf(a){a=a.call(this,this.L&255,this.C&255);this.L=this.L&-256|a}function uf(a){a=a.call(this,this.L&255,this.G>>8&255);this.L=this.L&-256|a}function vf(a){a=a.call(this,this.L&255,this.K>>8&255);this.L=this.L&-256|a} +function wf(a){a=a.call(this,this.L&255,this.L>>8&255);this.L=this.L&-256|a}function xf(a){a=a.call(this,this.L&255,this.C>>8&255);this.L=this.L&-256|a}function yf(a){a=a.call(this,this.C&255,this.G&255);this.C=this.C&-256|a}function zf(a){a=a.call(this,this.C&255,this.K&255);this.C=this.C&-256|a}function Af(a){a=a.call(this,this.C&255,this.L&255);this.C=this.C&-256|a}function Bf(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a} +function Cf(a){a=a.call(this,this.C&255,this.G>>8&255);this.C=this.C&-256|a}function Df(a){a=a.call(this,this.C&255,this.K>>8&255);this.C=this.C&-256|a}function Ef(a){a=a.call(this,this.C&255,this.L>>8&255);this.C=this.C&-256|a}function Ff(a){a=a.call(this,this.C&255,this.C>>8&255);this.C=this.C&-256|a}function Gf(a){a=a.call(this,this.G>>8&255,this.G&255);this.G=this.G&-65281|a<<8}function Hf(a){a=a.call(this,this.G>>8&255,this.K&255);this.G=this.G&-65281|a<<8} +function If(a){a=a.call(this,this.G>>8&255,this.L&255);this.G=this.G&-65281|a<<8}function Jf(a){a=a.call(this,this.G>>8&255,this.C&255);this.G=this.G&-65281|a<<8}function Kf(a){a=a.call(this,this.G>>8&255,this.G>>8&255);this.G=this.G&-65281|a<<8}function Lf(a){a=a.call(this,this.G>>8&255,this.K>>8&255);this.G=this.G&-65281|a<<8}function Mf(a){a=a.call(this,this.G>>8&255,this.L>>8&255);this.G=this.G&-65281|a<<8}function Nf(a){a=a.call(this,this.G>>8&255,this.C>>8&255);this.G=this.G&-65281|a<<8} +function Of(a){a=a.call(this,this.K>>8&255,this.G&255);this.K=this.K&-65281|a<<8}function Pf(a){a=a.call(this,this.K>>8&255,this.K&255);this.K=this.K&-65281|a<<8}function Qf(a){a=a.call(this,this.K>>8&255,this.L&255);this.K=this.K&-65281|a<<8}function Rf(a){a=a.call(this,this.K>>8&255,this.C&255);this.K=this.K&-65281|a<<8}function Sf(a){a=a.call(this,this.K>>8&255,this.G>>8&255);this.K=this.K&-65281|a<<8}function Tf(a){a=a.call(this,this.K>>8&255,this.K>>8&255);this.K=this.K&-65281|a<<8} +function Uf(a){a=a.call(this,this.K>>8&255,this.L>>8&255);this.K=this.K&-65281|a<<8}function Vf(a){a=a.call(this,this.K>>8&255,this.C>>8&255);this.K=this.K&-65281|a<<8}function Wf(a){a=a.call(this,this.L>>8&255,this.G&255);this.L=this.L&-65281|a<<8}function Xf(a){a=a.call(this,this.L>>8&255,this.K&255);this.L=this.L&-65281|a<<8}function Yf(a){a=a.call(this,this.L>>8&255,this.L&255);this.L=this.L&-65281|a<<8}function Zf(a){a=a.call(this,this.L>>8&255,this.C&255);this.L=this.L&-65281|a<<8} +function $f(a){a=a.call(this,this.L>>8&255,this.G>>8&255);this.L=this.L&-65281|a<<8}function ag(a){a=a.call(this,this.L>>8&255,this.K>>8&255);this.L=this.L&-65281|a<<8}function bg(a){a=a.call(this,this.L>>8&255,this.L>>8&255);this.L=this.L&-65281|a<<8}function cg(a){a=a.call(this,this.L>>8&255,this.C>>8&255);this.L=this.L&-65281|a<<8}function dg(a){a=a.call(this,this.C>>8&255,this.G&255);this.C=this.C&-65281|a<<8}function eg(a){a=a.call(this,this.C>>8&255,this.K&255);this.C=this.C&-65281|a<<8} +function fg(a){a=a.call(this,this.C>>8&255,this.L&255);this.C=this.C&-65281|a<<8}function gg(a){a=a.call(this,this.C>>8&255,this.C&255);this.C=this.C&-65281|a<<8}function hg(a){a=a.call(this,this.C>>8&255,this.G>>8&255);this.C=this.C&-65281|a<<8}function ig(a){a=a.call(this,this.C>>8&255,this.K>>8&255);this.C=this.C&-65281|a<<8}function jg(a){a=a.call(this,this.C>>8&255,this.L>>8&255);this.C=this.C&-65281|a<<8}function kg(a){a=a.call(this,this.C>>8&255,this.C>>8&255);this.C=this.C&-65281|a<<8} +var id=[function(a){a=a.call(this,this.P(this.D,this.C+this.H&65535),this.G&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.G&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.H&65535),this.G&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.G&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.H&65535),this.G&255);this.S(a);this.A-=this.B.ea}, +function(a){a=a.call(this,this.P(this.D,this.F&65535),this.G&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.M()),this.G&255);this.S(a);this.A-=this.B.Da},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.G&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.H&65535),this.K&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this, +this.P(this.O,this.J+this.H&65535),this.K&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.K&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.H&65535),this.K&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.K&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.M()),this.K&255);this.S(a);this.A-=this.B.Da},function(a){a=a.call(this,this.P(this.D,this.C& +65535),this.K&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.H&65535),this.L&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.L&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.H&65535),this.L&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.L&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.H& +65535),this.L&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.L&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.M()),this.L&255);this.S(a);this.A-=this.B.Da},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.L&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.H&65535),this.C&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.C&255); +this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.H&65535),this.C&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.C&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.H&65535),this.C&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.C&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.M()),this.C&255);this.S(a);this.A-= +this.B.Da},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.C&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.H&65535),this.G>>8&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.G>>8&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.H&65535),this.G>>8&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.G>>8&255);this.S(a); +this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.H&65535),this.G>>8&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.G>>8&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.M()),this.G>>8&255);this.S(a);this.A-=this.B.Da},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.G>>8&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.H&65535),this.K>>8&255);this.S(a);this.A-= +this.B.ja},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K>>8&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.H&65535),this.K>>8&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.K>>8&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.H&65535),this.K>>8&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.K>>8&255);this.S(a); +this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.M()),this.K>>8&255);this.S(a);this.A-=this.B.Da},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.K>>8&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.H&65535),this.L>>8&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.L>>8&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.H&65535),this.L>>8&255);this.S(a); +this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.L>>8&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.H&65535),this.L>>8&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.L>>8&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.M()),this.L>>8&255);this.S(a);this.A-=this.B.Da},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.L>>8&255);this.S(a);this.A-= +this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.H&65535),this.C>>8&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.C>>8&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.H&65535),this.C>>8&255);this.S(a);this.A-=this.B.ka},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.C>>8&255);this.S(a);this.A-=this.B.ja},function(a){a=a.call(this,this.P(this.D,this.H&65535),this.C>>8&255);this.S(a); +this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.C>>8&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.M()),this.C>>8&255);this.S(a);this.A-=this.B.Da},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.C>>8&255);this.S(a);this.A-=this.B.ea},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.N()&65535),this.G&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.G&255); +this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.N()&65535),this.G&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.G&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.N()&65535),this.G&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.G&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+ +this.N()&65535),this.G&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.G&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.aa},function(a){a= +a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.R}, +function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.N()&65535), +this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+ +this.F+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a= +a.call(this,this.P(this.O,this.J+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.N()&65535),this.G>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.G>>8&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.N()&65535),this.G>>8&255); +this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.G>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.N()&65535),this.G>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.G>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.N()&65535),this.G>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+ +this.N()&65535),this.G>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.K>>8&255);this.S(a);this.A-= +this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.N()&65535), +this.L>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a= +a.call(this,this.P(this.D,this.F+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.C>>8&255); +this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O, +this.J+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.M()&65535),this.G&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.G&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.M()&65535),this.G&255);this.S(a);this.A-=this.B.aa}, +function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.G&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.M()&65535),this.G&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.G&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.G&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.G&255);this.S(a); +this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+ +this.M()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this, +this.P(this.D,this.C+this.F+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.L&255);this.S(a);this.A-= +this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.M()&65535),this.C&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.C&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.M()&65535), +this.C&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.C&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.M()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+ +this.M()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.M()&65535),this.G>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.G>>8&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.M()&65535),this.G>>8&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.G>>8&255);this.S(a);this.A-=this.B.Z}, +function(a){a=a.call(this,this.P(this.D,this.H+this.M()&65535),this.G>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.G>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.G>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.G>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.M()&65535),this.K>> +8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this, +this.P(this.D,this.F+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.L>>8&255);this.S(a);this.A-= +this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()& +65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.H+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.O,this.J+this.H+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.aa},function(a){a= +a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.D,this.H+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.C>>8&255);this.S(a); +this.A-=this.B.R},$e,hf,qf,yf,Gf,Of,Wf,dg,af,jf,rf,zf,Hf,Pf,Xf,eg,bf,kf,sf,Af,If,Qf,Yf,fg,cf,lf,tf,Bf,Jf,Rf,Zf,gg,df,mf,uf,Cf,Kf,Sf,$f,hg,ef,nf,vf,Df,Lf,Tf,ag,ig,ff,of,wf,Ef,Mf,Uf,bg,jg,gf,pf,xf,Ff,Nf,Vf,cg,kg],jd=[function(a){a=a.call(this,this.G&255,this.X(this.D,this.C+this.H&65535));this.G=this.G&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.G&255,this.X(this.D,this.C+this.F&65535));this.G=this.G&-256|a;this.A-=this.B.ka},function(a){a=a.call(this,this.G&255,this.X(this.O,this.J+this.H& +65535));this.G=this.G&-256|a;this.A-=this.B.ka},function(a){a=a.call(this,this.G&255,this.X(this.O,this.J+this.F&65535));this.G=this.G&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.G&255,this.X(this.D,this.H&65535));this.G=this.G&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.G&255,this.X(this.D,this.F&65535));this.G=this.G&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.G&255,this.X(this.D,this.M()));this.G=this.G&-256|a;this.A-=this.B.Da},function(a){a=a.call(this, +this.G&255,this.X(this.D,this.C&65535));this.G=this.G&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.K&255,this.X(this.D,this.C+this.H&65535));this.K=this.K&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.K&255,this.X(this.D,this.C+this.F&65535));this.K=this.K&-256|a;this.A-=this.B.ka},function(a){a=a.call(this,this.K&255,this.X(this.O,this.J+this.H&65535));this.K=this.K&-256|a;this.A-=this.B.ka},function(a){a=a.call(this,this.K&255,this.X(this.O,this.J+this.F&65535));this.K=this.K& +-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.K&255,this.X(this.D,this.H&65535));this.K=this.K&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.K&255,this.X(this.D,this.F&65535));this.K=this.K&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.K&255,this.X(this.D,this.M()));this.K=this.K&-256|a;this.A-=this.B.Da},function(a){a=a.call(this,this.K&255,this.X(this.D,this.C&65535));this.K=this.K&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.L&255,this.X(this.D,this.C+ +this.H&65535));this.L=this.L&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.L&255,this.X(this.D,this.C+this.F&65535));this.L=this.L&-256|a;this.A-=this.B.ka},function(a){a=a.call(this,this.L&255,this.X(this.O,this.J+this.H&65535));this.L=this.L&-256|a;this.A-=this.B.ka},function(a){a=a.call(this,this.L&255,this.X(this.O,this.J+this.F&65535));this.L=this.L&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.L&255,this.X(this.D,this.H&65535));this.L=this.L&-256|a;this.A-=this.B.ea},function(a){a= +a.call(this,this.L&255,this.X(this.D,this.F&65535));this.L=this.L&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.L&255,this.X(this.D,this.M()));this.L=this.L&-256|a;this.A-=this.B.Da},function(a){a=a.call(this,this.L&255,this.X(this.D,this.C&65535));this.L=this.L&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.C&255,this.X(this.D,this.C+this.H&65535));this.C=this.C&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.C&255,this.X(this.D,this.C+this.F&65535));this.C=this.C&-256| +a;this.A-=this.B.ka},function(a){a=a.call(this,this.C&255,this.X(this.O,this.J+this.H&65535));this.C=this.C&-256|a;this.A-=this.B.ka},function(a){a=a.call(this,this.C&255,this.X(this.O,this.J+this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ja},function(a){a=a.call(this,this.C&255,this.X(this.D,this.H&65535));this.C=this.C&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.C&255,this.X(this.D,this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.C&255,this.X(this.D, +this.M()));this.C=this.C&-256|a;this.A-=this.B.Da},function(a){a=a.call(this,this.C&255,this.X(this.D,this.C&65535));this.C=this.C&-256|a;this.A-=this.B.ea},function(a){a=a.call(this,this.G>>8&255,this.X(this.D,this.C+this.H&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.G>>8&255,this.X(this.D,this.C+this.F&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.ka},function(a){a=a.call(this,this.G>>8&255,this.X(this.O,this.J+this.H&65535));this.G=this.G&-65281|a<<8; +this.A-=this.B.ka},function(a){a=a.call(this,this.G>>8&255,this.X(this.O,this.J+this.F&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.G>>8&255,this.X(this.D,this.H&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.G>>8&255,this.X(this.D,this.F&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.G>>8&255,this.X(this.D,this.M()));this.G=this.G&-65281|a<<8;this.A-=this.B.Da},function(a){a=a.call(this, +this.G>>8&255,this.X(this.D,this.C&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.C+this.H&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.C+this.F&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.ka},function(a){a=a.call(this,this.K>>8&255,this.X(this.O,this.J+this.H&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.ka},function(a){a=a.call(this,this.K>>8&255,this.X(this.O, +this.J+this.F&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.H&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.F&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.M()));this.K=this.K&-65281|a<<8;this.A-=this.B.Da},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.C&65535));this.K=this.K&-65281|a<<8;this.A-= +this.B.ea},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.C+this.H&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.C+this.F&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ka},function(a){a=a.call(this,this.L>>8&255,this.X(this.O,this.J+this.H&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ka},function(a){a=a.call(this,this.L>>8&255,this.X(this.O,this.J+this.F&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ja},function(a){a= +a.call(this,this.L>>8&255,this.X(this.D,this.H&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.F&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.M()));this.L=this.L&-65281|a<<8;this.A-=this.B.Da},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.C&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.C+this.H& +65535));this.C=this.C&-65281|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.C+this.F&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.ka},function(a){a=a.call(this,this.C>>8&255,this.X(this.O,this.J+this.H&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.ka},function(a){a=a.call(this,this.C>>8&255,this.X(this.O,this.J+this.F&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.ja},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.H&65535));this.C=this.C&-65281| +a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.F&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.M()));this.C=this.C&-65281|a<<8;this.A-=this.B.Da},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.C&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.ea},function(a){a=a.call(this,this.G&255,this.X(this.D,this.C+this.H+this.N()&65535));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this, +this.G&255,this.X(this.D,this.C+this.F+this.N()&65535));this.G=this.G&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&255,this.X(this.O,this.J+this.H+this.N()&65535));this.G=this.G&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&255,this.X(this.O,this.J+this.F+this.N()&65535));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,this.X(this.D,this.H+this.N()&65535));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,this.X(this.D, +this.F+this.N()&65535));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,this.X(this.O,this.J+this.N()&65535));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,this.X(this.D,this.C+this.N()&65535));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.X(this.D,this.C+this.H+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&255,this.X(this.D,this.C+this.F+this.N()&65535));this.K= +this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&255,this.X(this.O,this.J+this.H+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&255,this.X(this.O,this.J+this.F+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&255,this.X(this.D,this.H+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.X(this.D,this.F+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.R}, +function(a){a=a.call(this,this.K&255,this.X(this.O,this.J+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.X(this.D,this.C+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.X(this.D,this.C+this.H+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&255,this.X(this.D,this.C+this.F+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.L& +255,this.X(this.O,this.J+this.H+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.L&255,this.X(this.O,this.J+this.F+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&255,this.X(this.D,this.H+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.X(this.D,this.F+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.X(this.O,this.J+this.N()& +65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.X(this.D,this.C+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,this.X(this.D,this.C+this.H+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,this.X(this.D,this.C+this.F+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.X(this.O,this.J+this.H+this.N()&65535));this.C=this.C&-256| +a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.X(this.O,this.J+this.F+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,this.X(this.D,this.H+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,this.X(this.D,this.F+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,this.X(this.O,this.J+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this, +this.C&255,this.X(this.D,this.C+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8&255,this.X(this.D,this.C+this.H+this.N()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.G>>8&255,this.X(this.D,this.C+this.F+this.N()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.G>>8&255,this.X(this.O,this.J+this.H+this.N()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this, +this.G>>8&255,this.X(this.O,this.J+this.F+this.N()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.G>>8&255,this.X(this.D,this.H+this.N()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8&255,this.X(this.D,this.F+this.N()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8&255,this.X(this.O,this.J+this.N()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>> +8&255,this.X(this.D,this.C+this.N()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.C+this.H+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.C+this.F+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.K>>8&255,this.X(this.O,this.J+this.H+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this, +this.K>>8&255,this.X(this.O,this.J+this.F+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.H+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.F+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.X(this.O,this.J+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>> +8&255,this.X(this.D,this.C+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.C+this.H+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.C+this.F+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.L>>8&255,this.X(this.O,this.J+this.H+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this, +this.L>>8&255,this.X(this.O,this.J+this.F+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.H+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.F+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.X(this.O,this.J+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>> +8&255,this.X(this.D,this.C+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.C+this.H+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.C+this.F+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8&255,this.X(this.O,this.J+this.H+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this, +this.C>>8&255,this.X(this.O,this.J+this.F+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.H+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.F+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.X(this.O,this.J+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>> +8&255,this.X(this.D,this.C+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,this.X(this.D,this.C+this.H+this.M()&65535));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,this.X(this.D,this.C+this.F+this.M()&65535));this.G=this.G&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&255,this.X(this.O,this.J+this.H+this.M()&65535));this.G=this.G&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&255,this.X(this.O, +this.J+this.F+this.M()&65535));this.G=this.G&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&255,this.X(this.D,this.H+this.M()&65535));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,this.X(this.D,this.F+this.M()&65535));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,this.X(this.O,this.J+this.M()&65535));this.G=this.G&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&255,this.X(this.D,this.C+this.M()&65535));this.G=this.G& +-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.X(this.D,this.C+this.H+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&255,this.X(this.D,this.C+this.F+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&255,this.X(this.O,this.J+this.H+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&255,this.X(this.O,this.J+this.F+this.M()&65535));this.K=this.K&-256|a;this.A-= +this.B.Z},function(a){a=a.call(this,this.K&255,this.X(this.D,this.H+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.X(this.D,this.F+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.X(this.O,this.J+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.X(this.D,this.C+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255, +this.X(this.D,this.C+this.H+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&255,this.X(this.D,this.C+this.F+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.L&255,this.X(this.O,this.J+this.H+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.L&255,this.X(this.O,this.J+this.F+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&255,this.X(this.D,this.H+ +this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.X(this.D,this.F+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.X(this.O,this.J+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.X(this.D,this.C+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,this.X(this.D,this.C+this.H+this.M()&65535));this.C=this.C&-256|a; +this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,this.X(this.D,this.C+this.F+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.X(this.O,this.J+this.H+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.X(this.O,this.J+this.F+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,this.X(this.D,this.H+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a= +a.call(this,this.C&255,this.X(this.D,this.F+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,this.X(this.O,this.J+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,this.X(this.D,this.C+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8&255,this.X(this.D,this.C+this.H+this.M()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.G>>8&255,this.X(this.D, +this.C+this.F+this.M()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.G>>8&255,this.X(this.O,this.J+this.H+this.M()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.G>>8&255,this.X(this.O,this.J+this.F+this.M()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.G>>8&255,this.X(this.D,this.H+this.M()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8&255,this.X(this.D, +this.F+this.M()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8&255,this.X(this.O,this.J+this.M()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.G>>8&255,this.X(this.D,this.C+this.M()&65535));this.G=this.G&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.C+this.H+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.C+ +this.F+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.K>>8&255,this.X(this.O,this.J+this.H+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.K>>8&255,this.X(this.O,this.J+this.F+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.H+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.X(this.D, +this.F+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.X(this.O,this.J+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.X(this.D,this.C+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.C+this.H+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.C+ +this.F+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.L>>8&255,this.X(this.O,this.J+this.H+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.L>>8&255,this.X(this.O,this.J+this.F+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.H+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.X(this.D, +this.F+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.X(this.O,this.J+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.X(this.D,this.C+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.C+this.H+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.C+ +this.F+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8&255,this.X(this.O,this.J+this.H+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8&255,this.X(this.O,this.J+this.F+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.H+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.X(this.D, +this.F+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.X(this.O,this.J+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.X(this.D,this.C+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},$e,af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg, +kg],kd=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[0].call(this,this.P(this.D, +this.H&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.Da},function(a,b){var c=a[0].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c= +a[1].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[1].call(this,this.P(this.D,this.H&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.P(this.D,this.F&65535),b.call(this)); +this.S(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.Da},function(a,b){var c=a[1].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[2].call(this,this.P(this.O, +this.J+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[2].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[2].call(this,this.P(this.D,this.H&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.Da},function(a, +b){var c=a[2].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.F&65535), +b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[3].call(this,this.P(this.D,this.H&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[3].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[3].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.Da},function(a,b){var c=a[3].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[4].call(this,this.P(this.D, +this.C+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[4].call(this,this.P(this.D,this.H&65535),b.call(this));this.S(c);this.A-=this.B.ea}, +function(a,b){var c=a[4].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[4].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.Da},function(a,b){var c=a[4].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F&65535),b.call(this)); +this.S(c);this.A-=this.B.ka},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[5].call(this,this.P(this.D,this.H&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this, +this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.Da},function(a,b){var c=a[5].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.H&65535),b.call(this));this.S(c);this.A-= +this.B.ka},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[6].call(this,this.P(this.D,this.H&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.Da},function(a,b){var c=a[6].call(this,this.P(this.D,this.C&65535), +b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.H&65535),b.call(this));this.S(c);this.A-=this.B.ka},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ja},function(a, +b){var c=a[7].call(this,this.P(this.D,this.H&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.Da},function(a,b){var c=a[7].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.H+this.N()&65535),b.call(this)); +this.S(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.P(this.D,this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R}, +function(a,b){var c=a[0].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.P(this.D, +this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.P(this.D,this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.D,this.F+this.N()&65535), +b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-= +this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.O,this.J+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.P(this.D,this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c= +a[2].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+ +this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.P(this.D,this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this)); +this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa}, +function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.P(this.D,this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.D, +this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.F+this.N()& +65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.P(this.D,this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R}, +function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c= +a[6].call(this,this.P(this.D,this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.H+this.N()& +65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.H+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.P(this.D,this.H+this.N()&65535),b.call(this));this.S(c); +this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c= +a[0].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.P(this.D,this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.P(this.D, +this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this)); +this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.P(this.D,this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a, +b){var c=a[1].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.O, +this.J+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.P(this.D,this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this)); +this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa}, +function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.P(this.D,this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.D, +this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.F+this.M()& +65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.P(this.D,this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R}, +function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c= +a[5].call(this,this.P(this.D,this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.H+this.M()& +65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.P(this.D,this.H+this.M()&65535),b.call(this));this.S(c); +this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c= +a[7].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.P(this.D,this.H+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.D, +this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[0].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[0].call(this,this.L&255, +b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[0].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[0].call(this,this.G>>8&255,b.call(this));this.G=this.G&-65281|c<<8},function(a,b){var c=a[0].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[0].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[0].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8},function(a,b){var c=a[1].call(this, +this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[1].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[1].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[1].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[1].call(this,this.G>>8&255,b.call(this));this.G=this.G&-65281|c<<8},function(a,b){var c=a[1].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[1].call(this, +this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[1].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8},function(a,b){var c=a[2].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[2].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[2].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[2].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[2].call(this, +this.G>>8&255,b.call(this));this.G=this.G&-65281|c<<8},function(a,b){var c=a[2].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[2].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[2].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8},function(a,b){var c=a[3].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[3].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c= +a[3].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[3].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[3].call(this,this.G>>8&255,b.call(this));this.G=this.G&-65281|c<<8},function(a,b){var c=a[3].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[3].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[3].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<< +8},function(a,b){var c=a[4].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[4].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[4].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[4].call(this,this.G>>8&255,b.call(this));this.G=this.G&-65281|c<<8},function(a,b){var c=a[4].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281| +c<<8},function(a,b){var c=a[4].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[4].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8},function(a,b){var c=a[5].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[5].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[5].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C& +-256|c},function(a,b){var c=a[5].call(this,this.G>>8&255,b.call(this));this.G=this.G&-65281|c<<8},function(a,b){var c=a[5].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[5].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[5].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8},function(a,b){var c=a[6].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[6].call(this,this.K&255,b.call(this)); +this.K=this.K&-256|c},function(a,b){var c=a[6].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.G>>8&255,b.call(this));this.G=this.G&-65281|c<<8},function(a,b){var c=a[6].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[6].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[6].call(this,this.C>>8& +255,b.call(this));this.C=this.C&-65281|c<<8},function(a,b){var c=a[7].call(this,this.G&255,b.call(this));this.G=this.G&-256|c},function(a,b){var c=a[7].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[7].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.G>>8&255,b.call(this));this.G=this.G&-65281|c<<8},function(a,b){var c=a[7].call(this,this.K>> +8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[7].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[7].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8}];function lg(a){a=a.call(this,this.G&this.I,this.G&this.I);this.G=this.G&this.U|a}function mg(a){a=a.call(this,this.G&this.I,this.K&this.I);this.G=this.G&this.U|a}function ng(a){a=a.call(this,this.G&this.I,this.L&this.I);this.G=this.G&this.U|a} +function og(a){a=a.call(this,this.G&this.I,this.C&this.I);this.G=this.G&this.U|a}function pg(a){a=a.call(this,this.G&this.I,this.W&this.I);this.G=this.G&this.U|a}function qg(a){a=a.call(this,this.G&this.I,this.J&this.I);this.G=this.G&this.U|a}function rg(a){a=a.call(this,this.G&this.I,this.H&this.I);this.G=this.G&this.U|a}function sg(a){a=a.call(this,this.G&this.I,this.F&this.I);this.G=this.G&this.U|a}function tg(a){a=a.call(this,this.K&this.I,this.G&this.I);this.K=this.K&this.U|a} +function ug(a){a=a.call(this,this.K&this.I,this.K&this.I);this.K=this.K&this.U|a}function vg(a){a=a.call(this,this.K&this.I,this.L&this.I);this.K=this.K&this.U|a}function wg(a){a=a.call(this,this.K&this.I,this.C&this.I);this.K=this.K&this.U|a}function xg(a){a=a.call(this,this.K&this.I,this.W&this.I);this.K=this.K&this.U|a}function yg(a){a=a.call(this,this.K&this.I,this.J&this.I);this.K=this.K&this.U|a}function zg(a){a=a.call(this,this.K&this.I,this.H&this.I);this.K=this.K&this.U|a} +function Ag(a){a=a.call(this,this.K&this.I,this.F&this.I);this.K=this.K&this.U|a}function Bg(a){a=a.call(this,this.L&this.I,this.G&this.I);this.L=this.L&this.U|a}function Cg(a){a=a.call(this,this.L&this.I,this.K&this.I);this.L=this.L&this.U|a}function Dg(a){a=a.call(this,this.L&this.I,this.L&this.I);this.L=this.L&this.U|a}function Eg(a){a=a.call(this,this.L&this.I,this.C&this.I);this.L=this.L&this.U|a}function Fg(a){a=a.call(this,this.L&this.I,this.W&this.I);this.L=this.L&this.U|a} +function Gg(a){a=a.call(this,this.L&this.I,this.J&this.I);this.L=this.L&this.U|a}function Hg(a){a=a.call(this,this.L&this.I,this.H&this.I);this.L=this.L&this.U|a}function Ig(a){a=a.call(this,this.L&this.I,this.F&this.I);this.L=this.L&this.U|a}function Jg(a){a=a.call(this,this.C&this.I,this.G&this.I);this.C=this.C&this.U|a}function Kg(a){a=a.call(this,this.C&this.I,this.K&this.I);this.C=this.C&this.U|a}function Lg(a){a=a.call(this,this.C&this.I,this.L&this.I);this.C=this.C&this.U|a} +function Mg(a){a=a.call(this,this.C&this.I,this.C&this.I);this.C=this.C&this.U|a}function Ng(a){a=a.call(this,this.C&this.I,this.W&this.I);this.C=this.C&this.U|a}function Og(a){a=a.call(this,this.C&this.I,this.J&this.I);this.C=this.C&this.U|a}function Pg(a){a=a.call(this,this.C&this.I,this.H&this.I);this.C=this.C&this.U|a}function Qg(a){a=a.call(this,this.C&this.I,this.F&this.I);this.C=this.C&this.U|a}function Rg(a){a=a.call(this,this.W&this.I,this.G&this.I);this.W=this.W&this.U|a} +function Sg(a){a=a.call(this,this.W&this.I,this.K&this.I);this.W=this.W&this.U|a}function Tg(a){a=a.call(this,this.W&this.I,this.L&this.I);this.W=this.W&this.U|a}function Ug(a){a=a.call(this,this.W&this.I,this.C&this.I);this.W=this.W&this.U|a}function Vg(a){a=a.call(this,this.W&this.I,this.W&this.I);this.W=this.W&this.U|a}function Wg(a){a=a.call(this,this.W&this.I,this.J&this.I);this.W=this.W&this.U|a}function Xg(a){a=a.call(this,this.W&this.I,this.H&this.I);this.W=this.W&this.U|a} +function Yg(a){a=a.call(this,this.W&this.I,this.F&this.I);this.W=this.W&this.U|a}function Zg(a){a=a.call(this,this.J&this.I,this.G&this.I);this.J=this.J&this.U|a}function $g(a){a=a.call(this,this.J&this.I,this.K&this.I);this.J=this.J&this.U|a}function ah(a){a=a.call(this,this.J&this.I,this.L&this.I);this.J=this.J&this.U|a}function bh(a){a=a.call(this,this.J&this.I,this.C&this.I);this.J=this.J&this.U|a}function ch(a){a=a.call(this,this.J&this.I,this.W&this.I);this.J=this.J&this.U|a} +function dh(a){a=a.call(this,this.J&this.I,this.J&this.I);this.J=this.J&this.U|a}function eh(a){a=a.call(this,this.J&this.I,this.H&this.I);this.J=this.J&this.U|a}function fh(a){a=a.call(this,this.J&this.I,this.F&this.I);this.J=this.J&this.U|a}function gh(a){a=a.call(this,this.H&this.I,this.G&this.I);this.H=this.H&this.U|a}function hh(a){a=a.call(this,this.H&this.I,this.K&this.I);this.H=this.H&this.U|a}function ih(a){a=a.call(this,this.H&this.I,this.L&this.I);this.H=this.H&this.U|a} +function jh(a){a=a.call(this,this.H&this.I,this.C&this.I);this.H=this.H&this.U|a}function kh(a){a=a.call(this,this.H&this.I,this.W&this.I);this.H=this.H&this.U|a}function lh(a){a=a.call(this,this.H&this.I,this.J&this.I);this.H=this.H&this.U|a}function mh(a){a=a.call(this,this.H&this.I,this.H&this.I);this.H=this.H&this.U|a}function nh(a){a=a.call(this,this.H&this.I,this.F&this.I);this.H=this.H&this.U|a}function oh(a){a=a.call(this,this.F&this.I,this.G&this.I);this.F=this.F&this.U|a} +function ph(a){a=a.call(this,this.F&this.I,this.K&this.I);this.F=this.F&this.U|a}function qh(a){a=a.call(this,this.F&this.I,this.L&this.I);this.F=this.F&this.U|a}function rh(a){a=a.call(this,this.F&this.I,this.C&this.I);this.F=this.F&this.U|a}function sh(a){a=a.call(this,this.F&this.I,this.W&this.I);this.F=this.F&this.U|a}function th(a){a=a.call(this,this.F&this.I,this.J&this.I);this.F=this.F&this.U|a}function uh(a){a=a.call(this,this.F&this.I,this.H&this.I);this.F=this.F&this.U|a} +function vh(a){a=a.call(this,this.F&this.I,this.F&this.I);this.F=this.F&this.U|a} +var ld=[function(a){a=a.call(this,this.Q(this.D,this.C+this.H&65535),this.G&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.G&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.H&65535),this.G&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.G&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.H&65535),this.G&this.I);this.T(a); +this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.G&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.M()),this.G&this.I);this.T(a);this.A-=this.B.Da},function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.G&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.C+this.H&65535),this.K&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.K&this.I);this.T(a);this.A-= +this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.H&65535),this.K&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.K&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.H&65535),this.K&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.K&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.M()),this.K&this.I);this.T(a);this.A-=this.B.Da}, +function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.K&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.C+this.H&65535),this.L&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.L&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.H&65535),this.L&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.L&this.I);this.T(a);this.A-= +this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.H&65535),this.L&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.L&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.M()),this.L&this.I);this.T(a);this.A-=this.B.Da},function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.L&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.C+this.H&65535),this.C&this.I);this.T(a);this.A-=this.B.ja}, +function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.C&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.H&65535),this.C&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.C&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.H&65535),this.C&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.C&this.I);this.T(a);this.A-=this.B.ea}, +function(a){a=a.call(this,this.Q(this.D,this.M()),this.C&this.I);this.T(a);this.A-=this.B.Da},function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.C&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.C+this.H&65535),this.W&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.W&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.H&65535),this.W&this.I);this.T(a);this.A-=this.B.ka}, +function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.W&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.H&65535),this.W&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.W&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.M()),this.W&this.I);this.T(a);this.A-=this.B.Da},function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.W&this.I);this.T(a);this.A-=this.B.ea},function(a){a= +a.call(this,this.Q(this.D,this.C+this.H&65535),this.J&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.J&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.H&65535),this.J&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.J&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.H&65535),this.J&this.I);this.T(a);this.A-=this.B.ea}, +function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.J&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.M()),this.J&this.I);this.T(a);this.A-=this.B.Da},function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.J&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.C+this.H&65535),this.H&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.H&this.I);this.T(a);this.A-=this.B.ka},function(a){a= +a.call(this,this.Q(this.O,this.J+this.H&65535),this.H&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.H&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.H&65535),this.H&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.H&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.M()),this.H&this.I);this.T(a);this.A-=this.B.Da},function(a){a=a.call(this, +this.Q(this.D,this.C&65535),this.H&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.C+this.H&65535),this.F&this.I);this.T(a);this.A-=this.B.ja},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.F&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.H&65535),this.F&this.I);this.T(a);this.A-=this.B.ka},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.F&this.I);this.T(a);this.A-=this.B.ja},function(a){a= +a.call(this,this.Q(this.D,this.H&65535),this.F&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.F&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.M()),this.F&this.I);this.T(a);this.A-=this.B.Da},function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.F&this.I);this.T(a);this.A-=this.B.ea},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.Z},function(a){a= +a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.G& +this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this, +this.Q(this.O,this.J+this.H+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.K&this.I);this.T(a); +this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O, +this.J+this.F+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a= +a.call(this,this.Q(this.D,this.C+this.H+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.N()&65535), +this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.N()&65535),this.W&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D, +this.C+this.F+this.N()&65535),this.W&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.N()&65535),this.W&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.W&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.N()&65535),this.W&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.W&this.I);this.T(a);this.A-= +this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.W&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.W&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+ +this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a= +a.call(this,this.Q(this.D,this.C+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535), +this.H&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D, +this.C+this.H+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.N()&65535),this.F&this.I);this.T(a); +this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+ +this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a= +a.call(this,this.Q(this.O,this.J+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.M()&65535),this.K& +this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D, +this.C+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.L&this.I);this.T(a); +this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.M()& +65535),this.C&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a= +a.call(this,this.Q(this.D,this.F+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.M()&65535),this.W&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.W&this.I); +this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.M()&65535),this.W&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.W&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.M()&65535),this.W&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.W&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O, +this.J+this.M()&65535),this.W&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.W&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.M()&65535),this.J&this.I);this.T(a);this.A-= +this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535), +this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.Z},function(a){a= +a.call(this,this.Q(this.D,this.H+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.H+this.M()&65535),this.F&this.I);this.T(a); +this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.H+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.aa},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.D,this.H+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D, +this.F+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},lg,tg,Bg,Jg,Rg,Zg,gh,oh,mg,ug,Cg,Kg,Sg,$g,hh,ph,ng,vg,Dg,Lg,Tg,ah,ih,qh,og,wg,Eg,Mg,Ug,bh,jh,rh,pg,xg,Fg,Ng,Vg,ch,kh,sh,qg,yg,Gg,Og,Wg,dh,lh,th,rg,zg,Hg,Pg,Xg,eh,mh,uh,sg,Ag,Ig,Qg,Yg,fh,nh,vh],md=[function(a){a=a.call(this, +this.G&this.I,this.Y(this.D,this.C+this.H&65535));this.G=this.G&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.C+this.F&65535));this.G=this.G&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.G&this.I,this.Y(this.O,this.J+this.H&65535));this.G=this.G&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.G&this.I,this.Y(this.O,this.J+this.F&65535));this.G=this.G&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.H& +65535));this.G=this.G&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.F&65535));this.G=this.G&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.M()));this.G=this.G&this.U|a;this.A-=this.B.Da},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.C&65535));this.G=this.G&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.C+this.H&65535));this.K=this.K&this.U|a;this.A-=this.B.ja},function(a){a= +a.call(this,this.K&this.I,this.Y(this.D,this.C+this.F&65535));this.K=this.K&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.K&this.I,this.Y(this.O,this.J+this.H&65535));this.K=this.K&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.K&this.I,this.Y(this.O,this.J+this.F&65535));this.K=this.K&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.H&65535));this.K=this.K&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.K&this.I,this.Y(this.D, +this.F&65535));this.K=this.K&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.M()));this.K=this.K&this.U|a;this.A-=this.B.Da},function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.C&65535));this.K=this.K&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.L&this.I,this.Y(this.D,this.C+this.H&65535));this.L=this.L&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.L&this.I,this.Y(this.D,this.C+this.F&65535));this.L=this.L&this.U|a;this.A-=this.B.ka}, +function(a){a=a.call(this,this.L&this.I,this.Y(this.O,this.J+this.H&65535));this.L=this.L&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.L&this.I,this.Y(this.O,this.J+this.F&65535));this.L=this.L&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.L&this.I,this.Y(this.D,this.H&65535));this.L=this.L&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.L&this.I,this.Y(this.D,this.F&65535));this.L=this.L&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.L&this.I,this.Y(this.D, +this.M()));this.L=this.L&this.U|a;this.A-=this.B.Da},function(a){a=a.call(this,this.L&this.I,this.Y(this.D,this.C&65535));this.L=this.L&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.C+this.H&65535));this.C=this.C&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.C+this.F&65535));this.C=this.C&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.C&this.I,this.Y(this.O,this.J+this.H&65535));this.C=this.C&this.U|a;this.A-= +this.B.ka},function(a){a=a.call(this,this.C&this.I,this.Y(this.O,this.J+this.F&65535));this.C=this.C&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.H&65535));this.C=this.C&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.F&65535));this.C=this.C&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.M()));this.C=this.C&this.U|a;this.A-=this.B.Da},function(a){a=a.call(this,this.C&this.I,this.Y(this.D, +this.C&65535));this.C=this.C&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.C+this.H&65535));this.W=this.W&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.C+this.F&65535));this.W=this.W&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.W&this.I,this.Y(this.O,this.J+this.H&65535));this.W=this.W&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.W&this.I,this.Y(this.O,this.J+this.F&65535));this.W=this.W& +this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.H&65535));this.W=this.W&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.F&65535));this.W=this.W&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.M()));this.W=this.W&this.U|a;this.A-=this.B.Da},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.C&65535));this.W=this.W&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.J& +this.I,this.Y(this.D,this.C+this.H&65535));this.J=this.J&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.C+this.F&65535));this.J=this.J&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.J&this.I,this.Y(this.O,this.J+this.H&65535));this.J=this.J&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.J&this.I,this.Y(this.O,this.J+this.F&65535));this.J=this.J&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.H&65535)); +this.J=this.J&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.F&65535));this.J=this.J&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.M()));this.J=this.J&this.U|a;this.A-=this.B.Da},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.C&65535));this.J=this.J&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.H&this.I,this.Y(this.D,this.C+this.H&65535));this.H=this.H&this.U|a;this.A-=this.B.ja},function(a){a= +a.call(this,this.H&this.I,this.Y(this.D,this.C+this.F&65535));this.H=this.H&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.H&this.I,this.Y(this.O,this.J+this.H&65535));this.H=this.H&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.H&this.I,this.Y(this.O,this.J+this.F&65535));this.H=this.H&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.H&this.I,this.Y(this.D,this.H&65535));this.H=this.H&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.H&this.I,this.Y(this.D, +this.F&65535));this.H=this.H&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.H&this.I,this.Y(this.D,this.M()));this.H=this.H&this.U|a;this.A-=this.B.Da},function(a){a=a.call(this,this.H&this.I,this.Y(this.D,this.C&65535));this.H=this.H&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.C+this.H&65535));this.F=this.F&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.C+this.F&65535));this.F=this.F&this.U|a;this.A-=this.B.ka}, +function(a){a=a.call(this,this.F&this.I,this.Y(this.O,this.J+this.H&65535));this.F=this.F&this.U|a;this.A-=this.B.ka},function(a){a=a.call(this,this.F&this.I,this.Y(this.O,this.J+this.F&65535));this.F=this.F&this.U|a;this.A-=this.B.ja},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.H&65535));this.F=this.F&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.F&65535));this.F=this.F&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.F&this.I,this.Y(this.D, +this.M()));this.F=this.F&this.U|a;this.A-=this.B.Da},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.C&65535));this.F=this.F&this.U|a;this.A-=this.B.ea},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.C+this.H+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.C+this.F+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&this.I,this.Y(this.O,this.J+this.H+this.N()&65535)); +this.G=this.G&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&this.I,this.Y(this.O,this.J+this.F+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.H+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.F+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.Y(this.O,this.J+this.N()&65535));this.G=this.G&this.U| +a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.C+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.C+this.H+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.C+this.F+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&this.I,this.Y(this.O,this.J+this.H+this.N()&65535));this.K=this.K&this.U|a;this.A-= +this.B.aa},function(a){a=a.call(this,this.K&this.I,this.Y(this.O,this.J+this.F+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.H+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.F+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&this.I,this.Y(this.O,this.J+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a= +a.call(this,this.K&this.I,this.Y(this.D,this.C+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.Y(this.D,this.C+this.H+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&this.I,this.Y(this.D,this.C+this.F+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.L&this.I,this.Y(this.O,this.J+this.H+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this, +this.L&this.I,this.Y(this.O,this.J+this.F+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&this.I,this.Y(this.D,this.H+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.Y(this.D,this.F+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.Y(this.O,this.J+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.Y(this.D, +this.C+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.C+this.H+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.C+this.F+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&this.I,this.Y(this.O,this.J+this.H+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&this.I,this.Y(this.O,this.J+ +this.F+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.H+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.F+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.Y(this.O,this.J+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.C+this.N()&65535));this.C= +this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.C+this.H+this.N()&65535));this.W=this.W&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.C+this.F+this.N()&65535));this.W=this.W&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.W&this.I,this.Y(this.O,this.J+this.H+this.N()&65535));this.W=this.W&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.W&this.I,this.Y(this.O,this.J+this.F+this.N()&65535));this.W= +this.W&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.H+this.N()&65535));this.W=this.W&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.F+this.N()&65535));this.W=this.W&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.W&this.I,this.Y(this.O,this.J+this.N()&65535));this.W=this.W&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.C+this.N()&65535));this.W=this.W&this.U|a;this.A-=this.B.R}, +function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.C+this.H+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.C+this.F+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&this.I,this.Y(this.O,this.J+this.H+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&this.I,this.Y(this.O,this.J+this.F+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.Z}, +function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.H+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.F+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&this.I,this.Y(this.O,this.J+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.C+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this, +this.H&this.I,this.Y(this.D,this.C+this.H+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.H&this.I,this.Y(this.D,this.C+this.F+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&this.I,this.Y(this.O,this.J+this.H+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&this.I,this.Y(this.O,this.J+this.F+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this, +this.H&this.I,this.Y(this.D,this.H+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.Y(this.D,this.F+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.Y(this.O,this.J+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.Y(this.D,this.C+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.Y(this.D, +this.C+this.H+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.C+this.F+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.F&this.I,this.Y(this.O,this.J+this.H+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.F&this.I,this.Y(this.O,this.J+this.F+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.F&this.I,this.Y(this.D, +this.H+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.F+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.Y(this.O,this.J+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.C+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.C+this.H+this.M()&65535)); +this.G=this.G&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.C+this.F+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&this.I,this.Y(this.O,this.J+this.H+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.G&this.I,this.Y(this.O,this.J+this.F+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.H+this.M()&65535));this.G= +this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.F+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.Y(this.O,this.J+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.Y(this.D,this.C+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.C+this.H+this.M()&65535));this.K=this.K&this.U|a;this.A-= +this.B.Z},function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.C+this.F+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&this.I,this.Y(this.O,this.J+this.H+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&this.I,this.Y(this.O,this.J+this.F+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.H+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.R}, +function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.F+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&this.I,this.Y(this.O,this.J+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&this.I,this.Y(this.D,this.C+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.Y(this.D,this.C+this.H+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this, +this.L&this.I,this.Y(this.D,this.C+this.F+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.L&this.I,this.Y(this.O,this.J+this.H+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.L&this.I,this.Y(this.O,this.J+this.F+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&this.I,this.Y(this.D,this.H+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L& +this.I,this.Y(this.D,this.F+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.Y(this.O,this.J+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.Y(this.D,this.C+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.C+this.H+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&this.I,this.Y(this.D, +this.C+this.F+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&this.I,this.Y(this.O,this.J+this.H+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&this.I,this.Y(this.O,this.J+this.F+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.H+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.F+ +this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.Y(this.O,this.J+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.Y(this.D,this.C+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.C+this.H+this.M()&65535));this.W=this.W&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.C+this.F+this.M()&65535)); +this.W=this.W&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.W&this.I,this.Y(this.O,this.J+this.H+this.M()&65535));this.W=this.W&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.W&this.I,this.Y(this.O,this.J+this.F+this.M()&65535));this.W=this.W&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.H+this.M()&65535));this.W=this.W&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.F+this.M()&65535));this.W=this.W& +this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.W&this.I,this.Y(this.O,this.J+this.M()&65535));this.W=this.W&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.W&this.I,this.Y(this.D,this.C+this.M()&65535));this.W=this.W&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.C+this.H+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.C+this.F+this.M()&65535));this.J=this.J&this.U|a;this.A-= +this.B.aa},function(a){a=a.call(this,this.J&this.I,this.Y(this.O,this.J+this.H+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&this.I,this.Y(this.O,this.J+this.F+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.H+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.F+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.R}, +function(a){a=a.call(this,this.J&this.I,this.Y(this.O,this.J+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&this.I,this.Y(this.D,this.C+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.Y(this.D,this.C+this.H+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.H&this.I,this.Y(this.D,this.C+this.F+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.aa},function(a){a= +a.call(this,this.H&this.I,this.Y(this.O,this.J+this.H+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&this.I,this.Y(this.O,this.J+this.F+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.H&this.I,this.Y(this.D,this.H+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.Y(this.D,this.F+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this, +this.H&this.I,this.Y(this.O,this.J+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.Y(this.D,this.C+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.C+this.H+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.C+this.F+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.F&this.I, +this.Y(this.O,this.J+this.H+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.aa},function(a){a=a.call(this,this.F&this.I,this.Y(this.O,this.J+this.F+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.H+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.F+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.Y(this.O, +this.J+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.Y(this.D,this.C+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,th,uh,vh],nd=[function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a, +b){var c=a[0].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[0].call(this,this.Q(this.D,this.H&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.Q(this.D,this.F&65535),b.call(this)); +this.T(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.Da},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[1].call(this,this.Q(this.O, +this.J+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[1].call(this,this.Q(this.D,this.H&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[1].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.Da},function(a, +b){var c=a[1].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.F&65535), +b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[2].call(this,this.Q(this.D,this.H&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[2].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.Da},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[3].call(this,this.Q(this.D, +this.C+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[3].call(this,this.Q(this.D,this.H&65535),b.call(this));this.T(c);this.A-=this.B.ea}, +function(a,b){var c=a[3].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[3].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.Da},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this)); +this.T(c);this.A-=this.B.ka},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[4].call(this,this.Q(this.D,this.H&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[4].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[4].call(this, +this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.Da},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.H&65535),b.call(this));this.T(c);this.A-= +this.B.ka},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[5].call(this,this.Q(this.D,this.H&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[5].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.Da},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C&65535), +b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a, +b){var c=a[6].call(this,this.Q(this.D,this.H&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[6].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.Da},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.H&65535),b.call(this));this.T(c); +this.A-=this.B.ja},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[7].call(this,this.Q(this.O,this.J+this.H&65535),b.call(this));this.T(c);this.A-=this.B.ka},function(a,b){var c=a[7].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ja},function(a,b){var c=a[7].call(this,this.Q(this.D,this.H&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.Q(this.D, +this.F&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[7].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.Da},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ea},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa}, +function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.Q(this.D,this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this, +this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.H+this.N()& +65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.Q(this.D,this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-= +this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c= +a[2].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.Q(this.D,this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.N()& +65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this)); +this.T(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.Q(this.D,this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c= +a[4].call(this,this.Q(this.D,this.C+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this, +this.Q(this.D,this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.H+this.N()&65535),b.call(this)); +this.T(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.Q(this.D,this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R}, +function(a,b){var c=a[5].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.Q(this.D, +this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.Q(this.D,this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.D,this.F+this.N()&65535), +b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-= +this.B.aa},function(a,b){var c=a[7].call(this,this.Q(this.O,this.J+this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.Q(this.D,this.H+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c= +a[7].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+ +this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.Q(this.D,this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this)); +this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa}, +function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.Q(this.D,this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.D, +this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.F+this.M()& +65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.Q(this.D,this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R}, +function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c= +a[3].call(this,this.Q(this.D,this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.H+this.M()& +65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.Q(this.D,this.H+this.M()&65535),b.call(this));this.T(c); +this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c= +a[5].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.Q(this.D,this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.D, +this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this)); +this.T(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.Q(this.D,this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a, +b){var c=a[6].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.Q(this.O, +this.J+this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.Q(this.D,this.H+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this)); +this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[0].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[0].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[0].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a, +b){var c=a[0].call(this,this.W&this.I,b.call(this));this.W=this.W&this.U|c},function(a,b){var c=a[0].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[0].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[0].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[1].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[1].call(this,this.K&this.I,b.call(this));this.K=this.K& +this.U|c},function(a,b){var c=a[1].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[1].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[1].call(this,this.W&this.I,b.call(this));this.W=this.W&this.U|c},function(a,b){var c=a[1].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[1].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[1].call(this,this.F&this.I,b.call(this)); +this.F=this.F&this.U|c},function(a,b){var c=a[2].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[2].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[2].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[2].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[2].call(this,this.W&this.I,b.call(this));this.W=this.W&this.U|c},function(a,b){var c=a[2].call(this,this.J& +this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[2].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[2].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[3].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[3].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[3].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[3].call(this, +this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[3].call(this,this.W&this.I,b.call(this));this.W=this.W&this.U|c},function(a,b){var c=a[3].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[3].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[3].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[4].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c= +a[4].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[4].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[4].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[4].call(this,this.W&this.I,b.call(this));this.W=this.W&this.U|c},function(a,b){var c=a[4].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[4].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c}, +function(a,b){var c=a[4].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[5].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[5].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[5].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[5].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[5].call(this,this.W&this.I,b.call(this));this.W= +this.W&this.U|c},function(a,b){var c=a[5].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[5].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[5].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[6].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[6].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[6].call(this,this.L&this.I, +b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[6].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[6].call(this,this.W&this.I,b.call(this));this.W=this.W&this.U|c},function(a,b){var c=a[6].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[6].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[6].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[7].call(this, +this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[7].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[7].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[7].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[7].call(this,this.W&this.I,b.call(this));this.W=this.W&this.U|c},function(a,b){var c=a[7].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c= +a[7].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[7].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c}];function dd(){wh[this.ha()].call(this)}function fd(){I(this,this.W&this.I);this.A-=this.B.Ec}function Nc(){var a=this.W&this.I;I(this,this.G&this.I);I(this,this.K&this.I);I(this,this.L&this.I);I(this,this.C&this.I);I(this,a);I(this,this.J&this.I);I(this,this.H&this.I);I(this,this.F&this.I);this.A-=this.B.jm} +function Oc(){this.F=this.F&this.U|this.Ta();this.H=this.H&this.U|this.Ta();this.J=this.J&this.U|this.Ta();this.W+=this.Tf;this.C=this.C&this.U|this.Ta();this.L=this.L&this.U|this.Ta();this.K=this.K&this.U|this.Ta();this.G=this.G&this.U|this.Ta();this.A-=this.B.hm}function Pc(){this.Mb[this.ha()].call(this,Re)}function ed(){this.Uc[this.ha()].call(this,Se)}function Qc(){I(this,this.M());this.A-=this.B.Ec}function Rc(){this.Mb[this.ha()].call(this,Je)} +function Sc(){I(this,this.ha());this.A-=this.B.Ec}function Tc(){this.Mb[this.ha()].call(this,Ie)}function Uc(){var a=1,b=0,c=5;this.Ha&192&&(a=this.K,b=1,this.Ha&256&&(c=4));if(a--){var d=wb(this.ua,this.L,this.Ia-b-1);this.rd(this.Pa.dc(this.F&this.ya,0),d);this.F=this.F&this.qb|this.F+(this.Ea&1024?-1:1)&this.ya;this.A-=c;this.K-=b;a&&(Dd(this,-2),this.da|=256)}} +function Vc(){var a=1,b=0,c=5;this.Ha&192&&(a=this.K,b=1,this.Ha&256&&(c=4));if(a--){var d=this.Ia-b-1,e=wb(this.ua,this.L,d),d=e|=wb(this.ua,this.L,d)<<8;this.Za(this.Pa.dc(this.F&this.ya,1),d);this.F=this.F&this.qb|this.F+(this.Ea&1024?-2:2)&this.ya;this.A-=c;this.K-=b;a&&(Dd(this,-2),this.da|=256)}} +function Wc(){var a=1,b=0,c=5;this.Ha&192&&(a=this.K,b=1,this.Ha&256&&(c=4));if(a--){var d=this.sb(this.cb.Oc(this.H&this.ya,0));this.H=this.H&this.qb|this.H+(this.Ea&1024?-1:1)&this.ya;this.A-=c;this.K-=b;Ab(this.ua,this.L,d,this.Ia-b-1);a&&(Dd(this,-2),this.da|=256)}} +function Xc(){var a=1,b=0,c=5;this.Ha&192&&(a=this.K,b=1,this.Ha&256&&(c=4));if(a--){var d=this.sa(this.cb.Oc(this.H&this.ya,1));this.H=this.H&this.qb|this.H+(this.Ea&1024?-2:2)&this.ya;this.A-=c;this.K-=b;b=this.Ia-b-1;Ab(this.ua,this.L,d&255,b);Ab(this.ua,this.L,d>>8,b);a&&(Dd(this,-2),this.da|=256)}}function xh(){var a=this.N();Jd(this)?(J(this,this.za+a),this.A-=this.B.gc):this.A-=this.B.hc}function yh(){var a=this.N();Jd(this)?this.A-=this.B.hc:(J(this,this.za+a),this.A-=this.B.gc)} +function zh(){var a=this.N();Ed(this)?(J(this,this.za+a),this.A-=this.B.gc):this.A-=this.B.hc}function Ah(){var a=this.N();Ed(this)?this.A-=this.B.hc:(J(this,this.za+a),this.A-=this.B.gc)}function Bh(){var a=this.N();Hd(this)?(J(this,this.za+a),this.A-=this.B.gc):this.A-=this.B.hc}function Ch(){var a=this.N();Hd(this)?this.A-=this.B.hc:(J(this,this.za+a),this.A-=this.B.gc)}function Dh(){var a=this.N();Ed(this)||Hd(this)?(J(this,this.za+a),this.A-=this.B.gc):this.A-=this.B.hc} +function Eh(){var a=this.N();Ed(this)||Hd(this)?this.A-=this.B.hc:(J(this,this.za+a),this.A-=this.B.gc)}function Fh(){var a=this.N();Id(this)?(J(this,this.za+a),this.A-=this.B.gc):this.A-=this.B.hc}function Gh(){var a=this.N();Id(this)?this.A-=this.B.hc:(J(this,this.za+a),this.A-=this.B.gc)}function Hh(){var a=this.N();Fd(this)?(J(this,this.za+a),this.A-=this.B.gc):this.A-=this.B.hc}function Ih(){var a=this.N();Fd(this)?this.A-=this.B.hc:(J(this,this.za+a),this.A-=this.B.gc)} +function Jh(){var a=this.N();!Id(this)!=!Jd(this)?(J(this,this.za+a),this.A-=this.B.gc):this.A-=this.B.hc}function Kh(){var a=this.N();!Id(this)==!Jd(this)?(J(this,this.za+a),this.A-=this.B.gc):this.A-=this.B.hc}function Lh(){var a=this.N();Hd(this)||!Id(this)!=!Jd(this)?(J(this,this.za+a),this.A-=this.B.gc):this.A-=this.B.hc}function Mh(){var a=this.N();Hd(this)||!Id(this)!=!Jd(this)?this.A-=this.B.hc:(J(this,this.za+a),this.A-=this.B.gc)} +function Nh(){this.Le[this.ha()].call(this,ue,this.ha);this.A-=0>this.Ua?1:this.B.Zh}function Yc(){this.Le[this.ha()].call(this,ye,re)}function Zc(){this.fd[this.ha()].call(this,ze,re)}function Oh(){var a=this.M();J(this,this.Ta());this.W=this.W&this.qb|this.W+(a<<(this.Tf>>2))&this.ya;this.A-=this.B.om}function Ph(){J(this,this.Ta());this.A-=this.B.lm} +function $c(){var a=this.M(),b=this.ha()&31;this.A-=11;I(this,this.J);var c=this.W&this.Ja.ya;if(0>8,c,d=Gd(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<<8|(this.ca=a);this.ga=65536;c&&(this.ca|=this.ga);d?Qd(this):Ld(this); +this.A-=this.B.ef},function(){this.td[this.ha()].call(this,fe)},function(){this.Uc[this.ha()].call(this,ne)},function(){this.ud[this.ha()].call(this,fe)},function(){this.Mb[this.ha()].call(this,ne)},function(){fe.call(this,this.G&255,this.ha());this.A--},function(){ne.call(this,this.G&this.I,this.M());this.A--},function(){this.da|=20;this.D=this.O=this.cb;this.A-=this.B.Be},function(){var a=this.G&255,b=this.G>>8,c,d=Gd(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.G=this.G&-65536|b<< +8|(this.ca=a);this.ga=65536;c&&(this.ca|=this.ga);d?Qd(this):Ld(this);this.A-=this.B.ef},function(){this.ta=this.G;this.G=this.G&this.U|(this.na=this.G+1)&this.I;this.ca=this.G|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.K;this.K=this.K&this.U|(this.na=this.K+1)&this.I;this.ca=this.K|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.L;this.L=this.L&this.U|(this.na=this.L+1)&this.I;this.ca=this.L|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-= +2},function(){this.ta=this.C;this.C=this.C&this.U|(this.na=this.C+1)&this.I;this.ca=this.C|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.W;this.W=this.W&this.U|(this.na=this.W+1)&this.I;this.ca=this.W|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.J;this.J=this.J&this.U|(this.na=this.J+1)&this.I;this.ca=this.J|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.H;this.H=this.H&this.U|(this.na=this.H+1)&this.I;this.ca= +this.H|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.F;this.F=this.F&this.U|(this.na=this.F+1)&this.I;this.ca=this.F|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.G;this.G=this.G&this.U|(this.na=this.G-1)&this.I;this.ca=this.G|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.K;this.K=this.K&this.U|(this.na=this.K-1)&this.I;this.ca=this.K|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.L; +this.L=this.L&this.U|(this.na=this.L-1)&this.I;this.ca=this.L|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.C;this.C=this.C&this.U|(this.na=this.C-1)&this.I;this.ca=this.C|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.W;this.W=this.W&this.U|(this.na=this.W-1)&this.I;this.ca=this.W|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.J;this.J=this.J&this.U|(this.na=this.J-1)&this.I;this.ca=this.J|(this.ca&this.ga?1:0)<< +16;this.ga=65536;this.A-=2},function(){this.ta=this.H;this.H=this.H&this.U|(this.na=this.H-1)&this.I;this.ca=this.H|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){this.ta=this.F;this.F=this.F&this.U|(this.na=this.F-1)&this.I;this.ca=this.F|(this.ca&this.ga?1:0)<<16;this.ga=65536;this.A-=2},function(){I(this,this.G&this.I);this.A-=this.B.Ec},function(){I(this,this.K&this.I);this.A-=this.B.Ec},function(){I(this,this.L&this.I);this.A-=this.B.Ec},function(){I(this,this.C&this.I);this.A-= +this.B.Ec},function(){I(this,this.W-this.Tf&this.I);this.A-=this.B.Ec},function(){I(this,this.J&this.I);this.A-=this.B.Ec},function(){I(this,this.H&this.I);this.A-=this.B.Ec},function(){I(this,this.F&this.I);this.A-=this.B.Ec},function(){this.G=this.G&this.U|this.Ta();this.A-=this.B.yc},function(){this.K=this.K&this.U|this.Ta();this.A-=this.B.yc},function(){this.L=this.L&this.U|this.Ta();this.A-=this.B.yc},function(){this.C=this.C&this.U|this.Ta();this.A-=this.B.yc},function(){this.W=this.W&this.U| +this.Ta();this.A-=this.B.yc},function(){this.J=this.J&this.U|this.Ta();this.A-=this.B.yc},function(){this.H=this.H&this.U|this.Ta();this.A-=this.B.yc},function(){this.F=this.F&this.U|this.Ta();this.A-=this.B.yc},xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,function(){this.fd[this.ha()].call(this,ve,this.M);this.A-=0>this.Ua?1:this.B.Zh},Nh,function(){this.fd[this.ha()].call(this,ve,this.N);this.A-=0>this.Ua?1:this.B.Zh},function(){this.td[this.ha()].call(this, +Ge)},function(){this.Uc[this.ha()].call(this,He)},function(){this.ud[this.qh=this.ha()].call(this,Ve)},function(){this.Mb[this.qh=this.ha()].call(this,We)},function(){this.da|=1;this.td[this.ha()].call(this,Ee)},function(){this.da|=1;this.Uc[this.ha()].call(this,Ee)},function(){this.ud[this.ha()].call(this,Ee)},function(){this.Mb[this.ha()].call(this,Ee)},function(){var a=this.ha();switch((a&56)>>3){case 0:this.Tb=this.Pa.va;break;case 1:this.Tb=this.xa.va;break;case 2:this.Tb=this.Ja.va;break;case 3:this.Tb= +this.cb.va;break;default:M.call(this);return}this.da|=1;this.Uc[a].call(this,Fe)},function(){this.da|=1;this.D=this.O=this.Em;this.Mb[this.ha()].call(this,Le)},function(){var a,b=this.ha(),c=(b&56)>>3;switch(c){case 0:a=this.G;break;case 2:a=this.L;break;case 3:a=this.C;break;default:if(80286<=this.Na){Mc.call(this);return}switch(c){case 1:a=this.K;break;case 4:a=this.W;break;case 5:a=this.J;break;case 6:a=this.H;break;case 7:a=this.F}}this.Mb[b].call(this,Ee);switch(c){case 0:Ad(this,this.G);this.G= +a;break;case 1:xd(this,this.K);this.K=a;break;case 2:zd(this,this.L);this.L=a;break;case 3:yd(this,this.C);this.C=a;break;case 4:Ad(this,this.W);this.W=a;break;case 5:xd(this,this.J);this.J=a;break;case 6:zd(this,this.H);this.H=a;break;case 7:yd(this,this.F),this.F=a}},function(){this.da|=1;this.fd[this.ha()].call(this,we,this.Ta)},function(){this.A-=3},function(){var a=this.G;this.G=this.G&this.U|this.K&this.I;this.K=this.K&this.U|a&this.I;this.A-=3},function(){var a=this.G;this.G=this.G&this.U| +this.L&this.I;this.L=this.L&this.U|a&this.I;this.A-=3},function(){var a=this.G;this.G=this.G&this.U|this.C&this.I;this.C=this.C&this.U|a&this.I;this.A-=3},function(){var a=this.G;this.G=this.G&this.U|this.W&this.I;this.W=this.W&this.U|a&this.I;this.A-=3},function(){var a=this.G;this.G=this.G&this.U|this.J&this.I;this.J=this.J&this.U|a&this.I;this.A-=3},function(){var a=this.G;this.G=this.G&this.U|this.H&this.I;this.H=this.H&this.U|a&this.I;this.A-=3},function(){var a=this.G;this.G=this.G&this.U|this.F& +this.I;this.F=this.F&this.U|a&this.I;this.A-=3},function(){this.G=2==this.Tf?this.G&this.U|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.L=2==this.Tf?this.L&this.U|(this.G&32768?65535:0):this.G&2147483648?4294967295:0;this.A-=this.B.vl},function(){De.call(this,this.M(),this.M());this.A-=this.B.yl},function(){this.jb("WAIT not implemented",1);this.A--},function(){I(this,Ac(this));this.A-=this.B.Ec},function(){Bc(this,this.Ta());this.A-=this.B.yc},function(){var a=this.G>>8;a&1?Pd(this): +Kd(this);a&4?Fd(this)||(this.na^=1):Fd(this)&&(this.na^=1);a&16?Qd(this):Ld(this);a&64?Rd(this):Md(this);a&128?Sd(this):Nd(this);this.A-=this.B.Sb},function(){this.G=this.G&255|(Ac(this)&213)<<8;this.A-=this.B.Sb},function(){this.G=this.G&-256|this.X(this.D,this.M());this.A-=this.B.Fj},function(){this.G=this.G&this.U|this.Y(this.D,this.M());this.A-=this.B.Fj},function(){var a=this.M(),b=this.G;this.rd(this.D.dc(a,0),b);this.A-=this.B.Gj},function(){var a=this.M(),b=this.G;this.Za(this.D.dc(a,1),b); +this.A-=this.B.Gj},function(){var a=1,b=0,c=this.B.Hj;this.Ha&192&&(a=this.K,b=1,c=this.B.Jj,this.Ha&256||(this.A-=this.B.Ij));if(a--){var d=this.Ea&1024?-1:1,e=this.X(this.D,this.H);this.rd(this.Pa.dc(this.F&this.ya,0),e);this.H=this.H&this.qb|this.H+d&this.ya;this.F=this.F&this.qb|this.F+d&this.ya;this.A-=c;this.K-=b;a&&(Dd(this,this.Ha&16?-3:-2),this.da|=256)}},function(){var a=1,b=0,c=this.B.Hj;this.Ha&192&&(a=this.K,b=1,c=this.B.Jj,this.Ha&256||(this.A-=this.B.Ij));if(a--){var d=this.Ea&1024? +-2:2,e=this.Y(this.D,this.H);this.Za(this.Pa.dc(this.F&this.ya,1),e);this.H=this.H&this.qb|this.H+d&this.ya;this.F=this.F&this.qb|this.F+d&this.ya;this.A-=c;this.K-=b;a&&(Dd(this,this.Ha&16?-3:-2),this.da|=256)}},function(){var a=1,b=0,c=this.B.rj;this.Ha&192&&(a=this.K,b=1,c=this.B.tj,this.Ha&256||(this.A-=this.B.sj));if(a--){var d=this.Ea&1024?-1:1,e=this.X(this.D,this.H&this.ya),f=this.P(this.Pa,this.F&this.ya);fe.call(this,e,f);this.H=this.H&this.qb|this.H+d&this.ya;this.F=this.F&this.qb|this.F+ +d&this.ya;this.A-=c-this.B.Jb;this.K-=b;a&&Hd(this)==(this.Ha&64)&&(Dd(this,this.Ha&16?-3:-2),this.da|=256)}},function(){var a=1,b=0,c=this.B.rj;this.Ha&192&&(a=this.K,b=1,c=this.B.tj,this.Ha&256||(this.A-=this.B.sj));if(a--){var d=this.Ea&1024?-2:2,e=this.Y(this.D,this.H&this.ya),f=this.Q(this.Pa,this.F&this.ya);ne.call(this,e,f);this.H=this.H&this.qb|this.H+d&this.ya;this.F=this.F&this.qb|this.F+d&this.ya;this.A-=c-this.B.Jb;this.K-=b;a&&Hd(this)==(this.Ha&64)&&(Dd(this,this.Ha&16?-3:-2),this.da|= +256)}},function(){this.ca=this.na=this.ta=this.G&this.ha();this.ga=256;this.A-=this.B.ef},function(){this.ca=this.na=this.ta=this.G&this.M();this.ga=65536;this.A-=this.B.ef},function(){var a=1,b=0,c=this.B.Sj;this.Ha&192&&(a=this.K,b=1,c=this.B.Uj,this.Ha&256||(this.A-=this.B.Tj));if(a--){var d=this.G;this.rd(this.Pa.dc(this.F&this.ya,0),d);this.F=this.F&this.qb|this.F+(this.Ea&1024?-1:1)&this.ya;this.A-=c;this.K-=b;a&&(Dd(this,-2),this.da|=256)}},function(){var a=1,b=0,c=this.B.Sj;this.Ha&192&&(a= +this.K,b=1,c=this.B.Uj,this.Ha&256||(this.A-=this.B.Tj));if(a--){var d=this.G;this.Za(this.Pa.dc(this.F&this.ya,1),d);this.F=this.F&this.qb|this.F+(this.Ea&1024?-2:2)&this.ya;this.A-=c;this.K-=b;a&&(Dd(this,-2),this.da|=256)}},function(){var a=1,b=0,c=this.B.zj;this.Ha&192&&(a=this.K,b=1,c=this.B.Bj,this.Ha&256||(this.A-=this.B.Aj));a--&&(this.G=this.G&-256|this.X(this.D,this.H&this.ya),this.H=this.H&this.qb|this.H+(this.Ea&1024?-1:1)&this.ya,this.A-=c,this.K-=b,a&&(Dd(this,this.Ha&16?-3:-2),this.da|= +256))},function(){var a=1,b=0,c=this.B.zj;this.Ha&192&&(a=this.K,b=1,c=this.B.Bj,this.Ha&256||(this.A-=this.B.Aj));a--&&(this.G=this.Y(this.D,this.H&this.ya),this.H=this.H&this.qb|this.H+(this.Ea&1024?-2:2)&this.ya,this.A-=c,this.K-=b,a&&(Dd(this,this.Ha&16?-3:-2),this.da|=256))},function(){var a=1,b=0,c=this.B.Mj;this.Ha&192&&(a=this.K,b=1,c=this.B.Oj,this.Ha&256||(this.A-=this.B.Nj));a--&&(fe.call(this,this.G&255,this.P(this.Pa,this.F&this.ya)),this.F=this.F&this.qb|this.F+(this.Ea&1024?-1:1)&this.ya, +this.A-=c-this.B.Jb,this.K-=b,a&&Hd(this)==(this.Ha&64)&&(Dd(this,-2),this.da|=256))},function(){var a=1,b=0,c=this.B.Mj;this.Ha&192&&(a=this.K,b=1,c=this.B.Oj,this.Ha&256||(this.A-=this.B.Nj));a--&&(ne.call(this,this.G,this.Q(this.Pa,this.F&this.ya)),this.F=this.F&this.qb|this.F+(this.Ea&1024?-2:2)&this.ya,this.A-=c-this.B.Jb,this.K-=b,a&&Hd(this)==(this.Ha&64)&&(Dd(this,-2),this.da|=256))},function(){this.G=this.G&-256|this.ha();this.A-=this.B.Sb},function(){this.K=this.K&-256|this.ha();this.A-= +this.B.Sb},function(){this.L=this.L&-256|this.ha();this.A-=this.B.Sb},function(){this.C=this.C&-256|this.ha();this.A-=this.B.Sb},function(){this.G=this.G&255|this.ha()<<8;this.A-=this.B.Sb},function(){this.K=this.K&255|this.ha()<<8;this.A-=this.B.Sb},function(){this.L=this.L&255|this.ha()<<8;this.A-=this.B.Sb},function(){this.C=this.C&255|this.ha()<<8;this.A-=this.B.Sb},function(){this.G=this.G&this.U|this.M();this.A-=this.B.Sb},function(){this.K=this.K&this.U|this.M();this.A-=this.B.Sb},function(){this.L= +this.L&this.U|this.M();this.A-=this.B.Sb},function(){this.C=this.C&this.U|this.M();this.A-=this.B.Sb},function(){this.W=this.W&this.U|this.M();this.A-=this.B.Sb},function(){this.J=this.J&this.U|this.M();this.A-=this.B.Sb},function(){this.H=this.H&this.U|this.M();this.A-=this.B.Sb},function(){this.F=this.F&this.U|this.M();this.A-=this.B.Sb},Oh,Ph,Oh,Ph,function(){this.Mb[this.ha()].call(this,Qe)},function(){this.Mb[this.ha()].call(this,Pe)},function(){this.da|=1;this.Le[this.ha()].call(this,xe,this.ha)}, +function(){this.da|=1;this.fd[this.ha()].call(this,xe,this.M)},Qh,Rh,Qh,Rh,function(){Wd.call(this,3,null,this.B.Pl)},function(){var a=this.ha();pd(this,a)?Wd.call(this,a,null,0):this.A--},function(){Jd(this)?Wd.call(this,4,null,this.B.Ql):this.A-=this.B.Rl},function(){this.A-=this.B.Nl;if(this.lc&1&&this.Ea&16384){var a=this.sa(this.lb.La+0);zc.call(this.xa,a,!1)}else{var a=this.xa.ib,b=this.Ta(),c=this.Ta(),d=this.Ta();null!=Cc(this,b,c,!1)&&(Bc(this,d,a),this.ng&&td(this,this.Ia))}},function(){this.Le[this.ha()].call(this, +ye,pe)},function(){this.fd[this.ha()].call(this,ze,pe)},function(){this.Le[this.ha()].call(this,ye,qe)},function(){this.fd[this.ha()].call(this,ze,qe)},function(){var a=this.ha(),b=this.G&255;this.G=(b/a&255)<<8|b%a;this.ga=256;this.ca=this.na=b;this.A-=this.B.sl},function(){var a=this.ha();this.ca=this.na=this.G=(this.G>>8)*a+this.G&255;this.ga=256;this.A-=this.B.rl},function(){this.G=this.G&-256|(Ed(this)?255:0);this.A-=2},function(){this.G=this.G&-256|this.X(this.D,this.C+(this.G&255)&65535);this.A-= +this.B.qm},Sh,Sh,Sh,Sh,Sh,Sh,Sh,Sh,function(){var a=this.N();(this.K=this.K-1&65535)&&this.ca&this.ga-1?(J(this,this.za+a),this.A-=this.B.Yl):this.A-=this.B.Cj},function(){var a=this.N();!(this.K=this.K-1&65535)||this.ca&this.ga-1?this.A-=this.B.Ej:(J(this,this.za+a),this.A-=this.B.Dj)},function(){var a=this.N();(this.K=this.K-1&65535)?(J(this,this.za+a),this.A-=this.B.Xl):this.A-=this.B.Cj},function(){var a=this.N();this.K?this.A-=this.B.Ej:(J(this,this.za+a),this.A-=this.B.Dj)},function(){var a= +this.ha();this.G=this.G&-256|wb(this.ua,a,this.Ia-2);this.A-=this.B.wj},function(){var a=this.ha();this.G=wb(this.ua,a,this.Ia-2);this.G|=wb(this.ua,a+1&65535,this.Ia-2)<<8;this.A-=this.B.wj},function(){var a=this.ha();Ab(this.ua,a,this.G&255,this.Ia-2);this.A-=this.B.Lj},function(){var a=this.ha();Ab(this.ua,a,this.G&255,this.Ia-2);Ab(this.ua,a+1&65535,this.G>>8,this.Ia-2);this.A-=this.B.Lj},function(){var a=this.M();I(this,this.za);J(this,this.za+a);this.A-=this.B.wl},function(){var a=this.M(); +J(this,this.za+a);this.A-=this.B.xj},function(){Cc(this,this.M(),this.M());this.A-=this.B.Tl},function(){var a=this.N();J(this,this.za+a);this.A-=this.B.xj},function(){this.G=this.G&-256|wb(this.ua,this.L,this.Ia-1);this.A-=this.B.vj},function(){this.G=wb(this.ua,this.L,this.Ia-1);this.G|=wb(this.ua,this.L+1&65535,this.Ia-1)<<8;this.A-=this.B.vj},function(){Ab(this.ua,this.L,this.G&255,this.Ia-1);this.A-=this.B.Kj},function(){Ab(this.ua,this.L,this.G&255,this.Ia-1);Ab(this.ua,this.L+1&65535,this.G>> +8,this.Ia-1);this.A-=this.B.Kj},Th,Th,function(){this.da|=132;this.A-=this.B.Be},function(){this.da|=68;this.A-=this.B.Be},function(){this.Eb|=4;this.A-=2;this.ma&&Ud(this.ma)?(Dd(this,-1),this.ub()):this.Ea&512||(this.ma&&Dd(this,-1),this.ub())},function(){Ed(this)?Kd(this):Pd(this);this.A-=2},function(){this.Tb=-1;this.Le[this.ha()].call(this,Be,se);0<=this.Tb&&(this.G=this.Tb)},function(){this.Tb=-1;this.fd[this.ha()].call(this,Ce,se);0<=this.Tb&&(this.G=this.Tb,this.L=this.Wg)},function(){this.ca&= +~this.ga;this.A-=2},function(){this.ca|=this.ga;this.A-=2},function(){this.Ea&=-513;this.A-=this.B.ul},function(){this.Ea|=512;this.da|=4;this.A-=2},function(){this.Ea&=-1025;this.A-=2},function(){this.Ea|=1024;this.A-=2},function(){this.Le[this.ha()].call(this,Jc,se)},function(){this.fd[this.ha()].call(this,Kc,se)}],wh=[function(){var a=this.ha();16>(a&56)&&(this.da|=1);this.fd[a].call(this,this.zk,se)},function(){var a=this.ha();a&16||(this.da|=1);this.fd[a].call(this,Uh,se)},function(){this.Mb[this.ha()].call(this, +Te)},function(){this.Mb[this.ha()].call(this,Ue)},M,function(){this.xa.ib?lc.call(this,13,0,!0):(Xe.call(this,this.sa(2054)),this.F=this.sa(2086),this.H=this.sa(2088),this.J=this.sa(2090),this.W=this.sa(2092),this.C=this.sa(2094),this.L=this.sa(2096),this.K=this.sa(2098),this.G=this.sa(2100),Ec(this.Pa,2102,this.sa(2084)),Ec(this.xa,2108,this.sa(2082)),Ec(this.Ja,2114,this.sa(2080)),Ec(this.cb,2120,this.sa(2078)),Bc(this,this.sa(2072)),J(this,this.sa(2074)),this.Kc=this.sa(2126)|this.sa(2128)<<16, +this.Me=this.Kc+this.sa(2130),Ec(this.dd,2132,this.sa(2076)),this.Xc=this.sa(2138)|this.sa(2140)<<16,this.Ne=this.Xc+this.sa(2142),Ec(this.lb,2144,this.sa(2070)),this.A-=195)},function(){this.xa.ib?lc.call(this,13,0,!0):(this.lc&=-9,this.A-=2)},M,M,M,M,Mc,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M, +M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M],ud=[function(){this.A-=2+(0>this.la?0:1);return this.dd.va},function(){this.A-=2+(0>this.la?0:1);return this.lb.va},function(a){this.da|=2;this.dd.load(a);this.A-=17+(0>this.la?0:2);return a},function(a){this.da|=2;-4!=this.lb.load(a)&&(this.Za(this.lb.Ld+4, +this.lb.wb|=512),this.lb.type=768);this.A-=17+(0>this.la?0:2);return a},function(a){this.da|=2;this.A-=14+(0>this.la?0:2);if(-4!=this.Xb.load(a,!0)&&2048!=(this.Xb.wb&2560)&&(this.Xb.vc>=this.xa.ib&&this.Xb.vc>=(a&3)||7168==(this.Xb.wb&7168)))return Rd(this),a;Md(this);return a},function(a){this.da|=2;this.A-=14+(0>this.la?0:2);if(-4!=this.Xb.load(a,!0)&&512==(this.Xb.wb&2560)&&this.Xb.vc>=this.xa.ib&&this.Xb.vc>=(a&3))return Rd(this),a;Md(this);return a},L,L],Lc=[cd,cd,cd,cd,cd,cd,L,L],Uh=[function(a){0> +this.la?Mc.call(this):(a=this.Me-this.Kc,this.Za(this.la+2,this.Kc),this.Za(this.la+4,65280|this.Kc>>16),this.A-=11);return a},function(a){0>this.la?Mc.call(this):(a=this.Ne-this.Xc,this.Za(this.la+2,this.Xc),this.Za(this.la+4,65280|this.Xc>>16),this.A-=12);return a},function(a){0>this.la?Mc.call(this):(this.Kc=this.sa(this.la+2)|this.sb(this.la+4)<<16,this.Me=this.Kc+a,this.da|=2,this.A-=11);return a},function(a){0>this.la?Mc.call(this):(this.Xc=this.sa(this.la+2)|this.sb(this.la+4)<<16,this.Ne= +this.Xc+a,this.da|=2,this.A-=12);return a},function(){this.A-=2+(0>this.la?0:1);return this.lc},L,function(a){Xe.call(this,a);this.A-=0>this.la?3:6;this.da|=2;return a},L]; +function N(a){x.call(this,"ChipSet",a,N,16384);this.Na=(this.Na=a.model)?parseInt(this.Na,10):Vh;this.mc=0;var b=a.sw1;if(b)this.mc=Wh(b,Xh|Yh.Mm);else{this.ge=[360,360];(b=a.floppies)&&b.length&&(this.ge=b);if(b=this.ge.length)this.mc|=Zh.qi,b--,this.mc|=(b&3)<=$h&&(this.wh=this.og=2);this.ue=a.scaleTimers||!1;this.Ip=a.rtcDate; +this.al=!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Ii=new window.webkitAudioContext);this.reset(!0);E(this)}Va(x,N);var Vh=5150,$h=5170,ai={none:0,tv:1,color:2,mono:3,ega:0},Zh={qi:1,ONE:0,Aq:64,yq:128,Yp:192,ag:192,bg:6},Xh=12,Yh={zq:16,Qp:32,Mm:48,ag:48,bg:4};k=N.prototype; +k.Lb=function(a,b,c){switch(b){case "sw1":return this.Aa[b]=c,bi(this,b,c,this.mc,{0:this.Na==Vh?"Bootable Floppy Drive":"Loop on POST",1:this.Na==Vh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Na==Vh)return this.Aa[b]=c,bi(this,b,c,this.He,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.Aa[b]=c,!0}return!1}; +k.Dc=function(a,b,c,d){this.ua=b;this.V=c;this.ma=d;this.Qa=a;this.Sa=gb(a,"Keyboard");this.bi=c.fa.Cd/1193181;vb(b,this,ci);zb(b,this,di);this.Na<$h?(vb(b,this,ei),zb(b,this,fi)):(vb(b,this,gi),zb(b,this,hi));if(d){var e=this;ii(d,512,function(){for(var a=0;ab;b++){var c=13>=b?ki(e,b):e.pa[b];a&&(a+="\n");a+="CMOS[0x"+q(b)+"]: 0x"+q(c)}e.ma.ba(a)})}od(c,26,this,this.qo)};k.jc=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.ic=function(a){return a&&this.save?this.save():!0}; +k.reset=function(a){var b;this.sd=this.mc;this.of=this.He;li(this);this.vb=Array(this.wh);for(b=0;b=$h){this.xb=16;this.Nd=0;this.Md=16;this.nh=0;this.Pe=160;512<=pi(this)&&(this.Pe|=16);3==qi(this)&&(this.Pe|=64);this.Ai=3;this.kg=0;this.ih=Array(7);this.Qe=0;a&&(this.pa=Array(64));ri(this, +this.Ip);for(a=21;24>=a;a++)this.pa[a]=0;for(a=14;46>a;a++)void 0===this.pa[a]&&(this.pa[a]=0);this.pa[20]=this.sd&(Yh.ag|2|Zh.qi|Zh.ag);this.pa[16]=si(this,0)<<4|si(this,1);ti(this)}}; +function ri(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.ba("CMOS date invalid ("+b+"), using "+c)):b&&a.ba("CMOS date: "+c);a.pa[0]=c.getSeconds();a.pa[1]=0;a.pa[2]=c.getMinutes();a.pa[3]=0;a.pa[4]=c.getHours();a.pa[5]=0;a.pa[6]=c.getDay()+1;a.pa[7]=c.getDate();a.pa[8]=c.getMonth()+1;c=c.getFullYear();a.pa[9]=c%100;c/=100;a.pa[50]=c%10|c/10<<4;a.pa[10]=38;a.pa[11]=2;a.pa[12]=0;a.pa[13]=128;a.Qg=a.Rf=0;a.rm=a.$h=null} +function ki(a,b){var c=a.pa[b];if(10>b){var d=!1;4!=b&&5!=b||a.pa[11]&2||(c=12>c?c?c:12:(c-=12)?c+128:140,d=!0);a.pa[11]&4||(d&&128c;c++)b+=a.pa[c];a.pa[47]=b&255;a.pa[46]=b>>8} +k.save=function(){var a=new vd(this);a.set(0,[this.mc,this.He,this.sd,this.of]);for(var b=[],c=0;c=$h&&(a.set(5,[this.xb,this.Nd,this.Md,this.nh,this.Pe,this.Ai]),a.set(6,[this.kg,this.ih,this.Qe,this.pa,this.Qg,this.Rf]));return a.data()}; +k.restore=function(a){var b,c;b=a[0];this.mc=b[0];this.He=b[1];this.sd=b[2];this.of=b[3];b=a[1];for(c=0;c>2)+1)*a.ro+32*((b?a.He:a.of)&15)}function Bi(a,b){var c=b?a.mc:a.sd;return a.Na!=Vh||c&Zh.qi?((c&Zh.ag)>>Zh.bg)+1:0} +function si(a,b){if(b>Yh.bg} +function bi(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=B(c,"pcjs-bitCell");c=null;for(g=0;gg.hb[0]&&(g.hb[0]=255,g.hb[1]--,0>g.hb[1]&&(g.hb[1]=255)));return h}function Gi(a,b,c,d,e,f){var g=a.vb[b];a.wa(384)&&C(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.yb+"]",null,!0);a=g.Ub[c];a.hb[g.yb]=a.oc[g.yb]=e;g.yb^=1}function Hi(a,b,c,d){var e=a.vb[b],f=e.oe|1;e.oe&=-16;a.wa(384)&&C(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} +function Ii(a,b,c,d,e){var f=a.vb[b];a.wa(384)&&C(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.oe=f.oe&~(16<>2].Ub[b&3],c,d,e)} +function Ki(a,b,c){b=a.vb[b>>2].Ub[b&3];b.Ah&&b.$i&&b.ci?(c&&(b.Ch=c),b.Yd||Xd(a,b,!0)):c&&c(!0)}function Xd(a,b,c){c&&(b.count=b.hb[1]<<8|b.hb[0],b.Im=b.mode&12,b.cl=b.nd=!1);for(var d=!1;0<=b.count&&(c=b.th<<16|b.nb[1]<<8|b.nb[0],4==b.Im?(d=!0,function(c){b.$i.call(b.Ah,b.ci,-1,function(f,g){0>f&&(b.cl||(b.cl=!0),f=255);b.Yd||a.ua.rd(c,f);(d=g)&&setTimeout(function(){Si(b)||Xd(a,b)},0)})}(c)):8==b.Im?(c=a.ua.sb(c),0>b.$i.call(b.Ah,b.ci,c)&&(b.nd=!0)):b.nd=!0),!d&&!Si(b););} +function Si(a){if(!a.nd&&0<=--a.count&&(a.mode&32?(a.nb[0]--,0>a.nb[0]&&(a.nb[0]=255,a.nb[1]--,0>a.nb[1]&&(a.nb[1]=255))):(a.nb[0]++,255>3];b=1<<(b&7);d.Vb&b||(d.Vb|=b,d.Pf=c||0,Vi(a))} +function Zi(a,b){var c=a.Zb[b>>3],d=1<<(b&7);c.Vb&d&&(c.Vb&=~d,Vi(a))}function Vi(a,b){var c,d=-1;1>=1),Xb(a.V,c))),2==b&&$b(a))}k=N.prototype; +k.jo=function(a,b){C(this,a,null,b,"TIMER_CTRL",null,1024);return null};k.wp=function(a,b,c){this.Fi=b;C(this,a,b,c,"TIMER_CTRL",null,1024);a=(b&192)>>6;if(3!=a){c=b&1;var d=b&14;if(b&=48){var e=this.Ob[a];e.ji=b;e.mode=d;e.Ik=c;e.oc=[0,0];e.hb=[0,0];e.Xe=[0,0];e.Bd=!1;e.xg=!1;e.af=!1;aj(this,a);0==a&&Zi(this,0);2==a&&255==this.Zb[0].wd&&77==this.Mc&&(a=this.Ob[0],a.Pc[0]=a.oc[0],a.Pc[1]=a.oc[1],a.qd=F(this.V,this.ue))}else ji(this,a),b=this.Ob[a],b.Xe[0]=b.hb[0],b.Xe[1]=b.hb[1],b.xg=!0,aj(this,a)}}; +function cj(a,b){var c=a.Ob[b],d=c.oc[1]<<8|c.oc[0];d||(d=1==c.zd?256:65536);return d}function bc(a,b){var c=a.Ob[b],d=c.Pc[1]<<8|c.Pc[0];d||(d=1==c.zd?256:65536);return d}function aj(a,b){var c=a.Ob[b];c.re=32==c.ji?1:0;c.zd=48==c.ji?2:1} +function ji(a,b,c){var d=a.Ob[b];if(d.af&&(2!=b||a.Mc&1)){var e=F(a.V,a.ue),f=(e-d.qd)/a.bi|0;0>f&&(d.qd=e,f=0);var g=cj(a,b),h=bc(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.Bd=!0,d.af=!1,b||Yi(a,0))):4==d.mode?(d.Bd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Pc[0]=h&255,d.Pc[1]=h>>8,d.qd=e,!b&&d.Bd&&Yi(a,0))):6==d.mode&&(h-=f,0>=h&&(d.Bd=!d.Bd,h=g+h,0>=h&&(h=g),d.Pc[0]=h&255,d.Pc[1]=h>>8,d.qd=e,!b&&d.Bd&&Yi(a,0)));d.hb[0]=h&255;d.hb[1]=h>>8;c&&(a.qd=0)}return d} +function ac(a,b){for(var c=0;c=$h){var c=a.V.fa.Cd,d=F(a.V,a.ue);null==a.$h&&(a.Qg=F(a.V,a.ue),a.rm=1024,a.$h=Math.floor(a.V.fa.Cd/a.rm),ui(a));d>=a.Rf&&(a.pa[12]|=64,a.pa[11]&64&&(a.pa[12]|=128,Yi(a,8)),a.Rf=d+a.$h);a.pa[0]==a.pa[1]&&a.pa[2]==a.pa[3]&&a.pa[4]==a.pa[5]&&(a.pa[12]|=32,a.pa[11]&32&&(a.pa[12]|=128,Yi(a,8)));var e=d-a.Qg,f=Math.floor(e/c);if(f&&!(a.pa[11]&128)){for(;f--;)if(60<=++a.pa[0]&&(a.pa[0]=0,60<=++a.pa[2]&&(a.pa[2]=0,24<=++a.pa[4]))){a.pa[4]= +0;a.pa[6]=a.pa[6]%7+1;var g;g=a.pa[9];var h=oa[a.pa[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.pa[7]>g&&(a.pa[7]=1,12<++a.pa[8]&&(a.pa[8]=1,a.pa[9]=(a.pa[9]+1)%100))}a.pa[12]|=16;a.pa[11]&16&&(a.pa[12]|=128,Yi(a,8))}a.Qg=d-e%c}}k.$n=function(a,b){var c=this.sh;if(this.mg&16)if(this.Mc&128)c=this.sd;else if(this.Sa){var c=this.Sa,d=0;c.$b.length&&(d=c.$b[0]);c.wa()&&c.jb("scan code 0x"+q(d)+" delivered");c=d}C(this,a,null,b,"PPI_A",c);return c}; +k.pp=function(a,b,c){C(this,a,b,c,"PPI_A");this.sh=b};k.ao=function(a,b){var c=this.Mc;C(this,a,null,b,"PPI_B",c);return c};k.qp=function(a,b,c){C(this,a,b,c,"PPI_B");dj(this,b);this.Sa&&ej(this.Sa,b&128?!1:!0,b&64?!0:!1)};function dj(a,b){var c=!!(b&2),d=!!(a.Mc&2);a.Mc=b;c!=d&&$b(a,c)}k.bo=function(a,b){var c=0,c=this.Na==Vh?this.Mc&4?c|this.of&15:c|this.of>>4&1:this.Mc&8?c|this.sd>>4:c|this.sd&15;this.Mc&1&&ji(this,2).Bd&&(c=this.Mc&2?c|32:c|16);C(this,a,null,b,"PPI_C",c,16448);return c}; +k.rp=function(a,b,c){C(this,a,b,c,"PPI_C");this.Di=b};k.co=function(a,b){var c=this.mg;C(this,a,null,b,"PPI_CTRL",c);return c};k.sp=function(a,b,c){C(this,a,b,c,"PPI_CTRL");this.mg=b};k.qn=function(a,b){var c=this.nh;C(this,a,null,b,"8042_OUTBUFF",c,8192);this.xb&=-258;this.Sa&&fj(this.Sa);return c}; +k.Ho=function(a,b,c){C(this,a,b,c,"8042_INBUF.DATA",null,8192);if(this.xb&8)switch(this.Nd){case 96:gj(this,b);break;case 209:hj(this,b);break;default:if(gj(this,this.Md&-17),this.Sa){a=-1;switch(b){case 255:a=250,ij(this.Sa)}jj(this,a)}}this.Nd=b;this.xb&=-9};k.rn=function(a,b){var c=this.Mc&-209|(F(this.V)&64?16:0);C(this,a,null,b,"8042_RWREG",c,8192);return c};k.Io=function(a,b,c){C(this,a,b,c,"8042_RWREG",null,8192);dj(this,b)}; +k.sn=function(a,b){C(this,a,null,b,"8042_STATUS",this.xb,8192);var c=this.xb&255;this.xb&256&&(this.xb|=1,this.xb&=-257);return c}; +k.Go=function(a,b,c){C(this,a,b,c,"8042_INBUFF.CMD",null,8192);this.Nd=b;this.xb|=8;a=0;240<=this.Nd&&(a=this.Nd^15,this.Nd=240);switch(this.Nd){case 192:jj(this,this.Pe);break;case 173:gj(this,this.Md|16);break;case 174:gj(this,this.Md&-17);this.Sa&&fj(this.Sa);break;case 170:this.Sa&&(a=this.Sa,a.$b=[],a.wa()&&a.jb("scan codes flushed"));gj(this,this.Md|16);jj(this,85);hj(this,3);break;case 224:jj(this,this.Md&16?0:1);break;case 240:a&1&&gd(this.V)}}; +function gj(a,b){a.Md=b;a.xb=a.xb&-5|b&4;a.Sa&&ej(a.Sa,!!(b&8),!(b&16))}function jj(a,b){0<=b&&(a.nh=b,a.xb&=-2,a.xb|=256)}function hj(a,b){a.Ai=b;lb(a.ua,!!(b&2));b&1||gd(a.V)}function kj(a,b){a.Na<$h?Yi(a,1,4):a.Md&16||a.xb&257||(jj(a,b),lj(a.Sa),Yi(a,1,120))}k.Gn=function(a,b){C(this,a,null,b,"CMOS.ADDR",this.Qe,2048);return this.Qe};k.Wo=function(a,b,c){C(this,a,b,c,"CMOS.ADDR",null,2048);this.Qe=b;this.rh=b&128?0:128}; +k.Hn=function(a,b){var c=this.Qe&63,d=13>=c?ki(this,c):this.pa[c];this.wa(2176)&&C(this,a,null,b,"CMOS.DATA["+q(c)+"]",d,!0);null!=b&&12==c&&(this.pa[c]&=15,d&128&&Zi(this,8),d&64&&this.pa[11]&64&&ui(this));return d}; +k.Xo=function(a,b,c){var d=this.Qe&63;this.wa(2176)&&C(this,a,b,c,"CMOS.DATA["+q(d)+"]",null,!0);a=b^this.pa[d];if(13>=d){if(c=b,10>d){var e=!1;this.pa[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.pa[d]=c;11==d&&a&64&&b&64&&ui(this)};k.Yn=function(a,b){C(this,a,null,b,"MFG_DATA",this.kg);return this.kg};k.mp=function(a,b,c){C(this,a,b,c,"MFG_DATA");this.kg=b}; +k.op=function(a,b,c){C(this,a,b,c,"NMI");this.rh=b};k.Yo=function(a,b,c){C(this,a,b,c,"COPROC.CLEAR")};k.Zo=function(a,b,c){C(this,a,b,c,"COPROC.RESET")}; +k.qo=function(a){if(this.wa(4096)&&qd(this.ma,26,a)){var b=this.V.G>>8;rd(this.V,a,function(a,d){return function(e){d=F(a.V)-d;var f,g=a.V.L&255,h=a.V.L>>8,n=a.V.L&255,m=a.V.L>>8;if(2==b||3==b)f=" CH(hour)="+r(h)+" CL(min)="+q(g)+" DH(sec)="+q(m);else if(4==b||5==b)f=" CX(year)="+r(a.V.K)+" DH(month)="+q(m)+" DL(day)="+q(n);sd(a.ma,26,e,d,f)}}(this,F(this.V)))}return!0};function Wh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.Kb[c++]=f[b]>>16&255,this.Kb[c++]=f[b]>>24&255;else this.Kb=d;this.li=d.symbols;if(!this.Kb.length){w("Empty ROM: "+a);return}if(1==this.Kb.length){w(this.Kb[0]);return}}catch(g){this.Ia("ROM data error: "+ -g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Kb=Array(a.length),d=0;d>d.cb].Pf(e&d.Sa,a.Kb[c]&255)}return!0}return!1}Fa(function(){for(var a=z(window.document,"pcjs","rom"),b=0;bthis.ah?21:23,c=a.na[b]|a.na[b+1]<<8,c=c+(this.Ud>>10);a.na[b]=c&255;a.na[b+1]=c>>8;ti(a)}}else w("No RAM allocated")}; -Fa(function(){for(var a=z(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,Bp:65,Cp:66,jk:67,zm:68,E:69,Jp:70,Mp:71,kk:72,Op:73,Pp:74,Qp:75,Rp:76,Sp:77,hi:78,Up:79,Vp:80,Xp:81,mk:82,aq:83,kq:84,oq:85,pq:86,qq:87,sq:88,tq:89,uq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,vq:97,wq:98,yq:99,zq:100,Aq:101,Bq:102,Cq:103,Dq:104,Eq:105,Fq:106,Gq:107, -Hq:108,Iq:109,Jq:110,Lq:111,Mq:112,Nq:113,Oq:114,Pq:115,Qq:116,Rq:117,Sq:118,Tq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},tj={};tj[186]=O[";"];tj[187]=O["="];tj[188]=O[","];tj[189]=O["-"];tj[190]=O["."];tj[191]=O["/"];tj[192]=O["`"];tj[219]=O["["];tj[220]=O["\\"];tj[221]=O["]"];tj[222]=O["'"];tj[173]=O["-"];var P={};P[O["1"]]=O["!"];P[O["2"]]=O["@"];P[O["3"]]=O["#"];P[O["4"]]=O.$;P[O["5"]]=O["%"];P[O["6"]]=O["^"];P[O["7"]]=O["&"];P[O["8"]]=O["*"];P[O["9"]]=O["("];P[O["0"]]=O[")"]; +a,b,c)},4:function(a,b,c){Ei(this,0,2,a,b,c)},5:function(a,b,c){Gi(this,0,2,a,b,c)},6:function(a,b,c){Ei(this,0,3,a,b,c)},7:function(a,b,c){Gi(this,0,3,a,b,c)},8:function(a,b,c){this.wa(384)&&C(this,a,b,c,"DMA0.CMD",null,!0);this.vb[0].Bi=b},9:function(a,b,c){Ii(this,0,a,b,c)},10:function(a,b,c){Ji(this,0,a,b,c)},11:function(a,b,c){Li(this,0,a,b,c)},12:function(a,b,c){this.wa(384)&&C(this,a,b,c,"DMA0.RESET_FF",null,!0);this.vb[0].yb=0},13:function(a,b,c){Mi(this,0,a,b,c)},32:function(a,b,c){Ui(this, +0,b,c)},33:function(a,b,c){Xi(this,0,b,c)},64:function(a,b,c){bj(this,0,b,c)},65:function(a,b,c){bj(this,1,b,c)},66:function(a,b,c){bj(this,2,b,c)},67:N.prototype.wp,129:function(a,b,c){Oi(this,0,2,a,b,c)},130:function(a,b,c){Oi(this,0,3,a,b,c)},131:function(a,b,c){Oi(this,0,1,a,b,c)},135:function(a,b,c){Oi(this,0,0,a,b,c)}},fi={96:N.prototype.pp,97:N.prototype.qp,98:N.prototype.rp,99:N.prototype.sp,160:N.prototype.op},hi={96:N.prototype.Ho,97:N.prototype.Io,100:N.prototype.Go,112:N.prototype.Wo, +113:N.prototype.Xo,128:N.prototype.mp,132:function(a,b,c){Qi(this,0,a,b,c)},133:function(a,b,c){Qi(this,1,a,b,c)},134:function(a,b,c){Qi(this,2,a,b,c)},136:function(a,b,c){Qi(this,3,a,b,c)},137:function(a,b,c){Oi(this,1,2,a,b,c)},138:function(a,b,c){Oi(this,1,3,a,b,c)},139:function(a,b,c){Oi(this,1,1,a,b,c)},140:function(a,b,c){Qi(this,4,a,b,c)},141:function(a,b,c){Qi(this,5,a,b,c)},142:function(a,b,c){Qi(this,6,a,b,c)},143:function(a,b,c){Oi(this,1,0,a,b,c)},160:function(a,b,c){Ui(this,1,b,c)},161:function(a, +b,c){Xi(this,1,b,c)},192:function(a,b,c){Ei(this,1,0,a,b,c)},194:function(a,b,c){Gi(this,1,0,a,b,c)},196:function(a,b,c){Ei(this,1,1,a,b,c)},198:function(a,b,c){Gi(this,1,1,a,b,c)},200:function(a,b,c){Ei(this,1,2,a,b,c)},202:function(a,b,c){Gi(this,1,2,a,b,c)},204:function(a,b,c){Ei(this,1,3,a,b,c)},206:function(a,b,c){Gi(this,1,3,a,b,c)},208:function(a,b,c){this.wa(384)&&C(this,a,b,c,"DMA1.CMD",null,!0);this.vb[1].Bi=b},210:function(a,b,c){Ii(this,1,a,b,c)},212:function(a,b,c){Ji(this,1,a,b,c)}, +214:function(a,b,c){Li(this,1,a,b,c)},216:function(a,b,c){this.wa(384)&&C(this,a,b,c,"DMA1.RESET_FF",null,!0);this.vb[1].yb=0},218:function(a,b,c){Mi(this,1,a,b,c)},240:N.prototype.Yo,241:N.prototype.Zo};Fa(function(){for(var a=B(window.document,"pcjs","chipset"),b=0;b>8&255,this.Pb[c++]=f[b]>>16&255,this.Pb[c++]=f[b]>>24&255;else this.Pb=d;this.vi=d.symbols;if(!this.Pb.length){w("Empty ROM: "+a);return}if(1==this.Pb.length){w(this.Pb[0]);return}}catch(g){this.Ma("ROM data error: "+ +g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Pb=Array(a.length),d=0;d>d.gb].Zf(e&d.Wa,a.Pb[c]&255)}return!0}return!1}Fa(function(){for(var a=B(window.document,"pcjs","rom"),b=0;bthis.lh?21:23,c=a.pa[b]|a.pa[b+1]<<8,c=c+(this.be>>10);a.pa[b]=c&255;a.pa[b+1]=c>>8;ti(a)}}else w("No RAM allocated")}; +Fa(function(){for(var a=B(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,Op:65,Pp:66,uk:67,Km:68,E:69,Wp:70,Zp:71,vk:72,aq:73,bq:74,cq:75,dq:76,eq:77,ri:78,gq:79,hq:80,jq:81,xk:82,nq:83,xq:84,Bq:85,Cq:86,Dq:87,Fq:88,Gq:89,Hq:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Iq:97,Jq:98,Lq:99,Mq:100,Nq:101,Oq:102,Pq:103,Qq:104,Rq:105,Sq:106,Tq:107, +Uq:108,Vq:109,Wq:110,Yq:111,Zq:112,$q:113,ar:114,br:115,cr:116,dr:117,er:118,fr:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},tj={};tj[186]=O[";"];tj[187]=O["="];tj[188]=O[","];tj[189]=O["-"];tj[190]=O["."];tj[191]=O["/"];tj[192]=O["`"];tj[219]=O["["];tj[220]=O["\\"];tj[221]=O["]"];tj[222]=O["'"];tj[173]=O["-"];var P={};P[O["1"]]=O["!"];P[O["2"]]=O["@"];P[O["3"]]=O["#"];P[O["4"]]=O.$;P[O["5"]]=O["%"];P[O["6"]]=O["^"];P[O["7"]]=O["&"];P[O["8"]]=O["*"];P[O["9"]]=O["("];P[O["0"]]=O[")"]; P[186]=O[":"];P[187]=O["+"];P[188]=O["<"];P[189]=O._;P[190]=O[">"];P[191]=O["?"];P[192]=O["~"];P[219]=O["{"];P[220]=O["|"];P[221]=O["}"];P[222]=O['"'];P[173]=O._;P[61]=O["+"];P[59]=O[":"]; var uj={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},vj={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},wj={esc:1027,1:O["1"],2:O["2"],3:O["3"],4:O["4"],5:O["5"],6:O["6"],7:O["7"],8:O["8"],9:O["9"],0:O["0"],"-":O["-"],"=":O["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":O["["],"]":O["]"],enter:13, ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":O[";"],quote:O["'"],"`":O["`"],shift:1016,"\\":O["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":O[","],".":O["."],"/":O["/"],"right-shift":3016,prtsc:1044,alt:1018,space:O[" "],"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107,"num-end":1035, @@ -509,176 +539,176 @@ ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":O[";"],quote:O["'"]," Q[81]=10768;Q[119]=17;Q[87]=10769;Q[101]=18;Q[69]=10770;Q[114]=19;Q[82]=10771;Q[116]=20;Q[84]=10772;Q[121]=21;Q[89]=10773;Q[117]=22;Q[85]=10774;Q[105]=23;Q[73]=10775;Q[111]=24;Q[79]=10776;Q[112]=25;Q[80]=10777;Q[O["["]]=26;Q[O["{"]]=10778;Q[O["]"]]=27;Q[O["}"]]=10779;Q[13]=28;Q[1017]=29;Q[97]=30;Q[65]=10782;Q[115]=31;Q[83]=10783;Q[100]=32;Q[68]=10784;Q[102]=33;Q[70]=10785;Q[103]=34;Q[71]=10786;Q[104]=35;Q[72]=10787;Q[106]=36;Q[74]=10788;Q[107]=37;Q[75]=10789;Q[108]=38;Q[76]=10790;Q[O[";"]]=39; Q[O[":"]]=10791;Q[O["'"]]=40;Q[O['"']]=10792;Q[O["`"]]=41;Q[O["~"]]=10793;Q[1016]=42;Q[O["\\"]]=43;Q[O["|"]]=10795;Q[122]=44;Q[90]=10796;Q[120]=45;Q[88]=10797;Q[99]=46;Q[67]=10798;Q[118]=47;Q[86]=10799;Q[98]=48;Q[66]=10800;Q[110]=49;Q[78]=10801;Q[109]=50;Q[77]=10802;Q[O[","]]=51;Q[O["<"]]=10803;Q[O["."]]=52;Q[O[">"]]=10804;Q[O["/"]]=53;Q[O["?"]]=10805;Q[3016]=54;Q[1044]=55;Q[1018]=56;Q[O[" "]]=57;Q[1020]=58;Q[1112]=59;Q[1113]=60;Q[1114]=61;Q[1115]=62;Q[1116]=63;Q[1117]=64;Q[1118]=65;Q[1119]=66; Q[1120]=67;Q[1121]=68;Q[1144]=69;Q[1145]=70;Q[1036]=71;Q[1038]=72;Q[1033]=73;Q[1109]=74;Q[1037]=75;Q[1101]=76;Q[1039]=77;Q[1107]=78;Q[1035]=79;Q[1040]=80;Q[1034]=81;Q[1045]=82;Q[1046]=83;Q[1122]=87;Q[1123]=88;Q[1091]=91;Q[1093]=93;Q[1224]=91;Q[4003]=7470;Q[4008]=7494;Q[4046]=3677523;k=sj.prototype; -k.Hb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.xa[e])switch(b){case "kbd":return this.xa[e]=c,c.onkeydown=function(a){return yj(d,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;var b=!Q[a]||!!(d.Yb&128);b||zj(d,a,!0);return b},c.onkeyup=function(a){return yj(d,a,!1)},!0;case "caps-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Oc();zj(d,1020,!0)},!0;case "num-lock":return this.xa[e]=c,c.onclick=function(){d.T&&d.T.Oc();zj(d,1144,!0)},!0;case "scroll-lock":return this.xa[e]= -c,c.onclick=function(){d.T&&d.T.Oc();zj(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==vj[f]&&"button"==a)return this.xa[e]=c,c.onclick=function(a,b,c){return function(){a.T&&a.T.Oc();Aj(a,c,!0);zj(a,c,!0)}}(this,f,vj[f]),!0;if(void 0!==wj[b])return this.Ak++,this.xa[e]=c,a=function(a,b,c){return function(){zj(a,c)}}(this,b,wj[b]),b=function(a,b,c){return function(){Bj(a,c)}}(this,b,wj[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0}return!1};function Cj(a,b,c){if(a.Ak){for(var d in P)if(b==P[d]){b=parseInt(d,10);(d=tj[d])&&(b=d);break}for(var e in wj)if((d=wj[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=wj[e]==d),d){(a=a.xa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}k.zc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.oa=hb(a,"ChipSet")};function ij(a,b){a.gb("keyboard reset",32896);a.Vb=[170];b&&a.oa&&kj(a.oa,a.Vb[0])} -function ej(a,b,c){a.Ii!==c&&(a.Ii=a.Li=c);a.wh!==b&&(a.wh=b)&&!a.Li&&lj(a,!0);a.wh&&a.Li&&(ij(a,!0),a.Li=!1)}function fj(a){var b=0;a.Vb.length&&(b=a.Vb[0],a.oa&&kj(a.oa,b));a.ua()&&a.gb("scan code 0x"+q(b)+" available")}function lj(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.qd:a.Yb)&b):d||b&255&&(b=255);if(c){a.qd&=~b;d&&(a.qd|=b);c=b;var f,g;for(g in xj)d="led-"+g,e=xj[g],c&&c!=e||!(f=a.xa[d])||(f.style.backgroundColor=a.qd&e?"#00ff00":"#000000")}else a.Yb&=~b,d&&(a.Yb|=b);return!0}}return!1} -function zj(a,b,c){if(Q[b]&&a.T&&a.T.ma.nb){uj[b]&&a.ic.length&&0e||(e==a.ic.length&&(d={},d.cf=b,d.Yb=a.Yb,Cj(a,b,!0),e++),0b.xd){if(!b.mg){Bj(a,b.cf);return}b.mg=!1;c=a.jo}else c=1==b.xd++?a.ko:a.lo;b.vm=setTimeout(function(a){return function(){Dj(a,b)}}(a),c)}}else Bj(a,b.cf,!0)}function Fj(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Yb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Yb&515)==c&&(d=b-32);else if(!!(a.Yb&3)==c){if(a=P[b])d=a}else if(a=tj[b])d=a;return d}k.Uh=function(a){this.xh=a;a||(this.Yb&=-256)}; -function yj(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Fj(a,g,!0);a.Lk&&h==O["`"]&&(g=h=27);if(Q[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Aj(a,h,!1,c)){if(20==g||144==g||145==g)a.Vm||(c=e=!0);if(!(c||91!=g&&93!=g))for(var n=0;n=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.qd&3||a.qd&512&&b||(g=h):29==h?a.qd&12||(g=h):56==h?a.qd&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Vb.length?(d.ua()&&d.gb("scan code 0x"+q(f)+" buffered"),d.Vb.push(f),1==d.Vb.length&&d.oa&&kj(d.oa, -f)):(20==d.Vb.length&&d.Vb.push(255),d.gb("scan code buffer overflow")))}}Fa(function(){for(var a=z(window.document,"pcjs","keyboard"),b=0;b=d&&(d-=32),d=wj[e]==d),d){(a=a.Aa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}k.Dc=function(a,b,c,d){this.ua=b;this.V=c;this.ma=d;this.qa=gb(a,"ChipSet")};function ij(a,b){a.jb("keyboard reset",32896);a.$b=[170];b&&a.qa&&kj(a.qa,a.$b[0])} +function ej(a,b,c){a.Ti!==c&&(a.Ti=a.Wi=c);a.Gh!==b&&(a.Gh=b)&&!a.Wi&&lj(a,!0);a.Gh&&a.Wi&&(ij(a,!0),a.Wi=!1)}function fj(a){var b=0;a.$b.length&&(b=a.$b[0],a.qa&&kj(a.qa,b));a.wa()&&a.jb("scan code 0x"+q(b)+" available")}function lj(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.yd:a.cc)&b):d||b&255&&(b=255);if(c){a.yd&=~b;d&&(a.yd|=b);c=b;var f,g;for(g in xj)d="led-"+g,e=xj[g],c&&c!=e||!(f=a.Aa[d])||(f.style.backgroundColor=a.yd&e?"#00ff00":"#000000")}else a.cc&=~b,d&&(a.cc|=b);return!0}}return!1} +function zj(a,b,c){if(Q[b]&&a.V&&a.V.oa.rb){uj[b]&&a.nc.length&&0e||(e==a.nc.length&&(d={},d.mf=b,d.cc=a.cc,Cj(a,b,!0),e++),0b.Fd){if(!b.wg){Bj(a,b.mf);return}b.wg=!1;c=a.uo}else c=1==b.Fd++?a.vo:a.wo;b.Gm=setTimeout(function(a){return function(){Dj(a,b)}}(a),c)}}else Bj(a,b.mf,!0)}function Fj(a,b,c){var d=b;if(65<=b&&90>=b)!(a.cc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.cc&515)==c&&(d=b-32);else if(!!(a.cc&3)==c){if(a=P[b])d=a}else if(a=tj[b])d=a;return d}k.di=function(a){this.Hh=a;a||(this.cc&=-256)}; +function yj(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Fj(a,g,!0);a.Wk&&h==O["`"]&&(g=h=27);if(Q[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Aj(a,h,!1,c)){if(20==g||144==g||145==g)a.fn||(c=e=!0);if(!(c||91!=g&&93!=g))for(var n=0;n=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.yd&3||a.yd&512&&b||(g=h):29==h?a.yd&12||(g=h):56==h?a.yd&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.$b.length?(d.wa()&&d.jb("scan code 0x"+q(f)+" buffered"),d.$b.push(f),1==d.$b.length&&d.qa&&kj(d.qa, +f)):(20==d.$b.length&&d.$b.push(255),d.jb("scan code buffer overflow")))}}Fa(function(){for(var a=B(window.document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(Tj)];this.ka=a.ka;this.type=e[0];this.port=e[1];this.oe=b;this.Za=e[2];this.Tb=e[3];this.dd=d||e[4];65536<=this.dd&&720896<=this.Za&&(this.Tb=Math.min(this.dd>>2,32768));this.fd=c[0];this.Nc=c[1];this.of=c[2];this.Nf=c[3];this.yc=c[4]&255;this.Fh=c[4]>>8&255;this.nc=c[5];this.Vi=Tj;this.bh=Uj;if(5==b){this.Vi=Vj;this.bh=Wj;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5), -0,0,0,Array(9),0,[this.Za,this.Tb,this.dd],Array(this.dd>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.sd=b[0];this.Md=b[1];this.Xd=b[2];this.ni=Xj;this.ei=b[3];this.rg=b[4];this.Eh=b[5];this.Od=b[6];this.Uf=b[7];this.pi=dk;this.Qi=b[8];this.Ri=b[9];this.Nd=b[10];this.Ce=b[11];this.oi=ek;this.Ib=b[12];d=b[13];"number"==typeof d&&(d=[this.Za,this.Tb,d]);this.Za=d[0];this.Tb=d[1];d=this.dd>>2;if((this.nd=b[14])&&this.nd.length>8&255)} -var hk=[,,function(a){a+=this.offset;return(this.ga.Ib=this.ya[a])>>this.ga.Pj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ya[b]>>8:this.ya[b])&255}];hk[16]=function(a){a+=this.offset;a=this.ya[a];for(var b=this.ga.Xi&this.ga.Yi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};hk[512]=function(a,b){var c=a+this.offset,d;d=this.ya[c]&~this.ga.wb|(b|b<<8|b<<16|b<<24)&this.ga.wb;d=d&this.ga.Bb|this.ga.Ib&~this.ga.Bb;this.ya[c]!=d&&(this.ya[c]=d,this.zb=!0)}; -hk[1024]=function(a,b){var c=a+this.offset;b=b>>this.ga.vd|b<<8-this.ga.vd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.ve|this.ga.Xe;d=d&this.ga.wb|this.ya[c]&~this.ga.wb;d=d&this.ga.Bb|this.ga.Ib&~this.ga.Bb;this.ya[c]!=d&&(this.ya[c]=d,this.zb=!0)}; -hk[1536]=function(a,b){var c=a+this.offset;b=b>>this.ga.vd|b<<8-this.ga.vd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.ve|this.ga.Xe;d&=this.ga.Ib;d=d&this.ga.wb|this.ya[c]&~this.ga.wb;d=d&this.ga.Bb|this.ga.Ib&~this.ga.Bb;this.ya[c]!=d&&(this.ya[c]=d,this.zb=!0)}; -hk[2560]=function(a,b){var c=a+this.offset;b=b>>this.ga.vd|b<<8-this.ga.vd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.ve|this.ga.Xe;d|=this.ga.Ib;d=d&this.ga.wb|this.ya[c]&~this.ga.wb;d=d&this.ga.Bb|this.ga.Ib&~this.ga.Bb;this.ya[c]!=d&&(this.ya[c]=d,this.zb=!0)}; -hk[3584]=function(a,b){var c=a+this.offset;b=b>>this.ga.vd|b<<8-this.ga.vd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.ve|this.ga.Xe;d^=this.ga.Ib;d=d&this.ga.wb|this.ya[c]&~this.ga.wb;d=d&this.ga.Bb|this.ga.Ib&~this.ga.Bb;this.ya[c]!=d&&(this.ya[c]=d,this.zb=!0)};hk[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ga.wb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.ya[d]&~c;c=c&this.ga.Bb|this.ga.Ib&~this.ga.Bb;this.ya[d]!=c&&(this.ya[d]=c,this.zb=!0)}; -hk[4096]=function(a){a+=this.offset;var b=this.ya[a]&~this.ga.wb|this.ga.Ib&this.ga.wb;this.ya[a]!=b&&(this.ya[a]=b,this.zb=!0)};hk[8192]=function(a,b){var c=a+this.offset,d=Pj[b&15],d=d&this.ga.wb|this.ya[c]&~this.ga.wb,d=d&this.ga.Bb|this.ga.Ib&~this.ga.Bb;this.ya[c]!=d&&(this.ya[c]=d,this.zb=!0)};hk[24576]=function(a,b){var c=a+this.offset,d=Pj[b&15],d=d&this.ga.Ib,d=d&this.ga.wb|this.ya[c]&~this.ga.wb,d=d&this.ga.Bb|this.ga.Ib&~this.ga.Bb;this.ya[c]!=d&&(this.ya[c]=d,this.zb=!0)}; -hk[40960]=function(a,b){var c=a+this.offset,d=Pj[b&15],d=d|this.ga.Ib,d=d&this.ga.wb|this.ya[c]&~this.ga.wb,d=d&this.ga.Bb|this.ga.Ib&~this.ga.Bb;this.ya[c]!=d&&(this.ya[c]=d,this.zb=!0)};hk[57344]=function(a,b){var c=a+this.offset,d=Pj[b&15],d=d^this.ga.Ib,d=d&this.ga.wb|this.ya[c]&~this.ga.wb,d=d&this.ga.Bb|this.ga.Ib&~this.ga.Bb;this.ya[c]!=d&&(this.ya[c]=d,this.zb=!0)}; -function ik(a){var b=[];if(void 0!==a.oe){b[0]=a.fd;b[1]=a.Nc;b[2]=a.of;b[3]=a.Nf;b[4]=a.yc|a.Fh<<8;b[5]=a.nc;if(5==a.oe){var c=[];c[0]=a.sd;c[1]=a.Md;c[2]=a.Xd;c[3]=a.ei;c[4]=a.rg;c[5]=a.Eh;c[6]=a.Od;c[7]=a.Uf;c[8]=a.Qi;c[9]=a.Ri;c[10]=a.Nd;c[11]=a.Ce;c[12]=a.Ib;c[13]=[a.Za,a.Tb,a.dd];var d;a:if(d=a.nd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=n;h=m}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var f=p(b.Za+a)+":",s=0;8>s&&a>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),sb(this.sa,b,c|d<<8);Ob(this,!0)}};function qk(a){a.pa.rg&1?(a.cd=a.wi,a.Lb=a.pa):(a.cd=a.pa,a.Lb=a.ph)}k.save=function(){var a=new qd(this);a.set(0,ik(this.wi));a.set(1,ik(this.ph));a.set(2,[this.se,this.wd,this.Td]);a.set(3,ik(this.pa));return a.data()}; -k.restore=function(a){var b=a[2];this.se=b[0];this.wd=b[1];this.Td=b[2];this.Ja=null;this.cd=this.wi=new Rj(this,1,a[0]);this.Lb=this.ph=new Rj(this,3,a[1]);this.pa=new Rj(this,5,a[3],this.dd);this.pa.fd&&qk(this);rk(this);if(!tk(this))return!1;uk(this);return!0}; -k.so=function(a,b,c){if(c)this.Ia("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){w("Empty font ROM image: "+a);return}if(1==d.length){w(d[0]);return}if(8192==d.length)qj(this,d,[0,6144]);else{this.Ia("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ia("Font ROM data error: "+e.message);return}B(this)}}; -function vk(a,b){if(1==b)return a.Cd[0]=U[0],a.Cd[1]=U[7],a.Cd;if(2==b){var c=a.Ja.of;if(a.Ja===a.pa){var d=a.pa.Xd[0],c=d&7;d&16&&(c|=8);18!=a.pa.Xd[1]&&(c|=32)}a.Cd[0]=U[c&15];c=c&32?Nj:Mj;for(d=0;dwa||!T?wa:8,zb=Cc.createImageData(m.vc,m.wc),D=0;256>D;D++){for(Na=0;Na< -wa;Na++)for(var Oa=m.Tf&&y&1&&Na>=wa-2,Y=Ca[Na>(8<=K&&176<=D&&223>=D?7:K)?u:Ya;yk(zb,Dc,jc,Ec);v&&yk(zb,Dc+1,jc,Ec)}Cc.putImageData(zb,(D&15)*m.vc,(D>>4)*m.wc)}m.jf[y]="#"+q(u[0])+q(u[1])+q(u[2]);m.pk[y]=u;m.ii[y]=Qb;m=!0}}a.$d[b]=s;return m}function zk(a){0a.Le&&(a.Le=0):a.Le=-1} -function uk(a){if(a.$b){for(var b=10;15>=b;b++)if(null==a.Ja.nc[b])return;var c=a.Ja.nc[10],b=c&31,d=a.Ja.nc[11]&31,e=a.Ja.nc[9]&31,f=!1;a.Ja===a.pa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Ak(a);else{c=a.Ja.nc[15]+((a.Ja.nc[14]&63)<<8);a.Uc!=c&&(Ak(a),a.Uc=c);d=d-b+1;if(a.ym!=b||a.Fk!=d)a.ym=b,a.Fk=d;a.ke=e+1;zk(a)}}} -function Ak(a){if(0<=a.Uc){if(void 0!==a.oc){var b=a.oc[a.Uc];if(b&131072){var b=b&-131073,c=a.Uc%a.Mb,d=Math.floor(a.Uc/a.Mb);a.$b&&a.$d[a.$b]&&(a.pf&&Bk(a,c,d,b,a.pf),Bk(a,c,d,b));a.oc[a.Uc]=b}}a.Uc=-1}} -function Ck(a){var b;a=a.Ja;var c=a.Ce[5];if(null!=c){b=2;var d=512,e=a.Ce[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.vd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.bf=function(a){var b=this.Ja;null!=a&&b&&a!=b.Kh&&(b.bi(a),this.sa.bi(b.Za,b.Tb,b.Zf))}; -function tk(a,b){var c,d=a.Td,e=a.Ja;if(e)if(1==e.oe)d=Hj;else if(5==e.oe){var d=null,f=e.dd>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Ck(a)}}else e.Nc&8&&(e.Nc&2?(d=e.Nc&16?6:5,e.Nc&4||(d-=1)):(d=e.Nc&1?3:1,e.Nc&4&&(d-= -1)));else a.Td=null,null==d&&(d=a.wd);if(!sk(a,d,b))return!1;a.bf(c);return!0} -function sk(a,b,c){if(null!=b&&(b!=a.Td||c)){a.Hm=0;a.Td=b;b=a.Ja||(b==Hj?a.cd:a.Lb);if(b!=a.Ja||b.Za!=a.Za||b.Tb!=a.Tb){Ak(a);if(a.Za){if(!pb(a.sa,a.Za,a.Tb))return!1;a.Ja&&(a.Ja.fd=!1)}a.Ja=b;b.fd=!0;a.Za=b.Za;a.Tb=b.Tb;if(!nb(a.sa,b.Za,b.Tb,!1,b===a.pa?b:null))return!1}a.$b=0;a.Mb=a.Mh;a.Bc=a.bj;a.Wi=Gj[Hj][2];b=0;var d=Gj[a.Td];d&&(a.Mb=d[0],a.Bc=d[1],a.Wi=d[2],b=d[3]||0,a.$b=d[4],4==a.se&&a.Ja===a.pa&&3==a.$b&&(7==a.pa.nc[9]?a.Bc=43:a.$b=5));a.cl=a.Mb*a.Bc;a.Lh=a.cl/a.Wi;a.xi=(a.Lh<<1)+b;a.Ck= -b?a.xi+b>>1:0;13<=a.Td&&(a.Lh<<=1);a.$d.length&&(a.Jd=Math.floor(a.Id/a.Mb),a.Kd=Math.floor(a.le/a.Bc),a.$b?(b=a.$d[a.$b],d=a.$d[a.$b<<1],a.Wm&&80==a.Mb?d&&a.Jd>=3*d.vc>>2&&(a.$b<<=1,b=d):(d&&a.Jd>=d.vc&&(a.$b<<=1,b=d),b&&(a.Jd=b.vc,a.Kd=b.wc)),a.jg=a.kg=0,b&&(a.jg=a.Mb*b.vc,a.kg=a.Bc*b.wc)):(a.Jd=a.Kd=1,a.jg=a.Mb,a.kg=a.Bc),a.Hh=a.ed.createImageData(a.jg,a.kg),a.mf=window.document.createElement("canvas"),a.mf.width=a.jg,a.mf.height=a.kg,a.pf=a.mf.getContext("2d"),a.hk=a.ik=0,a.zi=a.Id,a.Ai=a.le, -b=a.Id-a.Mb*a.Jd,d=a.le-a.Bc*a.Kd,0>1,a.zi-=b),0>1,a.Ai-=d),b||d)&&(a.ed.fillStyle=a.fg.style.backgroundColor,a.ed.fillRect(0,0,a.Id,a.le));!1!==c?Ob(a,!0):Dk(a,!0)}return!0}function yk(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Dk(a,b){var c;if(b){if(c=a.Lh,void 0===a.oc||a.oc.length!=c)a.oc=Array(c)}else{if(void 0===a.oc)return;c=a.oc.length}for(var d=0;d>8;d=g&15;var h=a.$d[a.$b];h.Tf&&(d=h.Tf[d]);var n=g>>4&15;h.Tf&&(n=h.Tf[n]);e?(b*=h.vc,c*=h.wc,e.fillStyle=h.jf[n],e.fillRect(b,c,h.vc,h.wc)):(b=b*a.Jd+a.hk,c=c*a.Kd+a.ik,a.ed.fillStyle=h.jf[n],a.ed.fillRect(b,c,a.Jd,a.Kd));g&256&&(n=(f&15)*h.vc,f=(f>>4)*h.wc,e?e.drawImage(h.ii[d],n,f,h.vc,h.wc,b,c,h.vc,h.wc):a.ed.drawImage(h.ii[d],n,f,h.vc,h.wc,b,c,a.Jd,a.Kd));g&512&&(f=a.ym,g=a.Fk,e?(a.ke&&a.ke!==h.wc&&(f=Math.floor(f*h.wc/a.ke),g=Math.floor(g*h.wc/a.ke)), -e.fillStyle=h.jf[d],e.fillRect(b,c+f,h.vc,g)):(a.ke&&a.ke!==a.Kd&&(f=Math.floor(f*a.Kd/a.ke),g=Math.floor(g*a.Kd/a.ke)),a.ed.fillStyle=h.jf[d],a.ed.fillRect(b,c+f,a.Jd,g)))} -function Ob(a,b){if(a.ma.Rb){var c=!1;a.Ja&&(a.Ja===a.pa?a.pa.Md&32&&(c=!0):a.Ja.Nc&8&&(c=!0));if(c||b){if(b)Dk(a,!0);else if(void 0===a.oc)return;var d=!1;!(b||++a.Hm&15)&&0<=a.Le&&(a.Le++,d=!0);var e=0,f=a.cl,c=a.Ja.Za,g=c+a.Ja.Tb,h=(a.Ja.nc[12]<<8)+a.Ja.nc[13];a.$b&&(h<<=1);var c=c+h,n=a.xi;c+n>g&&(n=g-c,0>n&&(n=0));g=c+n;if(h=!b){for(var h=a.sa,m=!0,t=c>>h.cb;0a.Uc)return;e=a.Uc;f= -e+1}}if(a.$b){if(a.$d[a.$b]){d=0;h=a.Ke=0;n=1048575;a.Ja.Nc&32&&(h=32768,n&=~h,a.Le&2||(n&=-65537));for(c+=e<<1;c>8|(s&255)<<8;u=h;var wa=16;t>=n))>>(wa-=n);yk(a.Hh,t++,y,m[Ya])}t>C&&(C=t);y=R&&(R=y+1)}e+=2;g++;if(t>=a.Mb){t=0;y+=2;if(y>a.Bc)break;y==a.Bc&&(y=1,e=c+a.Ck)}}vT;T++)R= -C&2155905152,0>R&&(R+=4294967296),R=Qj[R]||0,yk(a.Hh,h++,n,g[R]),C<<=1;h>t&&(t=h);n=v&&(v=n+1)}e++;if(h>=a.Mb&&(h=0,++n>a.Bc))break}m>2),c=this.pa.ei&-17|(this.eh&1<f&&(f=0);f%b.Zi>b.oo&&(d|=1);f%=b.fl;f>b.qo&&(d|=8);b.fj=e-f;b===a.pa?(d|=b.Nf&48^48,b.sd=!1):d=(b.Nf^=9)|240;b.Nf=d;A(a,b.port+6,null,c,b===a.pa?"STATUS1":"STATUS",d);return d} -var kk={948:S.prototype.Kn,949:S.prototype.Jn,952:S.prototype.Ln,954:S.prototype.Mn,980:S.prototype.sn,981:S.prototype.rn,984:S.prototype.tn,985:S.prototype.qn,986:S.prototype.un},lk={948:S.prototype.$o,949:S.prototype.Zo,952:S.prototype.ap,980:S.prototype.Jo,981:S.prototype.Io,984:S.prototype.Ko,985:S.prototype.Ho},mk={960:S.prototype.Zk,961:S.prototype.Zk,962:S.prototype.Wn,964:S.prototype.Vn,965:S.prototype.Un,970:S.prototype.Dn,972:S.prototype.Cn,974:S.prototype.Bn,975:S.prototype.An},nk={954:S.prototype.jm, -960:S.prototype.im,961:S.prototype.im,962:S.prototype.cp,964:S.prototype.jp,965:S.prototype.ip,970:S.prototype.Vo,972:S.prototype.Uo,974:S.prototype.To,975:S.prototype.So,986:S.prototype.jm}; -Fa(function(){for(var a=z(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth* +function Rj(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Xj[b],f=a.Ae||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Yj)];this.ma=a.ma;this.type=e[0];this.port=e[1];this.we=b;this.bb=e[2];this.Yb=e[3];this.kd=d||e[4];65536<=this.kd&&720896<=this.bb&&(this.Yb=Math.min(this.kd>>2,32768));this.md=c[0];this.Rc=c[1];this.xf=c[2];this.Xf=c[3];this.Cc=c[4]&255;this.Ph=c[4]>>8&255;this.sc=c[5];this.fj=Yj;this.mh=Zj;if(5==b){this.fj=ak;this.mh=bk;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5), +0,0,0,Array(9),0,[this.bb,this.Yb,this.kd],Array(this.kd>>2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.Ad=b[0];this.Ud=b[1];this.ee=b[2];this.xi=ck;this.oi=b[3];this.Bg=b[4];this.Oh=b[5];this.Wd=b[6];this.dg=b[7];this.zi=dk;this.aj=b[8];this.bj=b[9];this.Vd=b[10];this.Ke=b[11];this.yi=ek;this.Nb=b[12];d=b[13];"number"==typeof d&&(d=[this.bb,this.Yb,d]);this.bb=d[0];this.Yb=d[1];d=this.kd>>2;if((this.vd=b[14])&&this.vd.length>8&255)} +var hk=[,,function(a){a+=this.offset;return(this.ia.Nb=this.Ba[a])>>this.ia.$j&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.Ba[b]>>8:this.Ba[b])&255}];hk[16]=function(a){a+=this.offset;a=this.Ba[a];for(var b=this.ia.hj&this.ia.ij,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};hk[512]=function(a,b){var c=a+this.offset,d;d=this.Ba[c]&~this.ia.Ab|(b|b<<8|b<<16|b<<24)&this.ia.Ab;d=d&this.ia.Fb|this.ia.Nb&~this.ia.Fb;this.Ba[c]!=d&&(this.Ba[c]=d,this.Db=!0)}; +hk[1024]=function(a,b){var c=a+this.offset;b=b>>this.ia.Dd|b<<8-this.ia.Dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.De|this.ia.ff;d=d&this.ia.Ab|this.Ba[c]&~this.ia.Ab;d=d&this.ia.Fb|this.ia.Nb&~this.ia.Fb;this.Ba[c]!=d&&(this.Ba[c]=d,this.Db=!0)}; +hk[1536]=function(a,b){var c=a+this.offset;b=b>>this.ia.Dd|b<<8-this.ia.Dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.De|this.ia.ff;d&=this.ia.Nb;d=d&this.ia.Ab|this.Ba[c]&~this.ia.Ab;d=d&this.ia.Fb|this.ia.Nb&~this.ia.Fb;this.Ba[c]!=d&&(this.Ba[c]=d,this.Db=!0)}; +hk[2560]=function(a,b){var c=a+this.offset;b=b>>this.ia.Dd|b<<8-this.ia.Dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.De|this.ia.ff;d|=this.ia.Nb;d=d&this.ia.Ab|this.Ba[c]&~this.ia.Ab;d=d&this.ia.Fb|this.ia.Nb&~this.ia.Fb;this.Ba[c]!=d&&(this.Ba[c]=d,this.Db=!0)}; +hk[3584]=function(a,b){var c=a+this.offset;b=b>>this.ia.Dd|b<<8-this.ia.Dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ia.De|this.ia.ff;d^=this.ia.Nb;d=d&this.ia.Ab|this.Ba[c]&~this.ia.Ab;d=d&this.ia.Fb|this.ia.Nb&~this.ia.Fb;this.Ba[c]!=d&&(this.Ba[c]=d,this.Db=!0)};hk[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ia.Ab&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.Ba[d]&~c;c=c&this.ia.Fb|this.ia.Nb&~this.ia.Fb;this.Ba[d]!=c&&(this.Ba[d]=c,this.Db=!0)}; +hk[4096]=function(a){a+=this.offset;var b=this.Ba[a]&~this.ia.Ab|this.ia.Nb&this.ia.Ab;this.Ba[a]!=b&&(this.Ba[a]=b,this.Db=!0)};hk[8192]=function(a,b){var c=a+this.offset,d=Pj[b&15],d=d&this.ia.Ab|this.Ba[c]&~this.ia.Ab,d=d&this.ia.Fb|this.ia.Nb&~this.ia.Fb;this.Ba[c]!=d&&(this.Ba[c]=d,this.Db=!0)};hk[24576]=function(a,b){var c=a+this.offset,d=Pj[b&15],d=d&this.ia.Nb,d=d&this.ia.Ab|this.Ba[c]&~this.ia.Ab,d=d&this.ia.Fb|this.ia.Nb&~this.ia.Fb;this.Ba[c]!=d&&(this.Ba[c]=d,this.Db=!0)}; +hk[40960]=function(a,b){var c=a+this.offset,d=Pj[b&15],d=d|this.ia.Nb,d=d&this.ia.Ab|this.Ba[c]&~this.ia.Ab,d=d&this.ia.Fb|this.ia.Nb&~this.ia.Fb;this.Ba[c]!=d&&(this.Ba[c]=d,this.Db=!0)};hk[57344]=function(a,b){var c=a+this.offset,d=Pj[b&15],d=d^this.ia.Nb,d=d&this.ia.Ab|this.Ba[c]&~this.ia.Ab,d=d&this.ia.Fb|this.ia.Nb&~this.ia.Fb;this.Ba[c]!=d&&(this.Ba[c]=d,this.Db=!0)}; +function ik(a){var b=[];if(void 0!==a.we){b[0]=a.md;b[1]=a.Rc;b[2]=a.xf;b[3]=a.Xf;b[4]=a.Cc|a.Ph<<8;b[5]=a.sc;if(5==a.we){var c=[];c[0]=a.Ad;c[1]=a.Ud;c[2]=a.ee;c[3]=a.oi;c[4]=a.Bg;c[5]=a.Oh;c[6]=a.Wd;c[7]=a.dg;c[8]=a.aj;c[9]=a.bj;c[10]=a.Vd;c[11]=a.Ke;c[12]=a.Nb;c[13]=[a.bb,a.Yb,a.kd];var d;a:if(d=a.vd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=n;h=m}if(f.lengtha&&(a=0);for(var c="",d=0;8>d;d++){for(var f=p(b.bb+a)+":",s=0;8>s&&a>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),rb(this.ua,b,c|d<<8);Ob(this,!0)}};function qk(a){a.ra.Bg&1?(a.jd=a.Gi,a.Qb=a.ra):(a.jd=a.ra,a.Qb=a.zh)}k.save=function(){var a=new vd(this);a.set(0,ik(this.Gi));a.set(1,ik(this.zh));a.set(2,[this.Ae,this.Ed,this.ae]);a.set(3,ik(this.ra));return a.data()}; +k.restore=function(a){var b=a[2];this.Ae=b[0];this.Ed=b[1];this.ae=b[2];this.Oa=null;this.jd=this.Gi=new Rj(this,1,a[0]);this.Qb=this.zh=new Rj(this,3,a[1]);this.ra=new Rj(this,5,a[3],this.kd);this.ra.md&&qk(this);rk(this);if(!tk(this))return!1;uk(this);return!0}; +k.Do=function(a,b,c){if(c)this.Ma("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){w("Empty font ROM image: "+a);return}if(1==d.length){w(d[0]);return}if(8192==d.length)qj(this,d,[0,6144]);else{this.Ma("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Ma("Font ROM data error: "+e.message);return}E(this)}}; +function vk(a,b){if(1==b)return a.Kd[0]=U[0],a.Kd[1]=U[7],a.Kd;if(2==b){var c=a.Oa.xf;if(a.Oa===a.ra){var d=a.ra.ee[0],c=d&7;d&16&&(c|=8);18!=a.ra.ee[1]&&(c|=32)}a.Kd[0]=U[c&15];c=c&32?Nj:Mj;for(d=0;dva||!T?va:8,ub=wc.createImageData(m.zc,m.Ac),D=0;256>D;D++){for(Ia=0;Ia< +va;Ia++)for(var Ja=m.cg&&y&1&&Ia>=va-2,X=za[Ia>(8<=K&&176<=D&&223>=D?7:K)?u:Ta;yk(ub,xc,dc,yc);v&&yk(ub,xc+1,dc,yc)}wc.putImageData(ub,(D&15)*m.zc,(D>>4)*m.Ac)}m.sf[y]="#"+q(u[0])+q(u[1])+q(u[2]);m.Ak[y]=u;m.si[y]=Kb;m=!0}}a.he[b]=s;return m}function zk(a){0a.Ue&&(a.Ue=0):a.Ue=-1} +function uk(a){if(a.ec){for(var b=10;15>=b;b++)if(null==a.Oa.sc[b])return;var c=a.Oa.sc[10],b=c&31,d=a.Oa.sc[11]&31,e=a.Oa.sc[9]&31,f=!1;a.Oa===a.ra&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Ak(a);else{c=a.Oa.sc[15]+((a.Oa.sc[14]&63)<<8);a.Zc!=c&&(Ak(a),a.Zc=c);d=d-b+1;if(a.Jm!=b||a.Qk!=d)a.Jm=b,a.Qk=d;a.se=e+1;zk(a)}}} +function Ak(a){if(0<=a.Zc){if(void 0!==a.tc){var b=a.tc[a.Zc];if(b&131072){var b=b&-131073,c=a.Zc%a.Rb,d=Math.floor(a.Zc/a.Rb);a.ec&&a.he[a.ec]&&(a.yf&&Bk(a,c,d,b,a.yf),Bk(a,c,d,b));a.tc[a.Zc]=b}}a.Zc=-1}} +function Ck(a){var b;a=a.Oa;var c=a.Ke[5];if(null!=c){b=2;var d=512,e=a.Ke[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Dd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.lf=function(a){var b=this.Oa;null!=a&&b&&a!=b.Uh&&(b.li(a),this.ua.li(b.bb,b.Yb,b.ig))}; +function tk(a,b){var c,d=a.ae,e=a.Oa;if(e)if(1==e.we)d=Hj;else if(5==e.we){var d=null,f=e.kd>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=Ck(a)}}else e.Rc&8&&(e.Rc&2?(d=e.Rc&16?6:5,e.Rc&4||(d-=1)):(d=e.Rc&1?3:1,e.Rc&4&&(d-= +1)));else a.ae=null,null==d&&(d=a.Ed);if(!sk(a,d,b))return!1;a.lf(c);return!0} +function sk(a,b,c){if(null!=b&&(b!=a.ae||c)){a.Sm=0;a.ae=b;b=a.Oa||(b==Hj?a.jd:a.Qb);if(b!=a.Oa||b.bb!=a.bb||b.Yb!=a.Yb){Ak(a);if(a.bb){if(!ob(a.ua,a.bb,a.Yb))return!1;a.Oa&&(a.Oa.md=!1)}a.Oa=b;b.md=!0;a.bb=b.bb;a.Yb=b.Yb;if(!mb(a.ua,b.bb,b.Yb,!1,b===a.ra?b:null))return!1}a.ec=0;a.Rb=a.Wh;a.Fc=a.mj;a.gj=Gj[Hj][2];b=0;var d=Gj[a.ae];d&&(a.Rb=d[0],a.Fc=d[1],a.gj=d[2],b=d[3]||0,a.ec=d[4],4==a.Ae&&a.Oa===a.ra&&3==a.ec&&(7==a.ra.sc[9]?a.Fc=43:a.ec=5));a.nl=a.Rb*a.Fc;a.Vh=a.nl/a.gj;a.Hi=(a.Vh<<1)+b;a.Nk= +b?a.Hi+b>>1:0;13<=a.ae&&(a.Vh<<=1);a.he.length&&(a.Rd=Math.floor(a.Qd/a.Rb),a.Sd=Math.floor(a.te/a.Fc),a.ec?(b=a.he[a.ec],d=a.he[a.ec<<1],a.gn&&80==a.Rb?d&&a.Rd>=3*d.zc>>2&&(a.ec<<=1,b=d):(d&&a.Rd>=d.zc&&(a.ec<<=1,b=d),b&&(a.Rd=b.zc,a.Sd=b.Ac)),a.tg=a.ug=0,b&&(a.tg=a.Rb*b.zc,a.ug=a.Fc*b.Ac)):(a.Rd=a.Sd=1,a.tg=a.Rb,a.ug=a.Fc),a.Rh=a.ld.createImageData(a.tg,a.ug),a.vf=window.document.createElement("canvas"),a.vf.width=a.tg,a.vf.height=a.ug,a.yf=a.vf.getContext("2d"),a.sk=a.tk=0,a.Ji=a.Qd,a.Ki=a.te, +b=a.Qd-a.Rb*a.Rd,d=a.te-a.Fc*a.Sd,0>1,a.Ji-=b),0>1,a.Ki-=d),b||d)&&(a.ld.fillStyle=a.pg.style.backgroundColor,a.ld.fillRect(0,0,a.Qd,a.te));!1!==c?Ob(a,!0):Dk(a,!0)}return!0}function yk(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function Dk(a,b){var c;if(b){if(c=a.Vh,void 0===a.tc||a.tc.length!=c)a.tc=Array(c)}else{if(void 0===a.tc)return;c=a.tc.length}for(var d=0;d>8;d=g&15;var h=a.he[a.ec];h.cg&&(d=h.cg[d]);var n=g>>4&15;h.cg&&(n=h.cg[n]);e?(b*=h.zc,c*=h.Ac,e.fillStyle=h.sf[n],e.fillRect(b,c,h.zc,h.Ac)):(b=b*a.Rd+a.sk,c=c*a.Sd+a.tk,a.ld.fillStyle=h.sf[n],a.ld.fillRect(b,c,a.Rd,a.Sd));g&256&&(n=(f&15)*h.zc,f=(f>>4)*h.Ac,e?e.drawImage(h.si[d],n,f,h.zc,h.Ac,b,c,h.zc,h.Ac):a.ld.drawImage(h.si[d],n,f,h.zc,h.Ac,b,c,a.Rd,a.Sd));g&512&&(f=a.Jm,g=a.Qk,e?(a.se&&a.se!==h.Ac&&(f=Math.floor(f*h.Ac/a.se),g=Math.floor(g*h.Ac/a.se)), +e.fillStyle=h.sf[d],e.fillRect(b,c+f,h.zc,g)):(a.se&&a.se!==a.Sd&&(f=Math.floor(f*a.Sd/a.se),g=Math.floor(g*a.Sd/a.se)),a.ld.fillStyle=h.sf[d],a.ld.fillRect(b,c+f,a.Rd,g)))} +function Ob(a,b){if(a.oa.Wb){var c=!1;a.Oa&&(a.Oa===a.ra?a.ra.Ud&32&&(c=!0):a.Oa.Rc&8&&(c=!0));if(c||b){if(b)Dk(a,!0);else if(void 0===a.tc)return;var d=!1;!(b||++a.Sm&15)&&0<=a.Ue&&(a.Ue++,d=!0);var e=0,f=a.nl,c=a.Oa.bb,g=c+a.Oa.Yb,h=(a.Oa.sc[12]<<8)+a.Oa.sc[13];a.ec&&(h<<=1);var c=c+h,n=a.Hi;c+n>g&&(n=g-c,0>n&&(n=0));g=c+n;if(h=!b){for(var h=a.ua,m=!0,t=c>>h.gb;0a.Zc)return;e=a.Zc;f= +e+1}}if(a.ec){if(a.he[a.ec]){d=0;h=a.Te=0;n=1048575;a.Oa.Rc&32&&(h=32768,n&=~h,a.Ue&2||(n&=-65537));for(c+=e<<1;c>8|(s&255)<<8;u=h;var va=16;t>=n))>>(va-=n);yk(a.Rh,t++,y,m[Ta])}t>A&&(A=t);y=R&&(R=y+1)}e+=2;g++;if(t>=a.Rb){t=0;y+=2;if(y>a.Fc)break;y==a.Fc&&(y=1,e=c+a.Nk)}}vT;T++)R= +A&2155905152,0>R&&(R+=4294967296),R=Qj[R]||0,yk(a.Rh,h++,n,g[R]),A<<=1;h>t&&(t=h);n=v&&(v=n+1)}e++;if(h>=a.Rb&&(h=0,++n>a.Fc))break}m>2),c=this.ra.oi&-17|(this.oh&1<f&&(f=0);f%b.jj>b.zo&&(d|=1);f%=b.ql;f>b.Bo&&(d|=8);b.qj=e-f;b===a.ra?(d|=b.Xf&48^48,b.Ad=!1):d=(b.Xf^=9)|240;b.Xf=d;C(a,b.port+6,null,c,b===a.ra?"STATUS1":"STATUS",d);return d} +var kk={948:S.prototype.Vn,949:S.prototype.Un,952:S.prototype.Wn,954:S.prototype.Xn,980:S.prototype.Dn,981:S.prototype.Cn,984:S.prototype.En,985:S.prototype.Bn,986:S.prototype.Fn},lk={948:S.prototype.kp,949:S.prototype.jp,952:S.prototype.lp,980:S.prototype.Uo,981:S.prototype.To,984:S.prototype.Vo,985:S.prototype.So},mk={960:S.prototype.jl,961:S.prototype.jl,962:S.prototype.io,964:S.prototype.ho,965:S.prototype.fo,970:S.prototype.On,972:S.prototype.Nn,974:S.prototype.Mn,975:S.prototype.Ln},nk={954:S.prototype.um, +960:S.prototype.tm,961:S.prototype.tm,962:S.prototype.np,964:S.prototype.up,965:S.prototype.tp,970:S.prototype.fp,972:S.prototype.ep,974:S.prototype.dp,975:S.prototype.cp,986:S.prototype.um}; +Fa(function(){for(var a=B(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth* d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var f=window.document.createElement("textarea");f.setAttribute("style","position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; border:0; padding:0; line-height:0;");xa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.style.clear="both";c.style.position="relative";c.appendChild(f); -var g=e.getContext("2d"),d=new S(d,e,g,f);$a(d,c)}});function Jk(a){this.Vk=a.adapter;switch(this.Vk){case 1:this.Uj=1016;this.zg=4;break;case 2:this.Uj=760;this.zg=3;break;default:w("Unrecognized serial adapter #"+this.Vk);return}this.ie=null;x.call(this,"SerialPort",a,Jk,2097152);var b=a.binding,c;a=Kk;b&&(void 0===c&&(c="Panel"),(c=Xa(c,this.id))&&(b=c.xa[b])&&this.Hb(null,a,b))}Ua(x,Jk);var Kk="buffer";k=Jk.prototype;k.rk=function(a,b){return a==this.Gh?(this.re=b,this):null}; -k.Hb=function(a,b,c){var d=this;switch(b){case Kk:return this.xa[b]=this.ie=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),Lk(d,[b]))},c.onkeypress=function(a){a=a||window.event;Lk(d,[a.which||a.keyCode])},!0}return!1};k.zc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.oa=hb(a,"ChipSet");vb(b,this,Mk,this.Uj);Ab(b,this,Nk,this.Uj);B(this)};k.ec=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.dc=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.pe()};k.save=function(){var a=new qd(this),b=0,c=[];c[b++]=this.ui;c[b++]=this.wk;c[b++]=this.ff;c[b++]=this.fh;c[b++]=this.ee;c[b++]=this.bd;c[b++]=this.pd;c[b++]=this.Tc;c[b++]=this.uk;c[b]=this.Wf;a.set(0,c);return a.data()};k.restore=function(a){return this.pe(a[0])}; -k.pe=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.ui=a[b++];this.wk=a[b++];this.ff=a[b++];this.fh=a[b++];this.ee=a[b++];this.bd=a[b++];this.pd=a[b++];this.Tc=a[b++];this.uk=a[b++];this.Wf=a[b];return!0};function Lk(a,b){a.Wf=a.Wf.concat(b);Ok(a)}function Ok(a){0>8:this.fh;A(this,a,null,b,this.bd&128?"DLM":"IER",c);return c};k.Fn=function(a,b){var c=this.ee;A(this,a,null,b,"IIR",c);return c};k.Gn=function(a,b){var c=this.bd;A(this,a,null,b,"LCR",c);return c};k.In=function(a,b){var c=this.pd;A(this,a,null,b,"MCR",c);return c}; -k.Hn=function(a,b){var c=this.Tc;A(this,a,null,b,"LSR",c);return c};k.On=function(a,b){var c=this.uk;A(this,a,null,b,"MSR",c);return c};k.kp=function(a,b,c){A(this,a,b,c,this.bd&128?"DLL":"THR");this.bd&128?this.ff=this.ff&-256|b:(this.wk=b,this.Tc&=-97,this.ie?(13!=b&&(8==b?this.ie.value=this.ie.value.slice(0,-1):(this.ie.value+=String.fromCharCode(b),this.ie.scrollTop=this.ie.scrollHeight)),a=!0):a=!1,a&&(this.Tc|=96))}; -k.Wo=function(a,b,c){A(this,a,b,c,this.bd&128?"DLM":"IER");this.bd&128?this.ff=this.ff&255|b<<8:this.fh=b};k.Xo=function(a,b,c){A(this,a,b,c,"LCR");this.bd=b}; -k.Yo=function(a,b,c){var d=this.pd;A(this,a,b,c,"MCR");this.pd=b;this.re&&(d^b)&3&&(a=this.re,b=this.pd,(c=3==(b&3))?a.fd||(d=!1,a.pd&2||(a.reset(),a.gb("serial mouse reset"),d=!0),a.pd&1||(a.gb("serial mouse ID requested"),d=!0),d&&(Lk(a.gg,[77,77]),a.gb("serial mouse ID sent")),Pk(a,a.Na),a.setActive(c)):a.fd&&(a.gb("serial mouse inactive"),Qk(a.Na),a.setActive(c)),a.pd=b)}; -var Mk={0:Jk.prototype.Tn,1:Jk.prototype.En,2:Jk.prototype.Fn,3:Jk.prototype.Gn,4:Jk.prototype.In,5:Jk.prototype.Hn,6:Jk.prototype.On},Nk={0:Jk.prototype.kp,1:Jk.prototype.Wo,3:Jk.prototype.Xo,4:Jk.prototype.Yo};Fa(function(){for(var a=z(window.document,"pcjs","serial"),b=0;ba.Rg||0>a.Sg)a.Rg=b.clientX,a.Sg=b.clientY;a.yh?(a.gf=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.hf=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.gf=b.clientX-a.Rg,a.hf=b.clientY-a.Sg);(a.gf||a.hf)&&Sk(a,null,b.clientX,b.clientY);a.Rg=b.clientX;a.Sg=b.clientY}},!1),b.addEventListener("mousedown",function(b){Tk(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Tk(a,b.button, -!1)},!1),a.Hi=!0),b.style.cursor="none")}function Qk(a){a&&(a.style.cursor="auto")}function Tk(a,b,c){if(a.fd&&a.T&&a.T.ma.nb){var d;!(d=!1!==a.yh)&&(d=a.fi)&&(d=a.fi,d=d.Sm?d.zf(!0):!1);d||(a.yh=null);switch(b){case 0:a.uh!=c&&(a.uh=c,Sk(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.vh!=c&&(a.vh=c,Sk(a,"mouse button2 "+(c?"dn":"up")))}}} -function Sk(a,b,c,d){var e=64|(a.uh?32:0)|(a.vh?16:0)|(a.hf&192)>>4|(a.gf&192)>>6,f=a.gf&63,g=a.hf&63;a.ua(2097152)&&a.gb((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+q(e)+","+q(f)+","+q(g)+"]",0,!0);Lk(a.gg,[e,f,g]);a.gf=a.hf=0}Fa(function(){for(var a=z(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.jb=Array(g.Cb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Yk(this,b),this.zh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f= -qa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.uf?"":d)+"&format=json")),pa(f,!0,null,this,this.Nm,b)}; -k.Nm=function(a,b,c,d){var e=null;this.vf=!1;var f=0>c&&this.Ma&&!this.Ma.ma.Rb;if(this.zh)c?this.ga.Ia('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Ld=!0,e=this);else if(c)this.ga.Ia('Unable to load disk "'+this.yd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& -'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)w(h[0]);else{this.Cb=h.length;this.Db=h[0].length;this.Gb=h[0][0].length;var n=h[0][0][0];this.vb=n&&n.length||512;for(b=a=0;b>2,t=n.pattern;void 0===t&&(t=n.pattern=0);var s=n.data;if(void 0===s){var u=n.bytes;if(void 0!==u&&u.length){for(var f= -m<<2,y=u.length;yb&&(b=0);2E3>8:this.ph;C(this,a,null,b,this.hd&128?"DLM":"IER",c);return c};k.Qn=function(a,b){var c=this.me;C(this,a,null,b,"IIR",c);return c};k.Rn=function(a,b){var c=this.hd;C(this,a,null,b,"LCR",c);return c};k.Tn=function(a,b){var c=this.xd;C(this,a,null,b,"MCR",c);return c}; +k.Sn=function(a,b){var c=this.Yc;C(this,a,null,b,"LSR",c);return c};k.Zn=function(a,b){var c=this.Fk;C(this,a,null,b,"MSR",c);return c};k.vp=function(a,b,c){C(this,a,b,c,this.hd&128?"DLL":"THR");this.hd&128?this.pf=this.pf&-256|b:(this.Hk=b,this.Yc&=-97,this.qe?(13!=b&&(8==b?this.qe.value=this.qe.value.slice(0,-1):(this.qe.value+=String.fromCharCode(b),this.qe.scrollTop=this.qe.scrollHeight)),a=!0):a=!1,a&&(this.Yc|=96))}; +k.gp=function(a,b,c){C(this,a,b,c,this.hd&128?"DLM":"IER");this.hd&128?this.pf=this.pf&255|b<<8:this.ph=b};k.hp=function(a,b,c){C(this,a,b,c,"LCR");this.hd=b}; +k.ip=function(a,b,c){var d=this.xd;C(this,a,b,c,"MCR");this.xd=b;this.ze&&(d^b)&3&&(a=this.ze,b=this.xd,(c=3==(b&3))?a.md||(d=!1,a.xd&2||(a.reset(),a.jb("serial mouse reset"),d=!0),a.xd&1||(a.jb("serial mouse ID requested"),d=!0),d&&(Lk(a.qg,[77,77]),a.jb("serial mouse ID sent")),Pk(a,a.Ra),a.setActive(c)):a.md&&(a.jb("serial mouse inactive"),Qk(a.Ra),a.setActive(c)),a.xd=b)}; +var Mk={0:Jk.prototype.eo,1:Jk.prototype.Pn,2:Jk.prototype.Qn,3:Jk.prototype.Rn,4:Jk.prototype.Tn,5:Jk.prototype.Sn,6:Jk.prototype.Zn},Nk={0:Jk.prototype.vp,1:Jk.prototype.gp,3:Jk.prototype.hp,4:Jk.prototype.ip};Fa(function(){for(var a=B(window.document,"pcjs","serial"),b=0;ba.ah||0>a.bh)a.ah=b.clientX,a.bh=b.clientY;a.Ih?(a.qf=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.rf=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.qf=b.clientX-a.ah,a.rf=b.clientY-a.bh);(a.qf||a.rf)&&Sk(a,null,b.clientX,b.clientY);a.ah=b.clientX;a.bh=b.clientY}},!1),b.addEventListener("mousedown",function(b){Tk(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Tk(a,b.button, +!1)},!1),a.Si=!0),b.style.cursor="none")}function Qk(a){a&&(a.style.cursor="auto")}function Tk(a,b,c){if(a.md&&a.V&&a.V.oa.rb){var d;!(d=!1!==a.Ih)&&(d=a.pi)&&(d=a.pi,d=d.cn?d.If(!0):!1);d||(a.Ih=null);switch(b){case 0:a.Eh!=c&&(a.Eh=c,Sk(a,"mouse button1 "+(c?"dn":"up")));break;case 2:a.Fh!=c&&(a.Fh=c,Sk(a,"mouse button2 "+(c?"dn":"up")))}}} +function Sk(a,b,c,d){var e=64|(a.Eh?32:0)|(a.Fh?16:0)|(a.rf&192)>>4|(a.qf&192)>>6,f=a.qf&63,g=a.rf&63;a.wa(2097152)&&a.jb((b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+q(e)+","+q(f)+","+q(g)+"]",0,!0);Lk(a.qg,[e,f,g]);a.qf=a.rf=0}Fa(function(){for(var a=B(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.mb=Array(g.Gb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Yk(this,b),this.Jh=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f= +qa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Df?"":d)+"&format=json")),pa(f,!0,null,this,this.Ym,b)}; +k.Ym=function(a,b,c,d){var e=null;this.Ef=!1;var f=0>c&&this.Qa&&!this.Qa.oa.Wb;if(this.Jh)c?this.ia.Ma('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.Td=!0,e=this);else if(c)this.ia.Ma('Unable to load disk "'+this.Gd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& +'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)w(h[0]);else{this.Gb=h.length;this.Hb=h[0].length;this.Kb=h[0][0].length;var n=h[0][0][0];this.zb=n&&n.length||512;for(b=a=0;b>2,t=n.pattern;void 0===t&&(t=n.pattern=0);var s=n.data;if(void 0===s){var u=n.bytes;if(void 0!==u&&u.length){for(var f= +m<<2,y=u.length;yb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function cl(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c} -k.write=function(a,b,c){if(this.vf)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Jc?f=a.hd+a.Jc&&(a.Jc+=f-(a.hd+a.Jc)+1):(a.hd=f,a.Jc=1);d[f]=d[f]&~(255<=this.jb.length||n>=this.jb[h].length||m>=this.jb[h][n].length){c="sector (CHS="+h+":"+n+":"+m+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.vf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.jb[h][n][m]){for(n=h.data.length;nb&&this.ga.Ia("unable to restore disk '"+this.yd+": "+c);return b}; -k.toJSON=function(){var a=JSON.stringify(this.jb),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')}; -function dl(a){x.call(this,"FDC",a,dl,262144);this.dmaRead=this.Ci;this.dmaWrite=this.Di;this.dmaFormat=this.Km;this.Ne=null;if(a.autoMount&&(this.Ne=a.autoMount,"string"==typeof this.Ne))try{this.Ne=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Ne=null}this.Dc=[];this.Nk=!xa("Mobi")&&window&&"FileReader"in window}Ua(x,dl);l={};aa={}; -var el={3:{Hd:3,he:0,name:aa.fq},4:{Hd:2,he:1,name:aa.dq},5:{Hd:9,he:7,name:aa.rq},6:{Hd:9,he:7,name:aa.Yp},7:{Hd:2,he:0,name:aa.$p},8:{Hd:1,he:2,name:aa.eq},10:{Hd:2,he:7,name:aa.Zp},13:{Hd:6,he:7,name:aa.Kp},15:{Hd:3,he:0,name:aa.cq}};k=dl.prototype; -k.Hb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.xa[b]=c,c.onchange=function(){var a=d.xa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.xa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&fl(d,a)},!0; -case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&gl(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Nk?(this.xa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;gl(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1}; -k.zc=function(a,b,c,d){this.sa=b;this.T=c;this.ka=d;this.Ma=a;this.oa=hb(a,"ChipSet");this.Pd();vb(b,this,hl);Ab(b,this,il);this.Nk&&jl(this,"Local Disk","?");jl(this,"Remote Disk","??");this.$f()||B(this)}; -k.ec=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ma.Ki){this.Dc=[];for(var c=0;ca.za.restore(g)&&(e=!1);e&&a.za&&void 0!==a.Ua&&(a.Xa=a.za.seek(a.yb,a.Ra,a.bb));return e};k.ck=function(){for(var a=0,b=[],c=0;ca.Cb||f[1]>a.Db)&&(this.Ia('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.pb)),b=null);b?(a.za=b,a.pm=c,a.af=d,nl(this,c,d,b),f=b.info(),this.xe|=128,this.Ia('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.pb),a.Re||e),a.Nh=f[0],a.xg=f[1],a.yg=f[2]):a.tf=!1;a.Re&&(a.Re=!1,--this.Je||B(this));fl(this,a.pb)}; -function jl(a,b,c){if(a=a.xa.listDisks){for(var d=0;d=this.mb&&(this.Da&=-81,this.Eb=this.mb=0);return c}; -k.Qo=function(a,b,c){this.ua()&&A(this,a,b,c,"DATA["+this.mb+"]");this.mb=el[a].Hd){b=!1;this.Eb=0;a=this.Wa();var d,e,f,g,h=a&31;switch(h){case 3:this.Wa(l.gq);this.Wa(l.Np);this.Wb();break;case 4:c=this.Wa(l.Qf);this.pb=c&3;d=this.Ga[this.pb];this.Wb();this.kc((d.hb&4278190080)>>>24,l.jq);break;case 5:case 6:c=this.Wa(l.Qf);b=c>>2&1;this.pb=c&3;d=this.Ga[this.pb];d.Ra=b;c=d.yb=this.Wa(l.jk);e=this.Wa(l.kk);f=d.bb= -this.Wa(l.mk);g=this.Wa(l.hi);d.lb=128<>2&1;this.pb=c&3;d=this.Ga[this.pb];c=d.yb;e=d.Ra=b;f=d.bb=1;g=0;d.hb=0;d.za&&(d.Xa=d.za.seek(d.yb,d.Ra,d.bb))?g=d.Xa.length:d.hb=72;ol(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.Wa(l.Qf);b=c>>2&1;this.pb=c&3;d=this.Ga[this.pb];c=d.yb;e=d.Ra=b;f=1;g=this.Wa(l.hi);d.lb=128<>2&1,c=this.Wa(l.Tp),d.yb+=c-d.de,0>d.yb&&(d.yb=0),d.yb>=d.Cb&&(d.yb=d.Cb-1),d.de=c,d.hb=32,d.yb||(d.hb|=268435456),this.Wb(),b=!0}0>>8,l.hq);a.kc((b.hb&16711680)>>>16,l.iq);var n=0;if(e!=b.yb||f!=b.Ra)n=g=1;c&128&&(f^=n,d||(n=0));a.kc(e+n,l.jk);a.kc(f,l.kk);a.kc(g,l.mk);a.kc(h,l.hi)}k.Wa=function(){var a=this.lc[this.Eb];this.Eb++;return a};k.Wb=function(){this.Eb=this.mb=0};k.kc=function(a){this.lc[this.mb++]=a};k.Ci=function(a,b,c){void 0===b||0>b?this.fc(a,c):c(-1,!1)}; -k.Di=function(a,b){return void 0!==b&&0<=b?this.mc(a,b):-1};k.Km=function(a,b){return void 0!==b&&0<=b?this.ek(a,b):-1};k.fc=function(a,b){var c=-1,d=null,e=0;if(!a.hb&&a.za){do{if(a.Xa&&(e=a.Ua,0<=(c=cl(a.Xa,a.Ua++)))){d=a.Xa;break}a.Xa=a.za.seek(a.yb,a.Ra,a.bb);if(!a.Xa){a.hb=1088;break}a.Ua=0;this.Yf(a)}while(1)}b(c,!1,d,e)}; -k.mc=function(a,b){if(a.hb||!a.za)return-1;do{if(a.Xa&&a.za.write(a.Xa,a.Ua++,b))break;a.Xa=a.za.seek(a.yb,a.Ra,a.bb);if(!a.Xa){a.hb=8256;b=-1;break}a.Ua=0;this.Yf(a)}while(1);return b};k.Yf=function(a){a.bb++;a.bb>=a.yg+1&&(a.bb=1,a.Ra++,a.Ra>=a.xg&&(a.Ra=0,a.yb++))};k.ek=function(a,b){if(a.hb)return-1;a.Rc[a.nf++]=b;if(a.nf==a.Rc.length){a.yb=a.Rc[0];a.Ra=a.Rc[1];a.bb=a.Rc[2];a.lb=128<this.mc(a,a.tk))return-1;a.oh++}a.oh>=a.fe&&(b=-1);return b}; -var hl={1012:dl.prototype.zn,1013:dl.prototype.xn,1015:dl.prototype.yn},il={1010:dl.prototype.Ro,1013:dl.prototype.Qo,1015:dl.prototype.Po};Fa(function(){for(var a=z(window.document,"pcjs","fdc"),b=0;b=e&&(this.Kf|=(f.type&3)<<(1-e<<1))}return d}; -k.ak=function(){var a=0,b=[];this.Qe?(b[a++]=this.we,b[a++]=this.om,b[a++]=this.ye,b[a++]=this.Zh,b[a++]=this.Xh,b[a++]=this.Wh,b[a++]=this.Lf,b[a++]=this.Da,b[a++]=this.Xj,b[a++]=this.Yh):(b[a++]=this.Kf,b[a++]=this.Da,b[a++]=this.lc,b[a++]=this.Eb,b[a++]=this.mb,b[a++]=this.nm,b[a++]=this.mm,b[a++]=this.lm,b[a++]=this.xf);b[a]=this.ck();return b}; -k.Ti=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.pb=a;b.errorCode=d[f++];b.um=d[f++];b.uf=d[f++];b.kf=d[f++];b.lf=d[f++];b.Ra=d[f++];b.Db=d[f++];b.Wd=d[f++];b.bb=d[f++];b.fe=d[f++];b.lb=d[f++];b.kh=this.Qe?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.ne()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===pl[this.qg][b.type])b.type=this.cn;c=pl[this.qg][b.type]; -b.Gb=c[2]||17;b.vb=c[3]||512;if(e&&this.oa&&(e=this.oa,c=b.type,e.na)){var h=e.na[18],h=a?h&240|c:h&15|c<<4;e.na&&(e.na[18]=h,ti(e))}void 0===b.za&&(b.za=null,this.Ia("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));ul(this,b);b.Ua=d[f++];b.Xa=null;b.za&&(a=d[f],void 0!==a&&0>b.za.restore(a)&&(g=!1),g&&void 0!==b.Ua&&(b.Xa=b.za.seek(b.Wd,b.Ra,b.bb+b.kh)));return g};k.ck=function(){for(var a=0,b=[],c=0;c=this.mb&&(this.Eb=this.mb=0,this.Da&=-15);return c}; -k.mp=function(a,b,c){A(this,a,b,c,"DATA["+this.mb+"]");this.mb=a&&(this.Da|=2,this.Da&=-2,vl(this))};k.$n=function(a,b){var c=this.Da;A(this,a,null,b,"STATUS",c);this.Eb=this.Ta.vb?(d.Da=136,this.fc(this.Ta,function(a){0<=a?(wl(d),d.Da=80):(d.Da=1,d.we=16)},!1)):this.Da=80)}return c}; -k.Bo=function(a,b,c){this.Ta&&this.Ta.lb>=this.Ta.vb&&(0>this.mc(this.Ta,b)?(this.Da=1,this.we=16):1==this.Ta.Ua?this.ua(524416)&&A(this,a,b,c,"DATA["+this.Ta.Ua+"]"):this.Ta.Ua==this.Ta.vb&&(this.Ta.lb-=this.Ta.vb,this.ye=this.ye-1&255,wl(this),this.Da=80,this.Ta.lb>=this.Ta.vb&&(this.Da|=8)))};k.mn=function(a,b){var c=this.we;A(this,a,null,b,"ERROR",c);return c};k.Go=function(a,b,c){A(this,a,b,c,"WPREC");this.om=b};k.nn=function(a,b){var c=this.ye;A(this,a,null,b,"SECCNT",c);return c}; -k.Eo=function(a,b,c){A(this,a,b,c,"SECCNT");this.ye=b};k.on=function(a,b){var c=this.Zh;A(this,a,null,b,"SECNUM",c);return c};k.Fo=function(a,b,c){A(this,a,b,c,"SECNUM");this.Zh=b};k.jn=function(a,b){var c=this.Xh;A(this,a,null,b,"CYLLO",c);return c};k.Ao=function(a,b,c){A(this,a,b,c,"CYLLO");this.Xh=b};k.hn=function(a,b){var c=this.Wh;A(this,a,null,b,"CYLHI",c);return c};k.zo=function(a,b,c){A(this,a,b,c,"CYLHI");this.Wh=b};k.ln=function(a,b){var c=this.Lf;A(this,a,null,b,"DRVHD",c);return c}; -k.Co=function(a,b,c){A(this,a,b,c,"DRVHD");this.Lf=b;this.Da=this.Ga[this.Lf&16?1:0]?this.Da|64:this.Da&-65};k.pn=function(a,b){var c=this.Da;A(this,a,null,b,"STATUS",c);return c};k.yo=function(a,b,c){A(this,a,b,c,"COMMAND");this.Xj=b;this.oa&&Zi(this.oa,14);xl(this)};k.Do=function(a,b,c){A(this,a,b,c,"FDR");this.Yh&4&&!(b&4)&&(this.we=1);this.Yh=b}; -function xl(a){var b=!1,c=a.Xj,d=a.Lf&16?1:0,e=a.Lf&15,f=a.Xh|(a.Wh&3)<<8,g=a.Zh,h=a.ye||256;a.Ta=null;a.we=0;a.Da=80;(d=a.Ga[d])?(d.Wd=f,d.Ra=e,d.bb=g,d.lb=h*d.vb,c=144<=c?c:c&240,d.Xa=null,d.Ua=0,d.errorCode=0,a.Ta=d):c=-1;switch(c&240){case 32:a.Da=136;a.fc(d,function(b){0<=b&&a.oa?(wl(a),a.Da=80):(a.Da=1,a.we=16)},!1);break;case 48:a.Da=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.we=1;b=!0;break;case 145:d.Db=e+1,d.Gb=h,b=!0}b&&wl(a)} -function wl(a){!a.oa||a.Yh&2||Yi(a.oa,14,120)} -function vl(a){a.Eb=0;var b=a.Wa(),c=a.Wa(),d=c&32,e=d>>5,f=c&31,g=a.Wa(),h=a.Wa(),n=g<<2&768|h,m=g&63,t=a.Wa(),s=a.Wa(),u=a.Ga[e];u&&(u.Wd=n,u.Ra=f,u.bb=m,u.lb=t*u.vb);switch(b){case 3:a.Wb(u?u.errorCode:4);a.kc(c);a.kc(g);a.kc(h);a.kc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Wa());)u&&cb?this.fc(a,c):c(-1,!1)}; -k.Di=function(a,b){return void 0!==b&&0<=b?this.mc(a,b):-1};k.Lm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ua=a.Gb+b&&(a.bb=b,a.Ra++,a.Ra>=a.Db&&(a.Ra=0,a.Wd++))}; -k.ek=function(a,b){if(a.errorCode)return-1;a.Rc[a.nf++]=b;if(a.nf==a.Rc.length){a.Wd=a.Rc[0];a.Ra=a.Rc[1];a.bb=a.Rc[2];a.lb=128<this.mc(a,a.tk))return-1;a.oh++}a.oh>=a.fe&&(b=-1);return b};k.bo=function(){var a=this.T.K&255;!(this.T.H>>8)&&128>8)||(a=!this.oa)||(a=!(this.oa.Ub[0].od&64));return a?!0:!1}; -var rl={800:V.prototype.Zn,801:V.prototype.$n,802:V.prototype.Yn},ql={496:V.prototype.kn,497:V.prototype.mn,498:V.prototype.nn,499:V.prototype.on,500:V.prototype.jn,501:V.prototype.hn,502:V.prototype.ln,503:V.prototype.pn},tl={800:V.prototype.mp,801:V.prototype.pp,802:V.prototype.op,803:V.prototype.np,807:V.prototype.Rj,811:V.prototype.Rj,815:V.prototype.Rj},sl={496:V.prototype.Bo,497:V.prototype.Go,498:V.prototype.Eo,499:V.prototype.Fo,500:V.prototype.Ao,501:V.prototype.zo,502:V.prototype.Co,503:V.prototype.yo, -1014:V.prototype.Do};Fa(function(){for(var a=z(window.document,"pcjs","hdc"),b=0;b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Nc?f=a.od+a.Nc&&(a.Nc+=f-(a.od+a.Nc)+1):(a.od=f,a.Nc=1);d[f]=d[f]&~(255<=this.mb.length||n>=this.mb[h].length||m>=this.mb[h][n].length){c="sector (CHS="+h+":"+n+":"+m+") out of range ("+ +b+" changes applied)";b=-1;break}if(this.Ef){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.mb[h][n][m]){for(n=h.data.length;nb&&this.ia.Ma("unable to restore disk '"+this.Gd+": "+c);return b}; +k.toJSON=function(){var a=JSON.stringify(this.mb),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");return a=a.replace(/(sector|length|data|pattern):/gm,'"$1":')}; +function dl(a){x.call(this,"FDC",a,dl,262144);this.dmaRead=this.Mi;this.dmaWrite=this.Ni;this.dmaFormat=this.Vm;this.We=null;if(a.autoMount&&(this.We=a.autoMount,"string"==typeof this.We))try{this.We=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.We=null}this.Hc=[];this.Yk=!xa("Mobi")&&window&&"FileReader"in window}Va(x,dl);l={};aa={}; +var el={3:{Pd:3,pe:0,name:aa.sq},4:{Pd:2,pe:1,name:aa.qq},5:{Pd:9,pe:7,name:aa.Eq},6:{Pd:9,pe:7,name:aa.kq},7:{Pd:2,pe:0,name:aa.mq},8:{Pd:1,pe:2,name:aa.rq},10:{Pd:2,pe:7,name:aa.lq},13:{Pd:6,pe:7,name:aa.Xp},15:{Pd:3,pe:0,name:aa.pq}};k=dl.prototype; +k.Lb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.Aa[b]=c,c.onchange=function(){var a=d.Aa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.Aa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&fl(d,a)},!0; +case "loadDrive":return this.Aa[b]=c,c.onclick=function(){var a=d.Aa.listDisks;a&&gl(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Yk?(this.Aa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;gl(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1}; +k.Dc=function(a,b,c,d){this.ua=b;this.V=c;this.ma=d;this.Qa=a;this.qa=gb(a,"ChipSet");this.Xd();vb(b,this,hl);zb(b,this,il);this.Yk&&jl(this,"Local Disk","?");jl(this,"Remote Disk","??");this.jg()||E(this)}; +k.jc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Qa.Vi){this.Hc=[];for(var c=0;ca.Ca.restore(g)&&(e=!1);e&&a.Ca&&void 0!==a.Ya&&(a.ab=a.Ca.seek(a.Cb,a.Va,a.fb));return e};k.nk=function(){for(var a=0,b=[],c=0;ca.Gb||f[1]>a.Hb)&&(this.Ma('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.tb)),b=null);b?(a.Ca=b,a.Am=c,a.kf=d,nl(this,c,d,b),f=b.info(),this.Fe|=128,this.Ma('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.tb),a.$e||e),a.Xh=f[0],a.Hg=f[1],a.Ig=f[2]):a.Cf=!1;a.$e&&(a.$e=!1,--this.Se||E(this));fl(this,a.tb)}; +function jl(a,b,c){if(a=a.Aa.listDisks){for(var d=0;d=this.pb&&(this.Ga&=-81,this.Ib=this.pb=0);return c}; +k.ap=function(a,b,c){this.wa()&&C(this,a,b,c,"DATA["+this.pb+"]");this.pb=el[a].Pd){b=!1;this.Ib=0;a=this.$a();var d,e,f,g,h=a&31;switch(h){case 3:this.$a(l.tq);this.$a(l.$p);this.ac();break;case 4:c=this.$a(l.$f);this.tb=c&3;d=this.Ka[this.tb];this.ac();this.pc((d.kb&4278190080)>>>24,l.wq);break;case 5:case 6:c=this.$a(l.$f);b=c>>2&1;this.tb=c&3;d=this.Ka[this.tb];d.Va=b;c=d.Cb=this.$a(l.uk);e=this.$a(l.vk);f=d.fb= +this.$a(l.xk);g=this.$a(l.ri);d.ob=128<>2&1;this.tb=c&3;d=this.Ka[this.tb];c=d.Cb;e=d.Va=b;f=d.fb=1;g=0;d.kb=0;d.Ca&&(d.ab=d.Ca.seek(d.Cb,d.Va,d.fb))?g=d.ab.length:d.kb=72;ol(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=this.$a(l.$f);b=c>>2&1;this.tb=c&3;d=this.Ka[this.tb];c=d.Cb;e=d.Va=b;f=1;g=this.$a(l.ri);d.ob=128<>2&1,c=this.$a(l.fq),d.Cb+=c-d.le,0>d.Cb&&(d.Cb=0),d.Cb>=d.Gb&&(d.Cb=d.Gb-1),d.le=c,d.kb=32,d.Cb||(d.kb|=268435456),this.ac(),b=!0}0>>8,l.uq);a.pc((b.kb&16711680)>>>16,l.vq);var n=0;if(e!=b.Cb||f!=b.Va)n=g=1;c&128&&(f^=n,d||(n=0));a.pc(e+n,l.uk);a.pc(f,l.vk);a.pc(g,l.xk);a.pc(h,l.ri)}k.$a=function(){var a=this.qc[this.Ib];this.Ib++;return a};k.ac=function(){this.Ib=this.pb=0};k.pc=function(a){this.qc[this.pb++]=a};k.Mi=function(a,b,c){void 0===b||0>b?this.kc(a,c):c(-1,!1)}; +k.Ni=function(a,b){return void 0!==b&&0<=b?this.rc(a,b):-1};k.Vm=function(a,b){return void 0!==b&&0<=b?this.pk(a,b):-1};k.kc=function(a,b){var c=-1,d=null,e=0;if(!a.kb&&a.Ca){do{if(a.ab&&(e=a.Ya,0<=(c=cl(a.ab,a.Ya++)))){d=a.ab;break}a.ab=a.Ca.seek(a.Cb,a.Va,a.fb);if(!a.ab){a.kb=1088;break}a.Ya=0;this.hg(a)}while(1)}b(c,!1,d,e)}; +k.rc=function(a,b){if(a.kb||!a.Ca)return-1;do{if(a.ab&&a.Ca.write(a.ab,a.Ya++,b))break;a.ab=a.Ca.seek(a.Cb,a.Va,a.fb);if(!a.ab){a.kb=8256;b=-1;break}a.Ya=0;this.hg(a)}while(1);return b};k.hg=function(a){a.fb++;a.fb>=a.Ig+1&&(a.fb=1,a.Va++,a.Va>=a.Hg&&(a.Va=0,a.Cb++))};k.pk=function(a,b){if(a.kb)return-1;a.Wc[a.wf++]=b;if(a.wf==a.Wc.length){a.Cb=a.Wc[0];a.Va=a.Wc[1];a.fb=a.Wc[2];a.ob=128<this.rc(a,a.Ek))return-1;a.yh++}a.yh>=a.ne&&(b=-1);return b}; +var hl={1012:dl.prototype.Kn,1013:dl.prototype.In,1015:dl.prototype.Jn},il={1010:dl.prototype.bp,1013:dl.prototype.ap,1015:dl.prototype.$o};Fa(function(){for(var a=B(window.document,"pcjs","fdc"),b=0;b=e&&(this.Uf|=(f.type&3)<<(1-e<<1))}return d}; +k.lk=function(){var a=0,b=[];this.Ze?(b[a++]=this.Ee,b[a++]=this.zm,b[a++]=this.Ge,b[a++]=this.ii,b[a++]=this.gi,b[a++]=this.fi,b[a++]=this.Vf,b[a++]=this.Ga,b[a++]=this.hk,b[a++]=this.hi):(b[a++]=this.Uf,b[a++]=this.Ga,b[a++]=this.qc,b[a++]=this.Ib,b[a++]=this.pb,b[a++]=this.ym,b[a++]=this.xm,b[a++]=this.wm,b[a++]=this.Gf);b[a]=this.nk();return b}; +k.dj=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.tb=a;b.errorCode=d[f++];b.Fm=d[f++];b.Df=d[f++];b.tf=d[f++];b.uf=d[f++];b.Va=d[f++];b.Hb=d[f++];b.de=d[f++];b.fb=d[f++];b.ne=d[f++];b.ob=d[f++];b.uh=this.Ze?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.ve()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===pl[this.Ag][b.type])b.type=this.on;c=pl[this.Ag][b.type]; +b.Kb=c[2]||17;b.zb=c[3]||512;if(e&&this.qa&&(e=this.qa,c=b.type,e.pa)){var h=e.pa[18],h=a?h&240|c:h&15|c<<4;e.pa&&(e.pa[18]=h,ti(e))}void 0===b.Ca&&(b.Ca=null,this.Ma("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));ul(this,b);b.Ya=d[f++];b.ab=null;b.Ca&&(a=d[f],void 0!==a&&0>b.Ca.restore(a)&&(g=!1),g&&void 0!==b.Ya&&(b.ab=b.Ca.seek(b.de,b.Va,b.fb+b.uh)));return g};k.nk=function(){for(var a=0,b=[],c=0;c=this.pb&&(this.Ib=this.pb=0,this.Ga&=-15);return c}; +k.xp=function(a,b,c){C(this,a,b,c,"DATA["+this.pb+"]");this.pb=a&&(this.Ga|=2,this.Ga&=-2,vl(this))};k.mo=function(a,b){var c=this.Ga;C(this,a,null,b,"STATUS",c);this.Ib=this.Xa.zb?(d.Ga=136,this.kc(this.Xa,function(a){0<=a?(wl(d),d.Ga=80):(d.Ga=1,d.Ee=16)},!1)):this.Ga=80)}return c}; +k.Mo=function(a,b,c){this.Xa&&this.Xa.ob>=this.Xa.zb&&(0>this.rc(this.Xa,b)?(this.Ga=1,this.Ee=16):1==this.Xa.Ya?this.wa(524416)&&C(this,a,b,c,"DATA["+this.Xa.Ya+"]"):this.Xa.Ya==this.Xa.zb&&(this.Xa.ob-=this.Xa.zb,this.Ge=this.Ge-1&255,wl(this),this.Ga=80,this.Xa.ob>=this.Xa.zb&&(this.Ga|=8)))};k.xn=function(a,b){var c=this.Ee;C(this,a,null,b,"ERROR",c);return c};k.Ro=function(a,b,c){C(this,a,b,c,"WPREC");this.zm=b};k.yn=function(a,b){var c=this.Ge;C(this,a,null,b,"SECCNT",c);return c}; +k.Po=function(a,b,c){C(this,a,b,c,"SECCNT");this.Ge=b};k.zn=function(a,b){var c=this.ii;C(this,a,null,b,"SECNUM",c);return c};k.Qo=function(a,b,c){C(this,a,b,c,"SECNUM");this.ii=b};k.un=function(a,b){var c=this.gi;C(this,a,null,b,"CYLLO",c);return c};k.Lo=function(a,b,c){C(this,a,b,c,"CYLLO");this.gi=b};k.tn=function(a,b){var c=this.fi;C(this,a,null,b,"CYLHI",c);return c};k.Ko=function(a,b,c){C(this,a,b,c,"CYLHI");this.fi=b};k.wn=function(a,b){var c=this.Vf;C(this,a,null,b,"DRVHD",c);return c}; +k.No=function(a,b,c){C(this,a,b,c,"DRVHD");this.Vf=b;this.Ga=this.Ka[this.Vf&16?1:0]?this.Ga|64:this.Ga&-65};k.An=function(a,b){var c=this.Ga;C(this,a,null,b,"STATUS",c);return c};k.Jo=function(a,b,c){C(this,a,b,c,"COMMAND");this.hk=b;this.qa&&Zi(this.qa,14);xl(this)};k.Oo=function(a,b,c){C(this,a,b,c,"FDR");this.hi&4&&!(b&4)&&(this.Ee=1);this.hi=b}; +function xl(a){var b=!1,c=a.hk,d=a.Vf&16?1:0,e=a.Vf&15,f=a.gi|(a.fi&3)<<8,g=a.ii,h=a.Ge||256;a.Xa=null;a.Ee=0;a.Ga=80;(d=a.Ka[d])?(d.de=f,d.Va=e,d.fb=g,d.ob=h*d.zb,c=144<=c?c:c&240,d.ab=null,d.Ya=0,d.errorCode=0,a.Xa=d):c=-1;switch(c&240){case 32:a.Ga=136;a.kc(d,function(b){0<=b&&a.qa?(wl(a),a.Ga=80):(a.Ga=1,a.Ee=16)},!1);break;case 48:a.Ga=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Ee=1;b=!0;break;case 145:d.Hb=e+1,d.Kb=h,b=!0}b&&wl(a)} +function wl(a){!a.qa||a.hi&2||Yi(a.qa,14,120)} +function vl(a){a.Ib=0;var b=a.$a(),c=a.$a(),d=c&32,e=d>>5,f=c&31,g=a.$a(),h=a.$a(),n=g<<2&768|h,m=g&63,t=a.$a(),s=a.$a(),u=a.Ka[e];u&&(u.de=n,u.Va=f,u.fb=m,u.ob=t*u.zb);switch(b){case 3:a.ac(u?u.errorCode:4);a.pc(c);a.pc(g);a.pc(h);a.pc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.$a());)u&&cb?this.kc(a,c):c(-1,!1)}; +k.Ni=function(a,b){return void 0!==b&&0<=b?this.rc(a,b):-1};k.Wm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ya=a.Kb+b&&(a.fb=b,a.Va++,a.Va>=a.Hb&&(a.Va=0,a.de++))}; +k.pk=function(a,b){if(a.errorCode)return-1;a.Wc[a.wf++]=b;if(a.wf==a.Wc.length){a.de=a.Wc[0];a.Va=a.Wc[1];a.fb=a.Wc[2];a.ob=128<this.rc(a,a.Ek))return-1;a.yh++}a.yh>=a.ne&&(b=-1);return b};k.oo=function(){var a=this.V.L&255;!(this.V.G>>8)&&128>8)||(a=!this.qa)||(a=!(this.qa.Zb[0].wd&64));return a?!0:!1}; +var rl={800:V.prototype.lo,801:V.prototype.mo,802:V.prototype.ko},ql={496:V.prototype.vn,497:V.prototype.xn,498:V.prototype.yn,499:V.prototype.zn,500:V.prototype.un,501:V.prototype.tn,502:V.prototype.wn,503:V.prototype.An},tl={800:V.prototype.xp,801:V.prototype.Ap,802:V.prototype.zp,803:V.prototype.yp,807:V.prototype.bk,811:V.prototype.bk,815:V.prototype.bk},sl={496:V.prototype.Mo,497:V.prototype.Ro,498:V.prototype.Po,499:V.prototype.Qo,500:V.prototype.Lo,501:V.prototype.Ko,502:V.prototype.No,503:V.prototype.Jo, +1014:V.prototype.Oo};Fa(function(){for(var a=B(window.document,"pcjs","hdc"),b=0;b>2;this.Vf=Ml;80186<=this.T.Ka&&(this.Vf=Ml.slice(),this.Vf[15]=X,80286<=this.T.Ka&&(this.Vf[15]=Ll));ii(this,4,function(a){if(a){var b=Ql(d,a);if(void 0===b)d.Z("invalid selector: "+a);else{a=Rl(d,b);d.Z("dumpDesc("+r(a.ta)+"): %"+p(a.Dd,d.Me));var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512? -",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.sb&32768||(c+=",not present");d.Z((b?"seg="+r(a.Ha&65535)+" off="+r(a.sc):"base="+p(a.Ha,d.Me)+" limit="+r(a.sc))+" dpl="+q(a.rc)+" type="+q(a.type>>8)+" ("+c+")")}}else d.Z("no selector")}); -ii(this,8,function(a){a:{if(a){var b=Ql(d,a);if(void 0===b){d.Z("invalid task selector: "+a);break a}a=Rl(d,b)}else a=d.T.ib;d.Z("dumpTSS("+r(a.ta)+"): %"+p(a.Ha,d.Me));var b="",c;for(c in Sl){var e=Sl[c],m=8>c.length?" ":"",t=rb(d.sa,a.Ha+e);b&&(b+="\n");b+=r(e)+" "+c+": "+m+r(t)}d.Z(b)}});ii(this,67108864,function(a){if(a)for(d.Z("dumpDOS("+a+")"),a=Ql(d,a);a;){var b=[0,a,void 0],c=d.ob(b,1),e=d.ra(b,2),m=d.ra(b,5);if(77!=c&&90!=c)break;d.Z(da(0,a)+": '"+String.fromCharCode(c)+"' PID="+r(e)+" LEN="+ -r(m)+' "'+Tl(d,b)+'"');a+=1+m}else d.Z("no MCB")});B(this);if(this.Zj){a=Ul(this,this.Zj);delete this.Zj;for(var e in a)Fl(this,a[e])}}; -Bl.prototype.Hb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.hg=this.xa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode){b=c.value;c.value="";var g=Ul(d,b,!0),h;for(h in g)Fl(d,g[h])}else 27==a.keyCode?c.value=b="":(38==a.keyCode?d.Vce?String.fromCharCode(e):"."}return d} -function El(a,b){a.ka=a;a.Xb=a.Gm=536870912;a.$j=null;a.mi=[];var c=Ul(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in Kl)0<=c.indexOf(d)&&(a.Xb|=Kl[d],a.Z(d+" messages enabled"))}function ii(a,b,c){for(var d in Kl)if(b==Kl[d]){a.mi[d]=c;break}}k=Bl.prototype;k.message=function(a,b){b&&(a+=" @"+da(this.T.wa,this.T.va.ta));if(!this.$j||a!=this.$j)if(this.Z(a),this.$j=a,this.T){this.Xb&1073741824&&this.T.qb();var c=this.T;c.da.Ff=0;c.Wc-=c.A;c.A=0;Ub(c)}}; -function ld(a,b,c){var d,e=!1,f=Gl[b];f&&(d=a.T.H>>8,e=a.ua(f)?!0:262144==f&&a.ua(f=524288));if(e){var g=a.T.K&255;if(33==b&&11==d||262144==f&&128<=g||524288==f&&128>g)e=!1}if(e){if(f=(f=Pl[b])&&f[d]||"")g=a.T,a.xb[W[0]]=q(g.H&255),a.xb[W[1]]=q(g.J&255),a.xb[W[2]]=q(g.K&255),a.xb[W[3]]=q(g.C&255),a.xb[W[4]]=q(g.H>>8),a.xb[W[5]]=q(g.J>>8),a.xb[W[6]]=q(g.K>>8),a.xb[W[7]]=q(g.C>>8),a.xb[W[8]]=r(g.H),a.xb[W[9]]=r(g.J),a.xb[W[10]]=r(g.K),a.xb[W[11]]=r(g.C),a.xb[W[12]]=r(g.Y),a.xb[W[13]]=r(g.I),a.xb[W[14]]= -r(g.G),a.xb[W[15]]=r(g.F),a.xb[W[16]]=r(g.La.ta),a.xb[W[17]]=r(g.va.ta),a.xb[W[18]]=r(g.Ya.ta),a.xb[W[19]]=r(g.$a.ta),a.xb[W[20]]=r(g.wa),f=" "+ia(a.xb,f);a.message("INT 0x"+q(b)+": AH="+q(d)+" @"+da(c-2-a.T.va.Ha,a.T.va.ta)+f)}return e}function nd(a,b,c,d,e){a.message("INT 0x"+q(b)+": C="+(xd(a.T)?1:0)+(e||"")+" (cycles="+d+(c?",level="+(c+1):"")+")")} -function bb(a,b,c,d,e,f,g,h){h|=128;if(null==e||(a.Xb&h)==h)h=null,null!=e&&(h=a.T.va.ta,e-=a.T.va.Ha),a.message(b.Gh+"."+(null!=d?"outPort":"inPort")+"(0x"+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d):"")+")"+(null!=g?": 0x"+q(g):"")+(null!=e?" @"+da(e,h):""))}k.ao=function(){this.Z("Type ? for list of debugger commands")}; -function Dl(a){var b;if(Pd(a)){if(!a.ae||!a.ae.length){a.ae=Array(1E4);for(b=0;b>e.cb].Pf(d&e.Sa,b&255);void 0!==c&&am(a,c);Ub(this.T)}};k.Va=function(a,b,c){var d=$l(this,a,!0,1);0<=d&&(sb(this.sa,d,b),void 0!==c&&am(a,c),Ub(this.T))};function bm(a){return null==a[1]?"%"+p(a[2]):da(a[0],a[1])} -function am(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}function Cl(a){var b;a.Cc=["exec"];if(void 0!==a.Yd)for(b=1;b>c.cb],!1)}a.Yd=["read"];if(void 0!==a.$c)for(b=1;b>c.cb],!0);a.$c=["write"]} -k.be=function(a,b,c){if(!cm(this,a,b)){b[3]=c;a.push(b);if(a!=this.Cc){var d=this.sa,e=$l(this,b);d.Ca[e>>d.cb].be(e&d.Sa,a==this.$c)}c||this.Z("breakpoint enabled: "+bm(b)+" ("+a[0]+")");Dl(this);return!0}return!1}; -function cm(a,b,c,d){var e=!1;c=$l(a,c);for(var f=1;f>d.cb],b==a.$c));g[3]||a.Z("breakpoint cleared: "+bm(g)+" ("+b[0]+")");Dl(a);break}a.Z("breakpoint exists: "+bm(g)+" ("+b[0]+")");break}}return e}function dm(a,b){for(var c=1;c=b&&f>g.cb].be(f&g.Sa,d==a.$c)}}}function Yl(a,b){if(void 0!==b)Zl(a,b,a.Cc,!0),a.xc=0;else for(var c=1;c=Il.length&&(n=a.ob(b,1),g=Ol[h-Il.length][n>>3&7]);var h=Il[g[0]],m=2,t="";if(164<=f&&167>=f||170<=f&&175>=f)m=0;for(f=1;f<=m;f++){var s="",u=g[f];if(void 0!==u){var y=u&15;if(0!=y&&15!=y){var v=u&240;if(128<=v)if(0>n&&(n=a.ob(b,1)),160<=v)a:{s=n>>3&7;if(176==(u&240)){if(4<=s){s=null;break a}s+=16}else 3<=(u&15)&&(s+=8);s=W[s]}else{if(128<=v){var s=a,v=u,u=b,C="",y=n>>6, -C=n&7;3>y?(v=void 0,y||6!=C?(C=Jl[C],1==y?(v=s.ob(u,1),v&128?(v=v<<24>>24,C+="-"+q(-v)):C+="+"+q(v)):2==y&&(v=s.ra(u,2),C+="+"+r(v))):(v=s.ra(u,2),C=r(v)),C="["+C+"]"):C=W[C+(1==(v&15)?0:8)];s=C}}else if(16==v)s="1";else if(0==v){s=a;y=u;u=b;v=" ";switch(y&15){case 1:y&12288&&(v=q(s.ob(u,1)));break;case 2:v=r(s.ob(u,1)<<24>>24);break;case 3:case 4:v=r(s.ra(u,2));break;case 6:y=s.ra(u,2);s=s.ra(u,2);v=bm([y,s,void 0]);break;default:v="imm("+r(y)+")"}s=v}else 32==v?s="["+r(a.ra(b,2))+"]":48==v?(1== -y?(s=a.ob(b,1),s=s<<24>>24):s=a.ra(b,2),s=b[0]+s&65535,s=fm(a,[s,b[1],void 0])[0]||r(s)):96==v?s=W[(u&3840)>>8]:112==v?s=W[((u&3840)>>8)+16]:64==v?s="DS:[SI]":80==v&&(s="ES:[DI]");if(!s||!s.length){t="INVALID";break}0>>4),d[0]=g,d[1]=h,void 0!==n.p&&(d[2]=n.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Ql(a,b),d=null):d=Ql(a,b):(e=Ql(a,b.substring(0,d)),c=Ql(a,b.substring(d+1)), +Bl.prototype.Dc=function(a,b,c,d){this.ua=b;this.V=c;this.Qa=a;this.kn=gb(a,"FDC");this.el=gb(a,"HDC");this.Ve=b.Kf>>2;this.eg=Ml;80186<=this.V.Na&&(this.eg=Ml.slice(),this.eg[15]=Z,80286<=this.V.Na&&(this.eg[15]=Ll));ii(this,4,function(a){if(a){var b=Ql(d,a);if(void 0===b)d.ba("invalid selector: "+a);else{a=Rl(d,b);d.ba("dumpDesc("+r(a.va)+"): %"+p(a.Ld,d.Ve));var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512? +",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else switch(a.type){case 256:c="tss";break;case 512:c="ldt";break;case 768:c="busy tss";break;case 1024:c="call gate";b=!0;break;case 1280:c="task gate";b=!0;break;case 1536:c="int gate";b=!0;break;case 1792:c="trap gate",b=!0}!c||a.wb&32768||(c+=",not present");d.ba((b?"seg="+r(a.La&65535)+" off="+r(a.wc):"base="+p(a.La,d.Ve)+" limit="+r(a.wc))+" dpl="+q(a.vc)+" type="+q(a.type>>8)+" ("+c+")")}}else d.ba("no selector")}); +ii(this,8,function(a){a:{if(a){var b=Ql(d,a);if(void 0===b){d.ba("invalid task selector: "+a);break a}a=Rl(d,b)}else a=d.V.lb;d.ba("dumpTSS("+r(a.va)+"): %"+p(a.La,d.Ve));var b="",c;for(c in Sl){var e=Sl[c],m=8>c.length?" ":"",t=qb(d.ua,a.La+e);b&&(b+="\n");b+=r(e)+" "+c+": "+m+r(t)}d.ba(b)}});ii(this,67108864,function(a){if(a)for(d.ba("dumpDOS("+a+")"),a=Ql(d,a);a;){var b=[0,a,void 0],c=d.sb(b,1),e=d.sa(b,2),m=d.sa(b,5);if(77!=c&&90!=c)break;d.ba(da(0,a)+": '"+String.fromCharCode(c)+"' PID="+r(e)+ +" LEN="+r(m)+' "'+Tl(d,b)+'"');a+=1+m}else d.ba("no MCB")});E(this);if(this.jk){a=Ul(this,this.jk);delete this.jk;for(var e in a)Fl(this,a[e])}}; +Bl.prototype.Lb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.rg=this.Aa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode){b=c.value;c.value="";var g=Ul(d,b,!0),h;for(h in g)Fl(d,g[h])}else 27==a.keyCode?c.value=b="":(38==a.keyCode?d.$ce?String.fromCharCode(e):"."}return d} +function El(a,b){a.ma=a;a.bc=a.Rm=536870912;a.kk=null;a.wi=[];var c=Ul(a,b.replace("keys","key").replace("kbd","keyboard"));if(c.length)for(var d in Kl)0<=c.indexOf(d)&&(a.bc|=Kl[d],a.ba(d+" messages enabled"))}function ii(a,b,c){for(var d in Kl)if(b==Kl[d]){a.wi[d]=c;break}}k=Bl.prototype;k.message=function(a,b){b&&(a+=" @"+da(this.V.za,this.V.xa.va));if(!this.kk||a!=this.kk)if(this.ba(a),this.kk=a,this.V){this.bc&1073741824&&this.V.ub();var c=this.V;c.fa.Of=0;c.ad-=c.A;c.A=0;Tb(c)}}; +function qd(a,b,c){var d,e=!1,f=Gl[b];f&&(d=a.V.G>>8,e=a.wa(f)?!0:262144==f&&a.wa(f=524288));if(e){var g=a.V.L&255;if(33==b&&11==d||262144==f&&128<=g||524288==f&&128>g)e=!1}if(e){if(f=(f=Pl[b])&&f[d]||"")g=a.V,a.Bb[W[0]]=q(g.G&255),a.Bb[W[1]]=q(g.K&255),a.Bb[W[2]]=q(g.L&255),a.Bb[W[3]]=q(g.C&255),a.Bb[W[4]]=q(g.G>>8),a.Bb[W[5]]=q(g.K>>8),a.Bb[W[6]]=q(g.L>>8),a.Bb[W[7]]=q(g.C>>8),a.Bb[W[8]]=r(g.G),a.Bb[W[9]]=r(g.K),a.Bb[W[10]]=r(g.L),a.Bb[W[11]]=r(g.C),a.Bb[W[12]]=r(g.W),a.Bb[W[13]]=r(g.J),a.Bb[W[14]]= +r(g.H),a.Bb[W[15]]=r(g.F),a.Bb[W[16]]=r(g.Pa.va),a.Bb[W[17]]=r(g.xa.va),a.Bb[W[18]]=r(g.Ja.va),a.Bb[W[19]]=r(g.cb.va),a.Bb[W[20]]=r(g.za),f=" "+ia(a.Bb,f);a.message("INT 0x"+q(b)+": AH="+q(d)+" @"+da(c-2-a.V.xa.La,a.V.xa.va)+f)}return e}function sd(a,b,c,d,e){a.message("INT 0x"+q(b)+": C="+(Ed(a.V)?1:0)+(e||"")+" (cycles="+d+(c?",level="+(c+1):"")+")")} +function ab(a,b,c,d,e,f,g,h){h|=128;if(null==e||(a.bc&h)==h)h=null,null!=e&&(h=a.V.xa.va,e-=a.V.xa.La),a.message(b.Qh+"."+(null!=d?"outPort":"inPort")+"(0x"+r(c)+","+(f?f:"unknown")+(null!=d?",0x"+q(d):"")+")"+(null!=g?": 0x"+q(g):"")+(null!=e?" @"+da(e,h):""))}k.no=function(){this.ba("Type ? for list of debugger commands")}; +function Dl(a){var b;if(Ud(a)){if(!a.ie||!a.ie.length){a.ie=Array(1E4);for(b=0;b>e.gb].Zf(d&e.Wa,b&255);void 0!==c&&am(a,c);Tb(this.V)}};k.Za=function(a,b,c){var d=$l(this,a,!0,1);0<=d&&(rb(this.ua,d,b),void 0!==c&&am(a,c),Tb(this.V))};function bm(a){return null==a[1]?"%"+p(a[2]):da(a[0],a[1])} +function am(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}function Cl(a){var b;a.Gc=["exec"];if(void 0!==a.fe)for(b=1;b>c.gb],!1)}a.fe=["read"];if(void 0!==a.ed)for(b=1;b>c.gb],!0);a.ed=["write"]} +k.je=function(a,b,c){if(!cm(this,a,b)){b[3]=c;a.push(b);if(a!=this.Gc){var d=this.ua,e=$l(this,b);d.Fa[e>>d.gb].je(e&d.Wa,a==this.ed)}c||this.ba("breakpoint enabled: "+bm(b)+" ("+a[0]+")");Dl(this);return!0}return!1}; +function cm(a,b,c,d){var e=!1;c=$l(a,c);for(var f=1;f>d.gb],b==a.ed));g[3]||a.ba("breakpoint cleared: "+bm(g)+" ("+b[0]+")");Dl(a);break}a.ba("breakpoint exists: "+bm(g)+" ("+b[0]+")");break}}return e}function dm(a,b){for(var c=1;c=b&&f>g.gb].je(f&g.Wa,d==a.ed)}}}function Yl(a,b){if(void 0!==b)Zl(a,b,a.Gc,!0),a.Bc=0;else for(var c=1;c=Il.length&&(n=a.sb(b,1),g=Ol[h-Il.length][n>>3&7]);var h=Il[g[0]],m=2,t="";if(164<=f&&167>=f||170<=f&&175>=f)m=0;for(f=1;f<=m;f++){var s="",u=g[f];if(void 0!==u){var y=u&15;if(0!=y&&15!=y){var v=u&240;if(128<=v)if(0>n&&(n=a.sb(b,1)),160<=v)a:{s=n>>3&7;if(176==(u&240)){if(4<=s){s=null;break a}s+=16}else 3<=(u&15)&&(s+=8);s=W[s]}else{if(128<=v){var s=a,v=u,u=b,A="",y=n>>6, +A=n&7;3>y?(v=void 0,y||6!=A?(A=Jl[A],1==y?(v=s.sb(u,1),v&128?(v=v<<24>>24,A+="-"+q(-v)):A+="+"+q(v)):2==y&&(v=s.sa(u,2),A+="+"+r(v))):(v=s.sa(u,2),A=r(v)),A="["+A+"]"):A=W[A+(1==(v&15)?0:8)];s=A}}else if(16==v)s="1";else if(0==v){s=a;y=u;u=b;v=" ";switch(y&15){case 1:y&12288&&(v=q(s.sb(u,1)));break;case 2:v=r(s.sb(u,1)<<24>>24);break;case 3:case 4:v=r(s.sa(u,2));break;case 6:y=s.sa(u,2);s=s.sa(u,2);v=bm([y,s,void 0]);break;default:v="imm("+r(y)+")"}s=v}else 32==v?s="["+r(a.sa(b,2))+"]":48==v?(1== +y?(s=a.sb(b,1),s=s<<24>>24):s=a.sa(b,2),s=b[0]+s&65535,s=fm(a,[s,b[1],void 0])[0]||r(s)):96==v?s=W[(u&3840)>>8]:112==v?s=W[((u&3840)>>8)+16]:64==v?s="DS:[SI]":80==v&&(s="ES:[DI]");if(!s||!s.length){t="INVALID";break}0>>4),d[0]=g,d[1]=h,void 0!==n.p&&(d[2]=n.p));break}}if(d&&d.length)return d;d=b.indexOf(":");0>d?null!=e?(c=Ql(a,b),d=null):d=Ql(a,b):(e=Ql(a,b.substring(0,d)),c=Ql(a,b.substring(d+1)), d=null)}return[c,e,d]} -function Ql(a,b,c){var d;if(void 0!==b)switch(b=b.toUpperCase(),b){case "AX":d=a.T.H;break;case "BX":d=a.T.C;break;case "CX":d=a.T.J;break;case "DX":d=a.T.K;break;case "SI":d=a.T.G;break;case "DI":d=a.T.F;break;case "BP":d=a.T.I;break;case "SP":d=a.T.Y;break;case "CS":d=a.T.va.ta;break;case "DS":d=a.T.$a.ta;break;case "ES":d=a.T.La.ta;break;case "SS":d=a.T.Ya.ta;break;case "IP":d=a.T.wa;break;default:d=ca(b),void 0===d&&a.Z("invalid "+(c?c:"value")+": "+b)}else a.Z("missing "+(c||"value"));return d} -function oj(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]=g&&eb[0]?1:a[0]c?(a.Z("out of data at address "+bm(b)),t=!0):(a.ld(b,c,1),m++)})})(a,g);a.Z(m+" bytes read at "+c)}else a.Z("sector "+e+" request out of range");else a.Z("drive "+d+" not loaded");else a.Z("invalid drive: "+d)}else a.Z("disk controller not present")}}} -function Wl(a,b,c){if(b&&"?"==b[1])a.Z("\nregister commands:"),a.Z("\tr\t\tdisplay all registers"),a.Z("\tr [target=#]\tmodify target register"),a.Z("supported targets:"),a.Z("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1a.Vc&&a.Qc.length&&(a.Vc=0);if(0>a.Vc||b!=a.Qc[a.Vc])a.Qc.splice(0,0,b),a.Vc=0;a.Vc--}else b=a.Qc[a.Vc+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=ja(a[d]);return a} -function Fl(a,b){var c=!0;try{if(b.length||(a.rf?(a.Z("ended assemble @"+bm(a.Ae)),a.Pc=a.Ae,a.rf=!1):b="?"),b=b.toLowerCase(),eb(a)&&0d||"z">>4);var Qb=T[R].l;Qb&&(R=Qb);a.Z(da(Ca,Ya)+" "+R)}}}else{for(v in Kl)if(m==v){var Cc=a.mi[v];Cc?Cc(y):a.Z("no dump registered for "+m);break a}var D=jm(a,m,2);if(null!=D[0]){var K="";if("di"==u)var Na=$l(a,D),K=K+("%"+p(Na)+": "),K=K+"no information"; -else{var G=0,zb="dw"==u;void 0!==y&&("l"==y.charAt(0)&&(y=y.substr(1)),(G=parseInt(y,10))&&(G=zb?G+7>>3:G+15>>4));G||(G=8);for(g=0;gY;Y++){var Z=a.ob(D,1);zb?Y&1&&(u+=r(y|Z<<8)+(7==Y?" - ":" ")):u+=q(Z)+(7==Y?"-":" ");Oa+=32<=Z&&128>Z?String.fromCharCode(Z):".";y=Z}K&&(K+="\n");K+=m+" "+u+" "+Oa}}K&&a.Z(K);a.nk=D}}}break;case "e":var Dc=g[1];if(void 0===Dc)a.Z("missing address");else{var jc=jm(a,Dc,2);if(null!=jc[0])for(m=2;mab.length&&(a.Z("note: only "+ab.length+" available"),Ra=ab.length);Y-=Ra; -0>Y&&(null!=ab[ab.length-1][1]?Y+=ab.length:(Ra=Y+Ra,Y=0));for(void 0!==Oa&&a.Z(Ra+" instructions earlier:");D&&Y!=a.yf;){var lc=ab[Y];if(null==lc[1])break;lc=[lc[0],lc[1],lc[2]];a.Z(em(a,lc,"history",-Ra));++Y==ab.length&&(Y=0);a.hm=--Ra;D--}}10==D&&(a.Z("no "+m+"history available"),a.hm=void 0)}break;case "i":var Se=g[1];if(Se&&"?"!=Se){var Te=Ql(a,Se);if(void 0!==Te){var Fm=wb(a.sa,Te);a.Z(r(Te)+": "+q(Fm))}}else a.Z("\ninput commands:"),a.Z("\ti [p]\tread port [p]"),a.Z("warning: port accesses can affect hardware state"); -break;case "l":nm(a,g);break;case "m":a:{m=null;G=g[1];"?"==G&&(G=void 0);if(void 0!==G){D=0;if("all"==G)D=-1342177281,G=null;else if("on"==G)m=!0,G=null;else if("off"==G)m=!1,G=null;else{"keys"==G&&(G="key");"kbd"==G&&(G="keyboard");for(K in Kl)if(G==K){D=Kl[K];m=!!(a.Xb&D);break}if(!D){a.Z("unknown message category: "+G);break a}}D&&("on"==g[2]?(a.Xb|=D,m=!0):"off"==g[2]&&(a.Xb&=~D,m=!1))}D=0;Z="";for(K in Kl)if(!G||G==K)if(zb=!!(a.Xb&Kl[K]),null===m||m==zb)Z&&(Z+=","),++D%10||(Z+="\n\t"),"key"== -K&&(K="keys"),Z+=K;void 0===G&&a.Z("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.Z((null!==m?m?"messages on: ":"messages off: ":"message categories:\n\t")+(Z||"none"))}break;case "o":var Ue=g[1],Gm=g[2];if(Ue&&"?"!=Ue){var ak=Ql(a,Ue,"port #"),bk=Ql(a,Gm);void 0!==ak&&void 0!==bk&&Bb(a.sa,ak,bk)}else a.Z("\noutput commands:"),a.Z("\to [p] [d]\twrite data [d] to port [p]"),a.Z("warning: port accesses can affect hardware state");break;case "p":case "pr":var ck="pr"==g[0]? -1:0,m=1+ck;if(a.xc)a.Z("step in progress");else{var Hd,D=!1,Sa=[a.T.wa,a.T.va.ta,void 0];do switch(Hd=!1,a.ob(Sa)){case 38:case 46:case 54:case 62:case 240:am(Sa,1);Hd=!0;break;case 204:case 206:a.xc=m;am(Sa,1);break;case 205:case 224:case 225:case 226:a.xc=m;am(Sa,2);break;case 232:a.xc=m;am(Sa,3);break;case 154:a.xc=m;am(Sa,5);break;case 255:a.xc=0<=em(a,Sa).indexOf("CALL")?m:0;break;case 243:case 242:am(Sa,1);D=Hd=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:D&& -(a.xc=m,am(Sa,1))}while(Hd);a.xc?(a.be(a.Cc,Sa,!0),a.Ze()||(a.T.Oc(),a.xc=0)):om(a,ck?"tr":"t")}break;case "r":Wl(a,g);break;case "t":case "tr":om(a,g[0],g[1]);break;case "u":Xl(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.Z("\nexecution options:"),a.Z("\tcs int #\tset checksum cycle interval to #"),a.Z("\tcs start #\tset checksum cycle start count to #"),a.Z("\tcs stop #\tset checksum cycle stop count to #"),a.Z("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var Jc; -void 0!==g[3]&&(Jc=parseInt(g[3],10));switch(g[2]){case "int":a.T.da.Cf=Jc;break;case "start":a.T.da.tg=Jc;break;case "stop":a.T.da.Ef=Jc;break;default:a.Z("unknown cs option");break a}void 0!==Jc&&Rb(a.T);a.Z("checksums "+(a.T.ma.sf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&Xb(a.T,parseInt(g[2],10));a.Z("target speed: "+(a.T.da.Ue.toFixed(2)+"Mhz")+" ("+a.T.da.Rd+"x)");break;default:a.Z("unknown option: "+g[1])}break;case "?":var m="commands:",Id;for(Id in Hl)m+="\n"+Id+" ".substr(0, -7-Id.length)+Hl[Id];Pd(a)||(m+="\nnote: frequency/history disabled if no exec breakpoints");a.Z(m);break;default:a.Z("unknown command: "+b),c=!1}}}catch(Hm){a.Z("debugger sad: "+Hm.message),c=!1}return c}Fa(function(){for(var a=z(window.document,"pcjs","debugger"),b=0;bb[0]?1:a[0]=g&&eb[0]?1:a[0]c?(a.ba("out of data at address "+bm(b)),t=!0):(a.rd(b,c,1),m++)})})(a,g);a.ba(m+" bytes read at "+c)}else a.ba("sector "+e+" request out of range");else a.ba("drive "+d+" not loaded");else a.ba("invalid drive: "+d)}else a.ba("disk controller not present")}}} +function Wl(a,b,c){if(b&&"?"==b[1])a.ba("\nregister commands:"),a.ba("\tr\t\tdisplay all registers"),a.ba("\tr [target=#]\tmodify target register"),a.ba("supported targets:"),a.ba("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d;if(null!=b&&1a.$c&&a.Vc.length&&(a.$c=0);if(0>a.$c||b!=a.Vc[a.$c])a.Vc.splice(0,0,b),a.$c=0;a.$c--}else b=a.Vc[a.$c+1];a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=ja(a[d]);return a} +function Fl(a,b){var c=!0;try{if(b.length||(a.Af?(a.ba("ended assemble @"+bm(a.Ie)),a.Tc=a.Ie,a.Af=!1):b="?"),b=b.toLowerCase(),db(a)&&0d||"z">>4);var Kb=T[R].l;Kb&&(R=Kb);a.ba(da(za,Ta)+" "+R)}}}else{for(v in Kl)if(m==v){var wc=a.wi[v];wc?wc(y):a.ba("no dump registered for "+m);break a}var D=jm(a,m,2);if(null!=D[0]){var K="";if("di"== +u)var Ia=$l(a,D),K=K+("%"+p(Ia)+": "),K=K+"no information";else{var G=0,ub="dw"==u;void 0!==y&&("l"==y.charAt(0)&&(y=y.substr(1)),(G=parseInt(y,10))&&(G=ub?G+7>>3:G+15>>4));G||(G=8);for(g=0;gX;X++){var Y=a.sb(D,1);ub?X&1&&(u+=r(y|Y<<8)+(7==X?" - ":" ")):u+=q(Y)+(7==X?"-":" ");Ja+=32<=Y&&128>Y?String.fromCharCode(Y):".";y=Y}K&&(K+="\n");K+=m+" "+u+" "+Ja}}K&&a.ba(K);a.yk=D}}}break;case "e":var xc=g[1];if(void 0===xc)a.ba("missing address");else{var dc=jm(a, +xc,2);if(null!=dc[0])for(m=2;mWa.length&& +(a.ba("note: only "+Wa.length+" available"),Ma=Wa.length);X-=Ma;0>X&&(null!=Wa[Wa.length-1][1]?X+=Wa.length:(Ma=X+Ma,X=0));for(void 0!==Ja&&a.ba(Ma+" instructions earlier:");D&&X!=a.Hf;){var fc=Wa[X];if(null==fc[1])break;fc=[fc[0],fc[1],fc[2]];a.ba(em(a,fc,"history",-Ma));++X==Wa.length&&(X=0);a.sm=--Ma;D--}}10==D&&(a.ba("no "+m+"history available"),a.sm=void 0)}break;case "i":var Me=g[1];if(Me&&"?"!=Me){var Ne=Ql(a,Me);if(void 0!==Ne){var Fm=wb(a.ua,Ne);a.ba(r(Ne)+": "+q(Fm))}}else a.ba("\ninput commands:"), +a.ba("\ti [p]\tread port [p]"),a.ba("warning: port accesses can affect hardware state");break;case "l":nm(a,g);break;case "m":a:{m=null;G=g[1];"?"==G&&(G=void 0);if(void 0!==G){D=0;if("all"==G)D=-1342177281,G=null;else if("on"==G)m=!0,G=null;else if("off"==G)m=!1,G=null;else{"keys"==G&&(G="key");"kbd"==G&&(G="keyboard");for(K in Kl)if(G==K){D=Kl[K];m=!!(a.bc&D);break}if(!D){a.ba("unknown message category: "+G);break a}}D&&("on"==g[2]?(a.bc|=D,m=!0):"off"==g[2]&&(a.bc&=~D,m=!1))}D=0;Y="";for(K in Kl)if(!G|| +G==K)if(ub=!!(a.bc&Kl[K]),null===m||m==ub)Y&&(Y+=","),++D%10||(Y+="\n\t"),"key"==K&&(K="keys"),Y+=K;void 0===G&&a.ba("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");a.ba((null!==m?m?"messages on: ":"messages off: ":"message categories:\n\t")+(Y||"none"))}break;case "o":var Oe=g[1],Gm=g[2];if(Oe&&"?"!=Oe){var Uj=Ql(a,Oe,"port #"),Vj=Ql(a,Gm);void 0!==Uj&&void 0!==Vj&&Ab(a.ua,Uj,Vj)}else a.ba("\noutput commands:"),a.ba("\to [p] [d]\twrite data [d] to port [p]"),a.ba("warning: port accesses can affect hardware state"); +break;case "p":case "pr":var Wj="pr"==g[0]?1:0,m=1+Wj;if(a.Bc)a.ba("step in progress");else{var Bd,D=!1,Na=[a.V.za,a.V.xa.va,void 0];do switch(Bd=!1,a.sb(Na)){case 38:case 46:case 54:case 62:case 240:am(Na,1);Bd=!0;break;case 204:case 206:a.Bc=m;am(Na,1);break;case 205:case 224:case 225:case 226:a.Bc=m;am(Na,2);break;case 232:a.Bc=m;am(Na,3);break;case 154:a.Bc=m;am(Na,5);break;case 255:a.Bc=0<=em(a,Na).indexOf("CALL")?m:0;break;case 243:case 242:am(Na,1);D=Bd=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:D&& +(a.Bc=m,am(Na,1))}while(Bd);a.Bc?(a.je(a.Gc,Na,!0),a.hf()||(a.V.Sc(),a.Bc=0)):om(a,Wj?"tr":"t")}break;case "r":Wl(a,g);break;case "t":case "tr":om(a,g[0],g[1]);break;case "u":Xl(a,g[1],g[2],8);break;case "x":a:if(void 0===g[1]||"?"==g[1])a.ba("\nexecution options:"),a.ba("\tcs int #\tset checksum cycle interval to #"),a.ba("\tcs start #\tset checksum cycle start count to #"),a.ba("\tcs stop #\tset checksum cycle stop count to #"),a.ba("\tsp #\t\tset speed multiplier to #");else switch(g[1]){case "cs":var Dc; +void 0!==g[3]&&(Dc=parseInt(g[3],10));switch(g[2]){case "int":a.V.fa.Lf=Dc;break;case "start":a.V.fa.Dg=Dc;break;case "stop":a.V.fa.Nf=Dc;break;default:a.ba("unknown cs option");break a}void 0!==Dc&&Qb(a.V);a.ba("checksums "+(a.V.oa.Bf?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&Wb(a.V,parseInt(g[2],10));a.ba("target speed: "+(a.V.fa.cf.toFixed(2)+"Mhz")+" ("+a.V.fa.Zd+"x)");break;default:a.ba("unknown option: "+g[1])}break;case "?":var m="commands:",Cd;for(Cd in Hl)m+="\n"+Cd+" ".substr(0, +7-Cd.length)+Hl[Cd];Ud(a)||(m+="\nnote: frequency/history disabled if no exec breakpoints");a.ba(m);break;default:a.ba("unknown command: "+b),c=!1}}}catch(Hm){a.ba("debugger sad: "+Hm.message),c=!1}return c}Fa(function(){for(var a=B(window.document,"pcjs","debugger"),b=0;bum){if(d.load(this.Pg)){this.df=new qd(this,"1.16.5","failsafe");this.df.load()&&(ym(this,d),a=2,rm(this.df));this.df.set("timestamp",na());sm(this.df);var e=this.Xc&&!this.Ch;if(1==a||ra("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.Ia("Error: "+g),"unable to verify user"==g&&(va("user",""),this.Yc=null)):this.Z(f+": "+g),rm(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&xm(this,c?d:null)}else 2==a&&d.clear()}else xm(this);delete this.Pg;delete this.di}e=Va(this.id);for(f=0;fa[1];a=a[2];this.ma.Rb=!0;this.Mk||(this.Z("PCjs v1.16.5\nCopyright \u00a9 2012-2015 Jeff Parsons \nLicense: GPL version 3 or later "),this.Mk=!0);this.T&&zm(this,this.T,b,c,a);this.Pk&&(ym(this,b),b.clear());!c&&this.df&&(this.df.clear(),delete this.df)}; -function ym(a,b){if(ra("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.ne(),d=b.toString(),e={app:"PCjs",ver:"1.16.5"};e.url=a.url;e.user=c;e.type="bug";e.data=d;pa("http://www.pcjs.org/api/v1/report",!0,e)}} -function pm(a,b,c){var d,e="none",f=new qd(a,"1.16.5"),g=new qd(a,"1.16.5","validate"),h=na();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.5");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.T&&a.T.dc&&(c&&a.T.qb(),d=a.T.dc(b,c),"object"===typeof d&&f.set(a.T.id,d),c&&(a.T.ma.Rb=!1,!1===d&&(e=null)));for(var h=Va(a.id),n=0;num){if(d.load(this.Zg)){this.nf=new vd(this,"1.17.0","failsafe");this.nf.load()&&(ym(this,d),a=2,rm(this.nf));this.nf.set("timestamp",na());sm(this.nf);var e=this.bd&&!this.Mh;if(1==a||ra("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== +f&&"no machine state"!=g?(this.Ma("Error: "+g),"unable to verify user"==g&&(wa("user",""),this.cd=null)):this.ba(f+": "+g),rm(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&xm(this,c?d:null)}else 2==a&&d.clear()}else xm(this);delete this.Zg;delete this.ni}e=Xa(this.id);for(f=0;fa[1];a=a[2];this.oa.Wb=!0;this.Xk||(this.ba("PCjs v1.17.0\nCopyright \u00a9 2012-2015 Jeff Parsons \nLicense: GPL version 3 or later "),this.Xk=!0);this.V&&zm(this,this.V,b,c,a);this.$k&&(ym(this,b),b.clear());!c&&this.nf&&(this.nf.clear(),delete this.nf)}; +function ym(a,b){if(ra("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.ve(),d=b.toString(),e={app:"PCjs",ver:"1.17.0"};e.url=a.url;e.user=c;e.type="bug";e.data=d;pa("http://www.pcjs.org/api/v1/report",!0,e)}} +function pm(a,b,c){var d,e="none",f=new vd(a,"1.17.0"),g=new vd(a,"1.17.0","validate"),h=na();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.0");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.V&&a.V.ic&&(c&&a.V.ub(),d=a.V.ic(b,c),"object"===typeof d&&f.set(a.V.id,d),c&&(a.V.oa.Wb=!1,!1===d&&(e=null)));for(var h=Xa(a.id),n=0;nh.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(s){h= null,a=s.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");pa(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var n=h[0],m,t=/( [a-z]+=)(['"])(.*?)\2/g;m=t.exec(f);)n=0>n.indexOf(m[1])?n.replace(">",m[0]+">"):n.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=n&&(g=g.replace(h[0],n))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);Im(a,b,c)}})}else c(a,null)} -function Jm(a,b,c,d){function e(a){if(void 0===h){var b=g&&z(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function f(a){e("Error: "+a);n&&(--Cm||Ha(!0));n=!1}var g,h,n=!0;Cm++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.5/components.xsl");var m=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--Cm||Ha(!0)):f("transformNodeToObject failed")}else window.document.implementation&& +function Jm(a,b,c,d){function e(a){if(void 0===h){var b=g&&B(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function f(a){e("Error: "+a);n&&(--Cm||Ha(!0));n=!1}var g,h,n=!0;Cm++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.0/components.xsl");var m=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--Cm||Ha(!0)):f("transformNodeToObject failed")}else window.document.implementation&& window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(h),(m=m.transformToFragment(d,window.document))?(g.parentNode.replaceChild(m,g),--Cm||Ha(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?Dm(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?Dm(b,a,d,!0,e,m):Em(b,null,a,d,!1,e,m)}else f("failed to find machine element: "+a)}catch(t){f(t.message)}return n} -window.embedPC=function(a,b,c,d){Ha(!1);return Jm(a,b,c,d)};window.enableEvents=Ha;window.sendEvent=Ia;})(); +window.embedPC=function(a,b,c,d){Ha(!1);return Jm(a,b,c,d)};window.enableEvents=Ha;window.sendEvent=Ka;})(); diff --git a/docs/pcjs/demos/pc.js b/docs/pcjs/demos/pc.js index 8540508fd..37af03a56 100644 --- a/docs/pcjs/demos/pc.js +++ b/docs/pcjs/demos/pc.js @@ -1,671 +1,704 @@ (function(){var k,aa,l,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36]};function p(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function ca(a){return p(a,2)}function da(a,b){return void 0!==b?p(b,4)+":"+p(a,4):p(a)} function ea(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function ha(a){return a.replace(/[&<>"']/g,function(a){return ga[a]})}var ia=Date.now||function(){return+new Date}; function ja(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ka=[31,28,31,30,31,30,31,31,30,31,30,31]; -function la(a,b,c,d,e,f){b=!!b;var g=0,h=null,m=ea(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(h=n.responseText,200==n.status||!n.status&&h.length&&"file:"==(window?window.location.protocol:"file:")||(g=n.status||-1),e&&(d?e.call(d,m,h,g,f):e(m,h,g,f)))});if(c){var r="",s;for(s in c)c.hasOwnProperty(s)&&(r&&(r+="&"),r+=s+"="+encodeURIComponent(c[s]));r=r.replace(/%20/g,"+");n.open("POST", +function la(a,b,c,d,e,f){b=!!b;var g=0,h=null,m=ea(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(h=n.responseText,200==n.status||!n.status&&h.length&&"file:"==(window?window.location.protocol:"file:")||(g=n.status||-1),e&&(d?e.call(d,m,h,g,f):e(m,h,g,f)))});if(c){var r="",t;for(t in c)c.hasOwnProperty(t)&&(r&&(r+="&"),r+=t+"="+encodeURIComponent(c[t]));r=r.replace(/%20/g,"+");n.open("POST", a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");n.send(r)}else n.open("GET",a,b),n.send();a=[];b||(h=n.responseText,200!=n.status&&(g=n.status||-1),e&&(d?e.call(d,m,h,g,f):e(m,h,g,f)),a=[g,h]);return a}function ma(){return"http://"+(window?window.location.host:"www.pcjs.org")}function q(a){window&&window.alert(a)}function na(a){var b=!1;window&&(b=window.confirm(a));return b}var oa=null; function pa(){if(null==oa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}oa=a}return oa}function qa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function ra(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1} -function sa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var ta={init:[],show:[],exit:[]},ua=!1,va=!0;function wa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function za(a){ta.init.push(a)} -function Aa(a){if(va)try{for(var b=0;b=this.Df?12:14;this.Cc=1<>2;this.Sa=this.Cc-1;this.zg=(this.Bh+this.Cc)/this.Cc|0;this.jd=this.zg-1;this.kg=[];this.lg=[];this.gi();z(this)}v(u,Ua);k=Ua.prototype;k.gi=function(){this.za=Array(this.zg);for(var a=0;a>a.xb;0>this.xb;0>a.xb;0>this.xb].jc(a&this.Sa)};function bb(a,b){return a.za[(b&a.tc)>>a.xb].ij(b&a.Sa)} -k.pa=function(a){var b=a&this.Sa;a=(a&this.tc)>>this.xb;return b!=this.Sa?this.za[a].rl(b):this.za[a++].jc(b)|this.za[a&this.jd].jc(0)<<8};function cb(a,b){var c=b&a.Sa,d=(b&a.tc)>>a.xb;return c!=a.Sa?a.za[d].wo(c):a.za[d++].ij(c)|a.za[d&a.jd].ij(0)<<8}k.ze=function(a,b){this.za[(a&this.tc)>>this.xb].lc(a&this.Sa,b&255)};k.Oa=function(a,b){var c=a&this.Sa,d=(a&this.tc)>>this.xb;c!=this.Sa?this.za[d].Fl(c,b&65535):(this.za[d++].lc(c,b&255),this.za[d&this.jd].lc(0,b>>8&255))}; -function db(a,b,c){var d=b&a.Sa;b=(b&a.tc)>>a.xb;d!=a.Sa?a.za[b].Go(d,c&65535):(a.za[b++].qj(d,c&255),a.za[b&a.jd].qj(0,c>>8&255))}function eb(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.qa[b]>>>a;return 24>a?c&65535:c&255|(this.qa[b+1]&255)<<8},function(a,b){var c=a>>2,d=(a&3)<<3;this.qa[c]=this.qa[c]&~(255<>2,d=(a&3)<<3;24>d?this.qa[c]=this.qa[c]&~(65535<>8);this.nb=!0}]; -Va.prototype={save:function(){return this.ea?null:this.qa},restore:function(a){return this.ea?null==a:a&&this.Ql==a.length<<2?(this.qa=a,this.nb=!0):!1},ye:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.jc=c[0]||kb;this.rl=c[1]||kb;b&&(this.ij=c[0]||kb,this.wo=c[1]||kb);c=a;this.lc=!this.Wj&&c[2]||lb;this.Fl=!this.Wj&&c[3]||lb;b&&(this.qj=c[2]||lb,this.Go=c[3]||lb)}}; -function mb(a,b){u.call(this,"CPU",a,mb);var c=a.cycles||b,d=a.multiplier||1;this.ba={};this.ba.Zc=c;this.ba.Od=d;this.ba.Ug=Math.round(this.ba.Zc/1E4)/100;this.ba.$e=this.ba.Ug*this.ba.Od;this.ma.Pb=!1;this.ma.Hb=!1;this.ma.Zj=!1;this.ma.Qh=a.autoStart;this.ma.Rj=!1;c=Fa.autostart;void 0!==c&&(this.ma.Qh="true"==c?!0:"false"==c?!1:null);this.ma.Jg=!1;this.ba.Yg=this.ba.bf=0;this.ba.Zg=a.csStart;this.ba.Ef=a.csInterval;this.ba.Ff=a.csStop;var e=this;this.xn=function(){nb(e)};z(this)}v(u,mb);k=mb.prototype; -k.xc=function(a,b,c,d){this.ra=b;this.Wa=d;this.Ta=a;var e=Sa(a,"Video");e&&(this.yf=function(){ob(e)},this.dd=function(){e.dd()});this.la=Sa(a,"ChipSet");z(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ac=function(a,b){if(!b){if(a&&this.restore){pb(this);if(!this.restore(a))return!1;qb(this)}else this.reset();this.ic("No debugger detected")}this.ma.Pb=!0;!rb(this)&&this.Wa&&this.Wa.Zp();this.yf();this.Qe();return!0}; -k.$b=function(a){this.ma.Pb=!1;return a&&this.save?this.save():!0};function rb(a){return!0===a.ma.Qh||null===a.ma.Qh&&void 0===a.sa.run?(nb(a),!0):!1}k.bk=function(){return 0};function qb(a){void 0===a.ba.Zg&&(a.ba.Zg=0);void 0===a.ba.Ef&&(a.ba.Ef=-1);void 0===a.ba.Ff&&(a.ba.Ff=-1);a.ma.Jg=0<=a.ba.Zg&&0c&&(c=60);2>c&&(c=2);var d=1;b&&1a.ba.Ug&&(c=Math.round(c/a.ba.Od));return c}function pb(a){a.ba.Md=0;a.ve=a.Sd=a.Yc=a.A=0;qb(a);tb(a,1)} -function tb(a,b,c){if(void 0!==b){0.8>a.ba.Md/a.ba.$e&&(b=1);a.ba.Od=b;b=a.ba.Ug*a.ba.Od;if(a.ba.$e!=b){a.ba.$e=b;b=a.ba.$e.toFixed(2)+"Mhz";var d=a.sa.setSpeed;d&&(d.textContent=b);a.ic("target speed: "+b)}c&&a.dd()}vb(a,a.Sd);a.Sd=0;a.ba.af=ia();a.ba.se=0;wb(a)} -function nb(a,b){if(Oa(a,!0)){if(!a.ma.Hb){tb(a);a.Ta&&a.Ta.start(a.ba.af,C(a));a.ma.Hb=!0;a.ma.Zj=!0;a.la&&xb(a.la);var c=a.sa.run;c&&(c.textContent="Halt");a.Qe(!0);b&&a.dd()}a.ba.oi>=a.ba.Zc&&wb(a,!0);a.ba.Jf=0;a.ba.Wg=ia();a.ba.se&&(c=a.ba.Wg-a.ba.se,c>a.ba.ik&&(a.ba.af+=c,a.ba.af>a.ba.Wg&&(a.ba.af=a.ba.Wg)));try{do{var d=a.ma.Jg?1:a.ba.sn;if(a.la){yb(a.la);var e=a.la,c=d,f=e.Kb[0];if(f.pe){var g=(C(e.ka,e.Jd)-f.sd)/e.gh|0,h=Ab(e,0)-g;6==f.mode&&(h-=g);var m=h*e.gh|0;6==f.mode&&(m>>=1);c>m&&(c= -m)}var d=c,n=a.la,c=d;if(n.ja&&n.ja[11]&64){var r=n.df-C(n.ka,n.Jd);0r&&(c=r)}d=c}a.Cl(d);var s=a.Yc-a.A;a.Sd+=s;a.ba.Jf+=s;vb(a,0,!0);var c=a,t=s;if(c.ma.Jg){var w=!1;c.ba.Yg=c.ba.Yg+c.bk()|0;c.ba.bf-=t;0>=c.ba.bf&&(c.ba.bf+=c.ba.Ef,w=!0);0<=c.ba.Ff&&c.ba.Ff<=C(c)&&(c.ba.Ef=c.ba.Ff=-1,qb(c),B(c),w=!0);w&&c.ic(C(c)+" cycles: checksum="+p(c.ba.Yg))}a.ba.Hf-=s;0>=a.ba.Hf&&(a.ba.Hf+=a.ba.mk,a.yf());a.ba.Gf-=s;0>=a.ba.Gf&&(a.ba.Gf+=a.ba.lk,a.Qe());a.ba.If-=s;if(0>=a.ba.If){a.ba.If+=a.ba.ni;break}}while(a.ma.Hb)}catch(D){B(a); -a.yf();a.Qe();a.Ta&&a.Ta.stop(ia(),C(a));Oa(a,!1);Qa(a,D.message);return}d=setTimeout;e=a.xn;a.ba.se=ia();f=a.ba.ik;a.ba.Jf&&(f=Math.round(f*a.ba.Jf/a.ba.ni));f-=a.ba.se-a.ba.Wg;if(g=a.ba.se-a.ba.af)a.ba.Md=Math.round(a.Sd/(10*g))/100,864E5<=g&&(a.ve=0,a.la&&yb(a.la,!0),tb(a));if(0>f||a.ba.Md=this.Nf?12:14;this.Hc=1<>2;this.Wa=this.Hc-1;this.Jg=(this.Lh+this.Hc)/this.Hc|0;this.rd=this.Jg-1;this.ug=[];this.vg=[];this.ri();z(this)}v(u,Wa);k=Wa.prototype;k.ri=function(){this.Ca=Array(this.Jg);for(var a=0;a>a.Cb;0>this.Cb;0>a.Cb;0>this.Cb].oc(a&this.Wa)};function bb(a,b){return a.Ca[(b&a.sa)>>a.Cb].tj(b&a.Wa)} +k.ra=function(a){var b=a&this.Wa;a=(a&this.sa)>>this.Cb;return b!=this.Wa?this.Ca[a].Cl(b):this.Ca[a++].oc(b)|this.Ca[a&this.rd].oc(0)<<8};function cb(a,b){var c=b&a.Wa,d=(b&a.sa)>>a.Cb;return c!=a.Wa?a.Ca[d].Ho(c):a.Ca[d++].tj(c)|a.Ca[d&a.rd].tj(0)<<8}k.Ie=function(a,b){this.Ca[(a&this.sa)>>this.Cb].qc(a&this.Wa,b&255)};k.Sa=function(a,b){var c=a&this.Wa,d=(a&this.sa)>>this.Cb;c!=this.Wa?this.Ca[d].Ql(c,b&65535):(this.Ca[d++].qc(c,b&255),this.Ca[d&this.rd].qc(0,b>>8&255))}; +function db(a,b,c){var d=b&a.Wa;b=(b&a.sa)>>a.Cb;d!=a.Wa?a.Ca[b].To(d,c&65535):(a.Ca[b++].Bj(d,c&255),a.Ca[b&a.rd].Bj(0,c>>8&255))}function eb(a){for(var b=0,c=[],d=0;d>2);for(d=0;d>2]>>>((a&3)<<3)&255},function(a){var b=a>>2;a=(a&3)<<3;var c=this.ta[b]>>>a;return 24>a?c&65535:c&255|(this.ta[b+1]&255)<<8},function(a,b){var c=a>>2,d=(a&3)<<3;this.ta[c]=this.ta[c]&~(255<>2,d=(a&3)<<3;24>d?this.ta[c]=this.ta[c]&~(65535<>8);this.rb=!0}]; +Xa.prototype={save:function(){return this.ga?null:this.ta},restore:function(a){return this.ga?null==a:a&&this.am==a.length<<2?(this.ta=a,this.rb=!0):!1},He:function(a,b){a||(a=[]);void 0===b&&(b=!0);var c=a;this.oc=c[0]||kb;this.Cl=c[1]||kb;b&&(this.tj=c[0]||kb,this.Ho=c[1]||kb);c=a;this.qc=!this.gk&&c[2]||lb;this.Ql=!this.gk&&c[3]||lb;b&&(this.Bj=c[2]||lb,this.To=c[3]||lb)}}; +function mb(a,b){u.call(this,"CPU",a,mb);var c=a.cycles||b,d=a.multiplier||1;this.da={};this.da.gd=c;this.da.Wd=d;this.da.eh=Math.round(this.da.gd/1E4)/100;this.da.jf=this.da.eh*this.da.Wd;this.oa.Ub=!1;this.oa.Mb=!1;this.oa.jk=!1;this.oa.ai=a.autoStart;this.oa.bk=!1;c=Fa.autostart;void 0!==c&&(this.oa.ai="true"==c?!0:"false"==c?!1:null);this.oa.Tg=!1;this.da.ih=this.da.lf=0;this.da.jh=a.csStart;this.da.Of=a.csInterval;this.da.Pf=a.csStop;var e=this;this.In=function(){nb(e)};z(this)}v(u,mb);k=mb.prototype; +k.Bc=function(a,b,c,d){this.ua=b;this.$a=d;this.Xa=a;var e=Ua(a,"Video");e&&(this.If=function(){ob(e)},this.md=function(){e.md()});this.na=Ua(a,"ChipSet");z(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.fc=function(a,b){if(!b){if(a&&this.restore){pb(this);if(!this.restore(a))return!1;qb(this)}else this.reset();this.nc("No debugger detected")}this.oa.Ub=!0;!rb(this)&&this.$a&&this.$a.lq();this.If();this.Ze();return!0}; +k.ec=function(a){this.oa.Ub=!1;return a&&this.save?this.save():!0};function rb(a){return!0===a.oa.ai||null===a.oa.ai&&void 0===a.va.run?(nb(a),!0):!1}k.mk=function(){return 0};function qb(a){void 0===a.da.jh&&(a.da.jh=0);void 0===a.da.Of&&(a.da.Of=-1);void 0===a.da.Pf&&(a.da.Pf=-1);a.oa.Tg=0<=a.da.jh&&0c&&(c=60);2>c&&(c=2);var d=1;b&&1a.da.eh&&(c=Math.round(c/a.da.Wd));return c}function pb(a){a.da.Ud=0;a.Ee=a.$d=a.fd=a.A=0;qb(a);ub(a,1)} +function ub(a,b,c){if(void 0!==b){0.8>a.da.Ud/a.da.jf&&(b=1);a.da.Wd=b;b=a.da.eh*a.da.Wd;if(a.da.jf!=b){a.da.jf=b;b=a.da.jf.toFixed(2)+"Mhz";var d=a.va.setSpeed;d&&(d.textContent=b);a.nc("target speed: "+b)}c&&a.md()}wb(a,a.$d);a.$d=0;a.da.kf=ia();a.da.Be=0;xb(a)} +function nb(a,b){if(Oa(a,!0)){if(!a.oa.Mb){ub(a);a.Xa&&a.Xa.start(a.da.kf,D(a));a.oa.Mb=!0;a.oa.jk=!0;a.na&&yb(a.na);var c=a.va.run;c&&(c.textContent="Halt");a.Ze(!0);b&&a.md()}a.da.zi>=a.da.gd&&xb(a,!0);a.da.Tf=0;a.da.gh=ia();a.da.Be&&(c=a.da.gh-a.da.Be,c>a.da.tk&&(a.da.kf+=c,a.da.kf>a.da.gh&&(a.da.kf=a.da.gh)));try{do{var d=a.oa.Tg?1:a.da.Dn;if(a.na){zb(a.na);var e=a.na,c=d,f=e.Pb[0];if(f.ye){var g=(D(e.ma,e.Rd)-f.Ad)/e.qh|0,h=Ab(e,0)-g;6==f.mode&&(h-=g);var m=h*e.qh|0;6==f.mode&&(m>>=1);c>m&&(c= +m)}var d=c,n=a.na,c=d;if(n.la&&n.la[11]&64){var r=n.nf-D(n.ma,n.Rd);0r&&(c=r)}d=c}a.Nl(d);var t=a.fd-a.A;a.$d+=t;a.da.Tf+=t;wb(a,0,!0);var c=a,s=t;if(c.oa.Tg){var w=!1;c.da.ih=c.da.ih+c.mk()|0;c.da.lf-=s;0>=c.da.lf&&(c.da.lf+=c.da.Of,w=!0);0<=c.da.Pf&&c.da.Pf<=D(c)&&(c.da.Of=c.da.Pf=-1,qb(c),B(c),w=!0);w&&c.nc(D(c)+" cycles: checksum="+p(c.da.ih))}a.da.Rf-=t;0>=a.da.Rf&&(a.da.Rf+=a.da.xk,a.If());a.da.Qf-=t;0>=a.da.Qf&&(a.da.Qf+=a.da.wk,a.Ze());a.da.Sf-=t;if(0>=a.da.Sf){a.da.Sf+=a.da.yi;break}}while(a.oa.Mb)}catch(C){B(a); +a.If();a.Ze();a.Xa&&a.Xa.stop(ia(),D(a));Oa(a,!1);Qa(a,C.message);return}d=setTimeout;e=a.In;a.da.Be=ia();f=a.da.tk;a.da.Tf&&(f=Math.round(f*a.da.Tf/a.da.yi));f-=a.da.Be-a.da.gh;if(g=a.da.Be-a.da.kf)a.da.Ud=Math.round(a.$d/(10*g))/100,864E5<=g&&(a.Ee=0,a.na&&zb(a.na,!0),ub(a));if(0>f||a.da.Udthis.Rc?this.La+a:Nb.call(this,0,0,c)}function Nb(a,b,c){c||E.call(this.ka,13,0);return-4} -function Pb(a,b,c){return a+b<=this.Rc?this.La+a:Qb.call(this,0,0,c)}function Sb(a,b,c){return a+b>this.Rc?this.La+a:Qb.call(this,0,0,c)}function Qb(a,b,c){c||E.call(this.ka,13,0);return-4} -function Tb(a,b){var c=this.ka,d=c.kb.La,e=this.$a,f=c.kb.Ba;if(!b){if(768!=c.kb.type)return E.call(c,10,a,!0),!1;c.Oa(c.kb.yd+4,c.kb.lb&-769|256)}if(-4==c.kb.load(a))return!1;var g=c.kb.La;if(b){if(768==c.kb.type)return E.call(c,13,a,!0),!1;c.Oa(c.kb.yd+4,c.kb.lb|=768);c.kb.type=768}c.Oa(d+14,c.ua);c.Oa(d+16,Ub(c));c.Oa(d+18,c.H);c.Oa(d+20,c.J);c.Oa(d+22,c.K);c.Oa(d+24,c.C);c.Oa(d+26,c.X);c.Oa(d+28,c.I);c.Oa(d+30,c.G);c.Oa(d+32,c.F);c.Oa(d+34,c.Ua.Ba);c.Oa(d+36,c.ya.Ba);c.Oa(d+38,c.jb.Ba);c.Oa(d+ -40,c.tb.Ba);var d=38,h=26;Vb(c,c.pa(g+16)|(b?16384:0));c.H=c.pa(g+18);c.J=c.pa(g+20);c.K=c.pa(g+22);c.C=c.pa(g+24);c.I=c.pa(g+28);c.G=c.pa(g+30);c.F=c.pa(g+32);c.Ua.load(c.pa(g+34));c.tb.load(c.pa(g+40));Wb(c,c.pa(g+14),c.pa(g+36));this.$a>13;if(6144<=h){w=c&3;if(w>a.$a){if(!1!==n&&!(D==a.$a||g&1024&&D<=a.$a)){m=-4;break}s=e.Ja();e.jb.load(e.Ja());e.X=s;a.Qg=!0}s=!1}else if(1024==h)s=!0,t=-1,r=c,wh||2048==(h&2560))){d||E.call(e,13,c,!!g);m=-4;break}}else if(3==a.id){if(!n||4096>h||2048==(h&2560)){d|| -E.call(e,13,c,!0);m=-4;break}}else if(4==a.id){if(!n||256!=h&&768!=h){d||E.call(e,10,c,!0);m=-4;break}}else if(6==a.id&&!(g&4096)&&768>13}else a.load=Fb,a.hk=Ib,a.Dc=Kb,a.Yb=Lb,a.Rc=65535,a.$a=a.pc=0,a.yd=-4} -function Yb(a){this.Ia=a.model||8088;var b=0;switch(this.Ia){default:case 8088:b=4772727;break;case 80286:b=6E6}mb.call(this,a,b);this.wj=61442;this.hg=1792;this.gg=4;this.ef=255;this.B=80286<=this.Ia?Zb:$b;this.Va=ac.slice();this.Ml=bc.slice();this.Nl=cc.slice();this.zj=dc;80186<=this.Ia&&(this.ef=31,this.Va[15]=G,this.Va[96]=ec,this.Va[97]=fc,this.Va[98]=gc,this.Va[99]=G,this.Va[100]=G,this.Va[101]=G,this.Va[102]=G,this.Va[103]=G,this.Va[104]=hc,this.Va[105]=ic,this.Va[106]=jc,this.Va[107]=kc,this.Va[108]= -lc,this.Va[109]=mc,this.Va[110]=nc,this.Va[111]=oc,this.Va[192]=pc,this.Va[193]=qc,this.Va[200]=rc,this.Va[201]=sc,this.Va[241]=tc,this.Ml[7]=uc,this.Nl[7]=uc,80286<=this.Ia&&(this.wj=2,this.hg|=28672,this.gg=0,this.Va[15]=vc,this.Va[99]=wc,this.Va[84]=xc));this.jg=[];this.yj=[];this.Yc=this.Bg=0;this.ma.zf=this.ma.am=!1;this.za=[];this.be=this.xb=this.Sa=this.jd=0;this.T=this.hm;this.U=this.im;this.O=this.ln;this.P=this.mn;this.R=this.Do;this.S=this.Eo;yc(this)}v(mb,Yb); -var $b={dj:4,aa:5,ta:6,fa:7,ga:8,Q:9,V:11,W:12,te:4,ok:60,pk:83,Rb:3,vb:9,fc:16,dh:1,tk:19,vk:28,xk:16,wk:21,uk:37,rk:2,xi:9,sk:5,qk:33,zi:10,yi:8,Pf:3,Of:15,Lk:51,Mk:1,Nk:2,Ok:4,Kk:32,Ai:15,Qk:15,Sb:16,Tb:4,Sk:11,Rk:18,Pk:24,Eb:4,Tk:2,Bi:16,Uk:17,Gi:18,Vk:19,Fi:5,Hi:6,$k:2,Zk:8,Xk:9,Yk:10,Wk:10,Ii:10,Ji:10,zk:80,Bk:144,yk:86,Ak:154,Dk:101,Fk:165,Ck:107,Ek:171,bl:70,dl:113,al:76,cl:124,Hk:80,Jk:128,Gk:86,Ik:134,Rf:3,Qf:16,Oi:10,Ni:8,el:51,gc:8,fl:17,gl:36,qc:11,hl:16,Sf:10,Rd:2,ui:18,vi:7,wi:15,Ci:12, -Di:7,Ei:11,Ki:18,Li:7,Mi:15,Pi:15,Qi:7,Ri:13,Vi:11,Wi:7,Xi:8,il:8,ll:12,jl:18,kl:17,ml:15,Ti:8,Si:20,Ui:2,$i:3,Tf:9,Zi:5,Yi:11,bj:4,aj:17,nl:11},Zb={dj:0,aa:0,ta:0,fa:0,ga:0,Q:0,V:1,W:1,te:3,ok:14,pk:16,Rb:2,vb:7,fc:7,dh:0,tk:7,vk:13,xk:7,wk:11,uk:16,rk:3,xi:6,sk:2,qk:13,zi:5,yi:5,Pf:2,Of:7,Lk:23,Mk:0,Nk:1,Ok:3,Kk:17,Ai:7,Qk:11,Sb:7,Tb:3,Sk:7,Rk:11,Pk:15,Eb:2,Tk:3,Bi:7,Uk:8,Gi:8,Vk:8,Fi:4,Hi:4,$k:2,Zk:3,Xk:5,Yk:2,Wk:3,Ii:5,Ji:3,zk:14,Bk:22,yk:17,Ak:25,Dk:17,Fk:25,Ck:20,Ek:28,bl:13,dl:21,al:16,cl:24, -Hk:13,Jk:21,Gk:16,Ik:24,Rf:2,Qf:7,Oi:5,Ni:5,el:19,gc:5,fl:5,gl:17,qc:3,hl:5,Sf:3,Rd:0,ui:8,vi:5,wi:9,Ci:5,Di:5,Ei:4,Ki:5,Li:5,Mi:4,Pi:7,Qi:5,Ri:8,Vi:3,Wi:4,Xi:3,il:11,ll:11,jl:15,kl:15,ml:7,Ti:5,Si:8,Ui:0,$i:2,Tf:6,Zi:3,Yi:6,bj:3,aj:5,nl:5};k=Yb.prototype;k.gi=function(a,b,c,d,e){this.za=a;this.be=b;this.xb=c;this.Sa=d;this.jd=e};k.reset=function(){this.ma.Hb&&B(this);yc(this);pb(this);this.ma.Wc=!1}; -function yc(a){a.H=0;a.C=0;a.J=0;a.K=0;a.X=0;a.I=0;a.G=0;a.F=0;a.kc=65520;a.Lc=0;a.Le=1023;a.cf=0;a.bh=-1;a.ya=new Cb(a,Db,"CS");a.tb=new Cb(a,2,"DS");a.Ua=new Cb(a,2,"ES");a.jb=new Cb(a,3,"SS");a.Al=new Cb(a,0,"NULL");Wb(a,0,65535);80286<=a.Ia&&(a.Kc=0,a.Ke=65535,a.Xd=new Cb(a,5,"LDT",!0),a.kb=new Cb(a,4,"TSS",!0),a.Ib=new Cb(a,6,"VER",!0),Wb(a,65520,61440),a.ya.La=16711680);Vb(a,0);zc(a);a.ob=0;a.Fb=a.$f=-1;a.ug=0;a.ha=a.Ka=-4;a.D=a.tb;a.N=a.jb;a.Z=a.wa=0} -k.bk=function(){var a=this.H+this.C+this.J+this.K+this.X+this.I+this.G+this.F|0;return a=a+this.ua+this.ya.Ba+this.tb.Ba+this.jb.Ba+this.Ua.Ba+Ub(this)|0};function Ac(a,b,c,d){void 0!==d&&(void 0===a.jg[b]&&(a.jg[b]=[]),a.jg[b].push([c,d]))}function Dc(a,b){var c=a.yj[b];null!=c&&(c(--a.Bg),delete a.yj[b])}function zc(a,b){void 0===b&&(b=!!(a.kc&1));b||a.hc("returning to real-mode");a.zj=b?Ec:dc;Eb(a.ya,b);Eb(a.tb,b);Eb(a.jb,b);Eb(a.Ua,b)} -k.save=function(){var a=new H(this);a.set(0,[this.H,this.C,this.J,this.K,this.X,this.I,this.G,this.F,this.cf]);a.set(1,[this.ua,this.ya.save(),this.tb.save(),this.jb.save(),this.Ua.save(),null!=this.Kc?[this.kc,this.Kc,this.Ke,this.Lc,this.Le,this.Xd.save(),this.kb.save(),this.cf]:null,Ub(this)]);a.set(2,[this.D.ph,this.N.ph,this.Z,this.wa,this.ob,this.ha,this.Ka]);a.set(3,[0,this.ve,this.ba.Od]);a.set(4,eb(this.ra));return a.data()}; -k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.J=b[2];this.K=b[3];this.X=b[4];this.I=b[5];this.G=b[6];this.F=b[7];this.cf=b[8]||0;b=a[1];this.ya.restore(b[1]);this.tb.restore(b[2]);this.jb.restore(b[3]);this.Ua.restore(b[4]);var c=b[5];c&&c.length&&(this.kc=c[0],this.Kc=c[1],this.Ke=c[2],this.Lc=c[3],this.Le=c[4],this.Xd.restore(c[5]),this.kb.restore(c[6]),this.cf=c[7],zc(this));Vb(this,b[6]);I(this,b[0]);b=a[2];this.D=null!=b[0]&&Fc(this,b[0])||this.tb;this.N=null!=b[1]&&Fc(this, -b[1])||this.jb;this.Z=b[2];this.wa=b[3];this.ob=b[4];this.ha=b[5];this.Ka=b[6];b=a[3];this.ve=b[1];tb(this,b[2]);a:{b=this.ra;a=a[4];for(c=0;c>1?128:0}function Pc(a){return(a.ia^a.na^a.ia>>1)&a.ca>>1?2048:0}function Qc(a){a.Y&=~a.ca}function Rc(a){a.na=a.ia&16|a.na&-17}function Sc(a){a.Y|=a.ca-1}function Tc(a){a.ia&=~a.ca;a.na=a.ia&32896|a.na&-32897}function Uc(a){a.Y|=a.ca} -function Vc(a){a.na=~(a.ia&16)&16|a.na&-17}function Wc(a){a.Y&=~(a.ca-1)}function Xc(a){Oc(a)||(a.ia^=a.ca>>1|a.ca>>2,a.na^=32896)}function Yc(a){a.ia|=a.ca;a.na=a.ia&32896|a.na&-32897}function Ub(a){return a.Ea&-2262|Kc(a)|Lc(a)|Mc(a)|Nc(a)|Oc(a)|Pc(a)} -function Vb(a,b,c){a.ca=256;a.Y=a.ia=a.na=0;b&1&&Uc(a);b&4||(a.ia|=1);b&16&&(a.na|=16);b&64||Sc(a);b&128&&Xc(a);b&2048&&Yc(a);a.kc&1||(b&=-61441);void 0===c&&(c=a.ya.$a);c?b=b&-12289|a.Ea&12288:a.cf=(b&12288)>>12;c>a.cf&&(b=b&-513|a.Ea&512);a.Ea=a.Ea&~a.hg|b&a.hg|a.wj;a.Ea&256&&(a.ob|=2,a.Z|=4)} -k.Gb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.sa[b]=c;d=!0;break;default:d=mb.prototype.Gb.call(this,a,b,c)}return d};k.pd=function(a){return this.za[(a&this.be)>>this.xb].jc(a&this.Sa)}; -k.pa=function(a){var b=a&this.Sa;a=(a&this.be)>>this.xb;this.A-=this.B.dj;return b!=this.Sa?this.za[a].rl(b):this.za[a++].jc(b)|this.za[a&this.jd].jc(0)<<8};k.ze=function(a,b){this.za[(a&this.be)>>this.xb].lc(a&this.Sa,b&255)};k.Oa=function(a,b){var c=a&this.Sa,d=(a&this.be)>>this.xb;this.A-=this.B.dj;c!=this.Sa?this.za[d].Fl(c,b&65535):(this.za[d++].lc(c,b&255),this.za[d&this.jd].lc(0,b>>8&255))};k.hm=function(a,b){this.cg=a;this.ha=a.Dc(this.Wf=b,0);return this.Z&1?0:this.pd(this.ha)}; -k.im=function(a,b){this.cg=a;this.ha=a.Dc(this.Wf=b,1);return this.Z&1?0:this.pa(this.ha)};k.ln=function(a,b){this.cg=a;this.Ka=this.ha=a.Dc(this.Wf=b,0);return this.Z&1?0:this.pd(this.ha)};k.mn=function(a,b){this.cg=a;this.Ka=this.ha=a.Dc(this.Wf=b,1);return this.Z&1?0:this.pa(this.ha)};k.Do=function(a){this.Z&2||this.ze(this.cg.Yb(this.Wf,0),a)};k.Eo=function(a){this.Z&2||this.Oa(this.cg.Yb(this.Wf,1),a)};k.da=function(){var a=this.pd(this.Da);this.Da=this.ya.La+(this.ua=this.ua+1&65535);return a}; -k.M=function(){var a=this.pd(this.Da)<<24>>24;this.Da=this.ya.La+(this.ua=this.ua+1&65535);return a&65535};k.L=function(){var a=this.pa(this.Da);this.Da=this.ya.La+(this.ua=this.ua+2&65535);return a};k.Ja=function(){var a=this.X;this.X=this.X+2&65535;return this.pa(this.jb.Dc(a,1))};function F(a,b){var c=a.X=a.X-2&65535;a.Oa(a.jb.Yb(c,1),b)} -k.Qe=function(a){if(a||!this.ma.Hb||this.ma.Rj)A(this,"AX",this.H),A(this,"BX",this.C),A(this,"CX",this.J),A(this,"DX",this.K),A(this,"SP",this.X),A(this,"BP",this.I),A(this,"SI",this.G),A(this,"DI",this.F),A(this,"CS",this.ya.Ba),A(this,"DS",this.tb.Ba),A(this,"SS",this.jb.Ba),A(this,"ES",this.Ua.Ba),A(this,"IP",this.ua),a=Ub(this),A(this,"PS",a),A(this,"C",a&1?1:0,1),A(this,"P",a&4?1:0,1),A(this,"A",a&16?1:0,1),A(this,"Z",a&64?1:0,1),A(this,"S",a&128?1:0,1),A(this,"T",a&256?1:0,1),A(this,"I",a& -512?1:0,1),A(this,"D",a&1024?1:0,1),A(this,"V",a&2048?1:0,1);if(a=this.sa.speed)a.textContent=this.ma.Hb&&this.ba.Md?this.ba.Md.toFixed(2)+"Mhz":"Stopped"}; -k.Cl=function(a){this.ma.zf=!0;this.ma.am=!1;this.ma.Zj=!1;this.Yc=this.A=a;this.la&&!a&&yb(this.la);a||(this.Z|=4);do{if(a=this.Z&240)this.wa|=a;else if(this.Xf=this.Da,this.ha=this.Ka=-4,this.D=this.tb,this.N=this.jb,this.wa=this.Z&256,this.ob){a:{if(!(this.Z&4))if(this.ob&1&&this.Ea&512){if(a=Zc(this.la),-1<=a&&(this.ob&=-2,0<=a)){this.ob&=-5;$c.call(this,a,null,11);break a}}else if(this.ob&2){this.ob&=-3;$c.call(this,1,null,11);break a}if(a=this.ob&8){a=this.la;for(var b=!1,c=0;cthis.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return(this.Y=this.ia=a+b)&255} -function cd(a,b){this.ca=256;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return(this.Y=this.ia=this.na=a|b)&255}function dd(a,b){this.na=a^b;this.Y=this.ia=a+b+(this.Y&this.ca?1:0);this.ca=256;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return this.Y&255}function ed(a,b){this.na=a^b;this.Y=this.ia=a-b-(this.Y&this.ca?1:0);this.ca=256;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return this.Y&255} -function fd(a,b){this.ca=256;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return(this.Y=this.ia=this.na=a&b)&255}function gd(a,b){this.na=a^b;this.ca=256;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return(this.Y=this.ia=a-b)&255}function hd(a,b){this.ca=256;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return(this.Y=this.ia=this.na=a^b)&255} -function id(a,b){this.na=a^b;this.ca=256;this.Y=this.ia=a-b;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.xi:this.B.vb;this.Z|=2;return a}function jd(a,b){this.na=a^b;this.ca=65536;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return(this.Y=this.ia=a+b)&65535}function kd(a,b){this.ca=65536;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return(this.Y=this.ia=this.na=a|b)&65535} -function ld(a,b){this.na=a^b;this.Y=this.ia=a+b+(this.Y&this.ca?1:0);this.ca=65536;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return this.Y&65535}function md(a,b){this.na=a^b;this.Y=this.ia=a-b-(this.Y&this.ca?1:0);this.ca=65536;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return this.Y&65535}function nd(a,b){this.ca=65536;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return(this.Y=this.ia=this.na=a&b)&65535} -function od(a,b){this.na=a^b;this.ca=65536;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return(this.Y=this.ia=a-b)&65535}function pd(a,b){this.ca=65536;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.vb:this.B.fc;return(this.Y=this.ia=this.na=a^b)&65535}function qd(a,b){this.na=a^b;this.ca=65536;this.Y=this.ia=a-b;this.A-=0>this.Ka?0>this.ha?this.B.Rb:this.B.xi:this.B.vb;this.Z|=2;return a}function rd(a,b){this.Y=this.Y&this.ca-1|(a&b?this.ca:0);(a^a>>1)&b>>1?Yc(this):Tc(this)} -function sd(){this.A-=0>this.ha?2:this.B.ml;return 1}function td(){var a=this.J&this.ef;this.A-=(0>this.ha?this.B.Ti:this.B.Si)+(a<this.ha?this.B.Ti:this.B.Si)+(a<this.Ka?this.B.gc:this.B.fl;return b},wd,wd,wd,wd,wd,wd,wd],Cd=[function(a,b){this.A-=0>this.Ka?this.B.Yk:this.B.Wk;return b},K,K,K,K,K,K,K],Dd=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;rd.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);rd.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.ef)%9)?(d=a<< -d|(this.Y&this.ca?1:0)<>9-d,c=d&255):d=a|(this.Y&this.ca?1:0)<<8;rd.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.ef)%9,c=a>>c|(this.Y&this.ca?1:0)<<8-c|a<<9-c,rd.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|256:this.Y&-257;this.na=a^this.Y;this.ca=256;a=this.Y}return a&255},K,function(a,b){if(b){8>24>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|256:this.Y&-257;this.na=a^this.Y;this.ca=256;a=this.Y}return a&255}],Ed=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;rd.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);rd.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.ef)%17)?(d=a<>17-d,c=d&65535):d=a|(this.Y&this.ca?1:0)<<16;rd.call(this, -d,65536)}return c},function(a,b){var c=a;b&&(c=(b&this.ef)%17,c=a>>c|(this.Y&this.ca?1:0)<<16-c|a<<17-c,rd.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y|65536:this.Y&-65537;this.na=a^this.Y;this.ca=65536;a=this.Y}return a&65535},K,function(a,b){if(b){16>16>>b-1;this.Y=this.ia=c>>1;this.Y=c&1?this.Y| -65536:this.Y&-65537;this.na=a^this.Y;this.ca=65536;a=this.Y}return a&65535}],Gd=[function(a,b){b=this.da();this.Y=this.ia=this.na=a&b;this.ca=256;this.A-=0>this.ha?this.B.Zi:this.B.Yi;this.Z|=2;return a},K,function(a){this.A-=0>this.ha?this.B.Rf:this.B.Qf;return a^255},function(a,b){b=0;this.na=a^b;this.ca=256;this.A-=0>this.ha?this.B.Rf:this.B.Qf;return(this.Y=this.ia=b-a)&255},function(a){this.H=this.Fb=(this.Y=(this.H&255)*a)&65535;this.na=this.ia=this.Y;this.ca=256;this.H&65280?(Uc(this),Yc(this)): -(Qc(this),Tc(this));this.A-=0>this.ha?this.B.bl:this.B.al;this.Z|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Fb=b&65535;this.Y=this.na=this.ia=b;this.ca=256;127b?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.Hk:this.B.Gk;this.Z|=2;return a},function(a){if(!a)return Fd.call(this),a;var b=this.H/a;if(255this.ha?this.B.zk:this.B.yk; -this.Z|=2;return a},function(a){if(!a)return Fd.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Fd.call(this),a;this.Fb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ia=this.na=this.Y=b|256;this.ca=256;this.A-=0>this.ha?this.B.Dk:this.B.Ck;this.Z|=2;return a}],Hd=[function(a,b){b=this.L();this.Y=this.ia=this.na=a&b;this.ca=65536;this.A-=0>this.ha?this.B.Zi:this.B.Yi;this.Z|=2;return a},K,function(a){this.A-=0>this.ha?this.B.Rf:this.B.Qf;return a^65535},function(a, -b){b=0;this.na=a^b;this.ca=65536;this.A-=0>this.ha?this.B.Rf:this.B.Qf;return(this.Y=this.ia=b-a)&65535},function(a){this.Fb=this.H=(this.Y=this.H*a)&65535;this.$f=this.K=this.Y>>16&65535;this.na=this.ia=this.Y;this.ca=65536;this.K?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?this.B.dl:this.B.cl;this.Z|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Fb=b&65535;this.K=this.$f=b>>16&65535;this.Y=this.na=this.ia=b;this.ca=65536;32767b?(Uc(this),Yc(this)): -(Qc(this),Tc(this));this.A-=0>this.ha?this.B.Jk:this.B.Ik;this.Z|=2;return a},function(a,b){if(!a)return Fd.call(this),a;b=this.H+65536*this.K;var c=Math.floor(b/a);if(65536<=c)return Fd.call(this),a;this.Fb=this.H=c&65535;this.$f=this.K=b%a&65535;this.ia=this.na=this.Y=c|65536;this.ca=65536;this.A-=0>this.ha?this.B.Bk:this.B.Ak;this.Z|=2;return a},function(a,b){if(!a)return Fd.call(this),a;var c=a<<16>>16;b=this.K<<16|this.H;var d=Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Fd.call(this),a;this.Fb= -this.H=d&65535;this.$f=this.K=b%c&65535;this.ia=this.na=this.Y=d|65536;this.ca=65536;this.A-=0>this.ha?this.B.Fk:this.B.Ek;this.Z|=2;return a}],bc=[function(a){this.na=a;a=(this.ia=a+1)&255;this.Y=a|(this.Y&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Pf:this.B.Of;return a},function(a){this.na=a;a=(this.ia=a-1)&255;this.Y=a|(this.Y&this.ca?1:0)<<8;this.ca=256;this.A-=0>this.ha?this.B.Pf:this.B.Of;return a},K,K,K,K,K,K],cc=[function(a){this.na=a;a=(this.ia=a+1)&65535;this.Y=a|(this.Y&this.ca? -1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Pf:this.B.Of;return a},function(a){this.na=a;a=(this.ia=a-1)&65535;this.Y=a|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=0>this.ha?this.B.Pf:this.B.Of;return a},function(a){F(this,this.ua);I(this,a);this.A-=0>this.ha?this.B.xk:this.B.wk;this.Z|=2;return a},function(a){if(0>this.ha)return K.call(this,a);Id.call(this,a,this.pa(this.ha+2));this.A-=this.B.uk;this.Z|=2;return a},function(a){I(this,a);this.A-=0>this.ha?this.B.Sk:this.B.Rk;this.Z|=2;return a}, -function(a){if(0>this.ha)return K.call(this,a);Wb(this,a,this.pa(this.ha+2));this.Bg&&Dc(this,this.Da);this.A-=this.B.Pk;this.Z|=2;return a},function(a){var b=a;this.Z&512&&(a=a-2&65535,80286>this.Ia&&(b=a));F(this,b);this.A-=0>this.ha?this.B.qc:this.B.hl;this.Z|=2;return a},wd];function Jd(a,b){this.A-=0>this.Ka?0>this.ha?this.B.$k:this.B.Zk:this.B.Xk;return b}function Kd(){return Jd.call(this,0,this.Fb)} -function Ld(a,b){this.Y=this.ia=this.na=a&b;this.ca=256;this.A-=0>this.Ka?0>this.ha?this.B.$i:this.B.Tf:this.B.Tf;this.Z|=2;return a}function Md(a,b){this.Y=this.ia=this.na=a&b;this.ca=65536;this.A-=0>this.Ka?0>this.ha?this.B.$i:this.B.Tf:this.B.Tf;this.Z|=2;return a}function Nd(a,b){var c=(b<<16>>16)*(this.da()<<24>>24);this.Y=this.na=this.ia=c;this.ca=256;32767c?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?21:24;return c&65535} -function Od(a,b){var c=(b<<16>>16)*(this.L()<<16>>16);this.Y=this.na=this.ia=c;this.ca=65536;32767c?(Uc(this),Yc(this)):(Qc(this),Tc(this));this.A-=0>this.ha?21:24;return c&65535}function Pd(a){return a}function Qd(a){if(0>this.ha)return M.call(this),a;this.A-=this.B.Tk;return this.ha}function Rd(a,b){if(0>this.ha)return M.call(this),a;Hc(this,this.pa(this.ha+2));this.A-=this.B.Bi;return b} -function Sd(a,b){if(0>this.ha)return M.call(this),a;Jc(this,this.pa(this.ha+2));this.A-=this.B.Bi;return b}function Td(a){if(0>this.ha)return G.call(this),a;var b=a<<16>>16,c=this.pa(this.ha)<<16>>16,d=this.pa(this.ha+2)<<16>>16;this.A-=this.B.qk;if(bd)I(this,this.Xf-this.ya.La),$c.call(this,5,null,0);this.Z|=2;return a}function Ud(a,b){this.A-=10+(0>this.ha?0:1);if((a&3)<(b&3))return a=a&-4|b&3,Wc(this),a;Sc(this);return a} -function Vd(a,b){this.A-=14+(0>this.ha?0:2);if(-4!=this.Ib.load(b,!0)&&this.Ib.pc>=this.ya.$a&&this.Ib.pc>=(b&3))return Wc(this),this.Ib.lb&65280;Sc(this);return a}function Wd(a,b){this.A-=14+(0>this.ha?0:2);if(b&65528&&-4!=this.Ib.load(b,!0)&&(7168==(this.Ib.lb&7168)||this.Ib.pc>=this.ya.$a)&&this.Ib.pc>=(b&3))return Wc(this),this.Ib.Rc;Sc(this);return a} -function Xd(a,b){if(0>this.ha){switch(this.ug&7){case 0:this.H=this.H&-256|a;break;case 1:this.J=this.J&-256|a;break;case 2:this.K=this.K&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.J=this.J&255|a<<8;break;case 6:this.K=this.K&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.bj}else this.Ka=this.ha,this.R(a),this.A-=this.B.aj;return b} -function Yd(a,b){if(0>this.ha){switch(this.ug&7){case 0:this.H=a;break;case 1:this.J=a;break;case 2:this.K=a;break;case 3:this.C=a;break;case 4:this.X=a;break;case 5:this.I=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.bj}else this.Ka=this.ha,this.S(a),this.A-=this.B.aj;return b}function Zd(a){a|=this.kc&1;this.kc=this.kc&65520|a&-65521;this.kc&1&&zc(this,!0)}function Id(a,b){var c=this.ya.Ba,d=this.ua;null!=Wb(this,a,b,!0)&&(F(this,c),F(this,d))} -function $d(a){var b=this.Ja(),c=this.Ja();a&&(this.X=this.X+a&65535);Wb(this,b,c,!1)&&(a&&(this.X=this.X+a&65535),this.tb.Ba&65528&&this.tb.pcthis.bh)I(this,this.Xf-this.ya.La),d=!0;else if(8!=this.bh)b=0,a=8,d=!0;else{ae.call(this,-1,0,c);yc(this);return}ae.call(this,a,b,c)&&(d=!1);d&&$c.call(this,this.bh=a,b,0);this.Z&=-4}else this.hc("Fault "+ca(a)+" blocked by Debugger",536870912),I(this,this.Xf-this.ya.La)} -function ae(a,b,c){var d=32,e=bb(this.ra,this.Da);204==e&&(c=!1,d|=1);983040<=this.Da&&1048575>=this.Da&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+ca(a)+(null!=b?" ("+p(b,4)+")":"")+" on opcode 0x"+ca(e)+" at "+da(this.ua,this.ya.Ba)+" (%"+p(this.Da,6)+")",b=this.ma.Hb,this.hc(a,d)?c&&(c=b,B(this.Wa)):(this.Aa(a),B(this)));return c}function G(){E.call(this,6);B(this)}function M(){I(this,this.Xf-this.ya.La);Qa(this,"Undefined opcode 0x"+ca(bb(this.ra,this.Da))+" at "+da(this.ua,this.ya.Ba));B(this)} -function be(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function ce(a){a=a.call(this,this.H&255,this.J&255);this.H=this.H&-256|a}function de(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function ee(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function fe(a){a=a.call(this,this.H&255,this.H>>8);this.H=this.H&-256|a}function ge(a){a=a.call(this,this.H&255,this.J>>8);this.H=this.H&-256|a} -function he(a){a=a.call(this,this.H&255,this.K>>8);this.H=this.H&-256|a}function ie(a){a=a.call(this,this.H&255,this.C>>8);this.H=this.H&-256|a}function je(a){a=a.call(this,this.J&255,this.H&255);this.J=this.J&-256|a}function ke(a){a=a.call(this,this.J&255,this.J&255);this.J=this.J&-256|a}function le(a){a=a.call(this,this.J&255,this.K&255);this.J=this.J&-256|a}function me(a){a=a.call(this,this.J&255,this.C&255);this.J=this.J&-256|a} -function ne(a){a=a.call(this,this.J&255,this.H>>8);this.J=this.J&-256|a}function oe(a){a=a.call(this,this.J&255,this.J>>8);this.J=this.J&-256|a}function pe(a){a=a.call(this,this.J&255,this.K>>8);this.J=this.J&-256|a}function qe(a){a=a.call(this,this.J&255,this.C>>8);this.J=this.J&-256|a}function re(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function se(a){a=a.call(this,this.K&255,this.J&255);this.K=this.K&-256|a} -function te(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function ue(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a}function ve(a){a=a.call(this,this.K&255,this.H>>8);this.K=this.K&-256|a}function we(a){a=a.call(this,this.K&255,this.J>>8);this.K=this.K&-256|a}function xe(a){a=a.call(this,this.K&255,this.K>>8);this.K=this.K&-256|a}function ye(a){a=a.call(this,this.K&255,this.C>>8);this.K=this.K&-256|a} -function ze(a){a=a.call(this,this.C&255,this.H&255);this.C=this.C&-256|a}function Ae(a){a=a.call(this,this.C&255,this.J&255);this.C=this.C&-256|a}function Be(a){a=a.call(this,this.C&255,this.K&255);this.C=this.C&-256|a}function Ce(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a}function De(a){a=a.call(this,this.C&255,this.H>>8);this.C=this.C&-256|a}function Ee(a){a=a.call(this,this.C&255,this.J>>8);this.C=this.C&-256|a} -function Fe(a){a=a.call(this,this.C&255,this.K>>8);this.C=this.C&-256|a}function Ge(a){a=a.call(this,this.C&255,this.C>>8);this.C=this.C&-256|a}function He(a){a=a.call(this,this.H>>8,this.H&255);this.H=this.H&255|a<<8}function Ie(a){a=a.call(this,this.H>>8,this.J&255);this.H=this.H&255|a<<8}function Je(a){a=a.call(this,this.H>>8,this.K&255);this.H=this.H&255|a<<8}function Ke(a){a=a.call(this,this.H>>8,this.C&255);this.H=this.H&255|a<<8} -function Le(a){a=a.call(this,this.H>>8,this.H>>8);this.H=this.H&255|a<<8}function Me(a){a=a.call(this,this.H>>8,this.J>>8);this.H=this.H&255|a<<8}function Ne(a){a=a.call(this,this.H>>8,this.K>>8);this.H=this.H&255|a<<8}function Oe(a){a=a.call(this,this.H>>8,this.C>>8);this.H=this.H&255|a<<8}function Pe(a){a=a.call(this,this.J>>8,this.H&255);this.J=this.J&255|a<<8}function Qe(a){a=a.call(this,this.J>>8,this.J&255);this.J=this.J&255|a<<8} -function Re(a){a=a.call(this,this.J>>8,this.K&255);this.J=this.J&255|a<<8}function Se(a){a=a.call(this,this.J>>8,this.C&255);this.J=this.J&255|a<<8}function Te(a){a=a.call(this,this.J>>8,this.H>>8);this.J=this.J&255|a<<8}function Ue(a){a=a.call(this,this.J>>8,this.J>>8);this.J=this.J&255|a<<8}function Ve(a){a=a.call(this,this.J>>8,this.K>>8);this.J=this.J&255|a<<8}function We(a){a=a.call(this,this.J>>8,this.C>>8);this.J=this.J&255|a<<8} -function Xe(a){a=a.call(this,this.K>>8,this.H&255);this.K=this.K&255|a<<8}function Ye(a){a=a.call(this,this.K>>8,this.J&255);this.K=this.K&255|a<<8}function Ze(a){a=a.call(this,this.K>>8,this.K&255);this.K=this.K&255|a<<8}function $e(a){a=a.call(this,this.K>>8,this.C&255);this.K=this.K&255|a<<8}function af(a){a=a.call(this,this.K>>8,this.H>>8);this.K=this.K&255|a<<8}function bf(a){a=a.call(this,this.K>>8,this.J>>8);this.K=this.K&255|a<<8} -function cf(a){a=a.call(this,this.K>>8,this.K>>8);this.K=this.K&255|a<<8}function df(a){a=a.call(this,this.K>>8,this.C>>8);this.K=this.K&255|a<<8}function ef(a){a=a.call(this,this.C>>8,this.H&255);this.C=this.C&255|a<<8}function ff(a){a=a.call(this,this.C>>8,this.J&255);this.C=this.C&255|a<<8}function gf(a){a=a.call(this,this.C>>8,this.K&255);this.C=this.C&255|a<<8}function hf(a){a=a.call(this,this.C>>8,this.C&255);this.C=this.C&255|a<<8} -function jf(a){a=a.call(this,this.C>>8,this.H>>8);this.C=this.C&255|a<<8}function kf(a){a=a.call(this,this.C>>8,this.J>>8);this.C=this.C&255|a<<8}function lf(a){a=a.call(this,this.C>>8,this.K>>8);this.C=this.C&255|a<<8}function mf(a){a=a.call(this,this.C>>8,this.C>>8);this.C=this.C&255|a<<8}function nf(a){this.H=a.call(this,this.H,this.H)}function of(a){this.H=a.call(this,this.H,this.J)}function pf(a){this.H=a.call(this,this.H,this.K)}function qf(a){this.H=a.call(this,this.H,this.C)} -function rf(a){this.H=a.call(this,this.H,this.X)}function sf(a){this.H=a.call(this,this.H,this.I)}function tf(a){this.H=a.call(this,this.H,this.G)}function uf(a){this.H=a.call(this,this.H,this.F)}function vf(a){this.J=a.call(this,this.J,this.H)}function wf(a){this.J=a.call(this,this.J,this.J)}function xf(a){this.J=a.call(this,this.J,this.K)}function yf(a){this.J=a.call(this,this.J,this.C)}function zf(a){this.J=a.call(this,this.J,this.X)}function Af(a){this.J=a.call(this,this.J,this.I)} -function Bf(a){this.J=a.call(this,this.J,this.G)}function Cf(a){this.J=a.call(this,this.J,this.F)}function Df(a){this.K=a.call(this,this.K,this.H)}function Ef(a){this.K=a.call(this,this.K,this.J)}function Ff(a){this.K=a.call(this,this.K,this.K)}function Gf(a){this.K=a.call(this,this.K,this.C)}function Hf(a){this.K=a.call(this,this.K,this.X)}function If(a){this.K=a.call(this,this.K,this.I)}function Jf(a){this.K=a.call(this,this.K,this.G)}function Kf(a){this.K=a.call(this,this.K,this.F)} -function Lf(a){this.C=a.call(this,this.C,this.H)}function Mf(a){this.C=a.call(this,this.C,this.J)}function Nf(a){this.C=a.call(this,this.C,this.K)}function Of(a){this.C=a.call(this,this.C,this.C)}function Pf(a){this.C=a.call(this,this.C,this.X)}function Qf(a){this.C=a.call(this,this.C,this.I)}function Rf(a){this.C=a.call(this,this.C,this.G)}function Sf(a){this.C=a.call(this,this.C,this.F)}function Tf(a){this.X=a.call(this,this.X,this.H)}function Uf(a){this.X=a.call(this,this.X,this.J)} -function Vf(a){this.X=a.call(this,this.X,this.K)}function Wf(a){this.X=a.call(this,this.X,this.C)}function Xf(a){this.X=a.call(this,this.X,this.X)}function Yf(a){this.X=a.call(this,this.X,this.I)}function Zf(a){this.X=a.call(this,this.X,this.G)}function $f(a){this.X=a.call(this,this.X,this.F)}function ag(a){this.I=a.call(this,this.I,this.H)}function bg(a){this.I=a.call(this,this.I,this.J)}function cg(a){this.I=a.call(this,this.I,this.K)}function dg(a){this.I=a.call(this,this.I,this.C)} -function eg(a){this.I=a.call(this,this.I,this.X)}function fg(a){this.I=a.call(this,this.I,this.I)}function gg(a){this.I=a.call(this,this.I,this.G)}function hg(a){this.I=a.call(this,this.I,this.F)}function ig(a){this.G=a.call(this,this.G,this.H)}function jg(a){this.G=a.call(this,this.G,this.J)}function kg(a){this.G=a.call(this,this.G,this.K)}function lg(a){this.G=a.call(this,this.G,this.C)}function mg(a){this.G=a.call(this,this.G,this.X)}function ng(a){this.G=a.call(this,this.G,this.I)} -function og(a){this.G=a.call(this,this.G,this.G)}function pg(a){this.G=a.call(this,this.G,this.F)}function qg(a){this.F=a.call(this,this.F,this.H)}function rg(a){this.F=a.call(this,this.F,this.J)}function sg(a){this.F=a.call(this,this.F,this.K)}function tg(a){this.F=a.call(this,this.F,this.C)}function ug(a){this.F=a.call(this,this.F,this.X)}function vg(a){this.F=a.call(this,this.F,this.I)}function wg(a){this.F=a.call(this,this.F,this.G)}function xg(a){this.F=a.call(this,this.F,this.F)} -var yg=[function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.H&255);this.R(a);this.A-=this.B.aa}, -function(a){a=a.call(this,this.O(this.D,this.F),this.H&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.H&255);this.R(a);this.A-=this.B.ta},function(a){a=a.call(this,this.O(this.D,this.C),this.H&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N, -this.I+this.G&65535),this.J&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.J&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.J&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.J&255);this.R(a);this.A-=this.B.ta},function(a){a=a.call(this,this.O(this.D,this.C),this.J&255);this.R(a); -this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.K&255);this.R(a);this.A-= -this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.K&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.K&255);this.R(a);this.A-=this.B.ta},function(a){a=a.call(this,this.O(this.D,this.C),this.K&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.C&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.C&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this, -this.O(this.N,this.I+this.G&65535),this.C&255);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.C&255);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.C&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.C&255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.C&255);this.R(a);this.A-=this.B.ta},function(a){a=a.call(this,this.O(this.D,this.C),this.C& -255);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.H>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.H>>8);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.H>>8);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.H>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.H>>8);this.R(a); -this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.H>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.H>>8);this.R(a);this.A-=this.B.ta},function(a){a=a.call(this,this.O(this.D,this.C),this.H>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.J>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.J>>8);this.R(a);this.A-=this.B.ga},function(a){a= -a.call(this,this.O(this.N,this.I+this.G&65535),this.J>>8);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.J>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.J>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.J>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.J>>8);this.R(a);this.A-=this.B.ta},function(a){a=a.call(this,this.O(this.D,this.C), -this.J>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.K>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.K>>8);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.G&65535),this.K>>8);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.K>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.K>>8); -this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.K>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.K>>8);this.R(a);this.A-=this.B.ta},function(a){a=a.call(this,this.O(this.D,this.C),this.K>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G&65535),this.C>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.C+this.F&65535),this.C>>8);this.R(a);this.A-=this.B.ga},function(a){a= -a.call(this,this.O(this.N,this.I+this.G&65535),this.C>>8);this.R(a);this.A-=this.B.ga},function(a){a=a.call(this,this.O(this.N,this.I+this.F&65535),this.C>>8);this.R(a);this.A-=this.B.fa},function(a){a=a.call(this,this.O(this.D,this.G),this.C>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.F),this.C>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.L()),this.C>>8);this.R(a);this.A-=this.B.ta},function(a){a=a.call(this,this.O(this.D,this.C), -this.C>>8);this.R(a);this.A-=this.B.aa},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this, -this.O(this.D,this.G+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.V},function(a){a= -a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.J&255);this.R(a); -this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()& -65535),this.K&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D, -this.C+this.M()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.V}, -function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.H>>8);this.R(a); -this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.H>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.H>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.H>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()& -65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N, -this.I+this.G+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this, -this.O(this.D,this.C+this.M()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.K>>8);this.R(a);this.A-= -this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.M()&65535),this.C>>8);this.R(a); -this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.M()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.M()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.M()&65535),this.C>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.M()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.M()& -65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.M()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.M()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N, -this.I+this.G+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a= -a.call(this,this.O(this.D,this.C+this.L()&65535),this.H&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.J&255); -this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.J&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()& -65535),this.K&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this, -this.O(this.D,this.F+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.K&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.W}, -function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C&255); -this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C&255);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+ -this.F+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.H>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D, -this.C+this.G+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a= -a.call(this,this.O(this.D,this.F+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.J>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W}, -function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.K>>8);this.R(a); -this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.K>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.C+this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.W},function(a){a=a.call(this,this.O(this.N,this.I+this.F+ -this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.V},function(a){a=a.call(this,this.O(this.D,this.G+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.F+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.N,this.I+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},function(a){a=a.call(this,this.O(this.D,this.C+this.L()&65535),this.C>>8);this.R(a);this.A-=this.B.Q},be,je,re,ze,He,Pe,Xe,ef,ce,ke,se,Ae,Ie, -Qe,Ye,ff,de,le,te,Be,Je,Re,Ze,gf,ee,me,ue,Ce,Ke,Se,$e,hf,fe,ne,ve,De,Le,Te,af,jf,ge,oe,we,Ee,Me,Ue,bf,kf,he,pe,xe,Fe,Ne,Ve,cf,lf,ie,qe,ye,Ge,Oe,We,df,mf],zg=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.H);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F& -65535),this.H);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.G),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.H);this.S(a);this.A-=this.B.ta},function(a){a=a.call(this,this.P(this.D,this.C),this.H);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.J);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this, -this.P(this.D,this.C+this.F&65535),this.J);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.J);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.J);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.G),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.J);this.S(a); -this.A-=this.B.ta},function(a){a=a.call(this,this.P(this.D,this.C),this.J);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.K);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.K);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.K);this.S(a);this.A-=this.B.fa},function(a){a= -a.call(this,this.P(this.D,this.G),this.K);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.K);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.K);this.S(a);this.A-=this.B.ta},function(a){a=a.call(this,this.P(this.D,this.C),this.K);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.C);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.C);this.S(a); -this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.C);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.C);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.G),this.C);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.C);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.C);this.S(a);this.A-=this.B.ta},function(a){a=a.call(this,this.P(this.D, -this.C),this.C);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.X);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.X);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.X);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.X);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.G),this.X);this.S(a); -this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.X);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.X);this.S(a);this.A-=this.B.ta},function(a){a=a.call(this,this.P(this.D,this.C),this.X);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.I);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.I);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N, -this.I+this.G&65535),this.I);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.I);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.G),this.I);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.I);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.I);this.S(a);this.A-=this.B.ta},function(a){a=a.call(this,this.P(this.D,this.C),this.I);this.S(a);this.A-=this.B.aa},function(a){a= -a.call(this,this.P(this.D,this.C+this.G&65535),this.G);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.G);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.G);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.G);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.G),this.G);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D, -this.F),this.G);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.G);this.S(a);this.A-=this.B.ta},function(a){a=a.call(this,this.P(this.D,this.C),this.G);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.F);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.F);this.S(a);this.A-=this.B.ga},function(a){a=a.call(this,this.P(this.N,this.I+this.G&65535),this.F);this.S(a);this.A-=this.B.ga}, -function(a){a=a.call(this,this.P(this.N,this.I+this.F&65535),this.F);this.S(a);this.A-=this.B.fa},function(a){a=a.call(this,this.P(this.D,this.G),this.F);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.F),this.F);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.L()),this.F);this.S(a);this.A-=this.B.ta},function(a){a=a.call(this,this.P(this.D,this.C),this.F);this.S(a);this.A-=this.B.aa},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()& -65535),this.H);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.H);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.H);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.H);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+ -this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.J);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.J);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N, -this.I+this.G+this.M()&65535),this.J);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.J);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D, -this.C+this.M()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.K);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.K);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.K);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.K);this.S(a);this.A-=this.B.V},function(a){a=a.call(this, -this.P(this.D,this.G+this.M()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.C);this.S(a);this.A-=this.B.V},function(a){a=a.call(this, -this.P(this.D,this.C+this.F+this.M()&65535),this.C);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.C);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.C);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a= -a.call(this,this.P(this.N,this.I+this.M()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.X);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.X);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.X);this.S(a);this.A-=this.B.W}, -function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.X);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.X);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.X);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.X);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.X);this.S(a);this.A-=this.B.Q}, -function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.I);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.I);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.I);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.I);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.I);this.S(a); -this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.G);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.G);this.S(a); -this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535),this.G);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.G);this.S(a); -this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.F);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.M()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.M()&65535), -this.F);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.M()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535), -this.H);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.H);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.H);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.H);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()& -65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.H);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.J);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.J);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+ -this.L()&65535),this.J);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.J);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+ -this.L()&65535),this.J);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.K);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.K);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.K);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.K);this.S(a);this.A-=this.B.V},function(a){a=a.call(this, -this.P(this.D,this.G+this.L()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.K);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.C);this.S(a);this.A-=this.B.V},function(a){a=a.call(this, -this.P(this.D,this.C+this.F+this.L()&65535),this.C);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.C);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.C);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a= -a.call(this,this.P(this.N,this.I+this.L()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.C);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.X);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.X);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.X);this.S(a);this.A-=this.B.W}, -function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.X);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.X);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.X);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.X);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.X);this.S(a);this.A-=this.B.Q}, -function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.I);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.I);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.I);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.I);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.I);this.S(a); -this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.I);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.G);this.S(a); -this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.G);this.S(a); -this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.G);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.W},function(a){a=a.call(this,this.P(this.N,this.I+this.F+this.L()&65535), -this.F);this.S(a);this.A-=this.B.V},function(a){a=a.call(this,this.P(this.D,this.G+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.F+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.N,this.I+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},function(a){a=a.call(this,this.P(this.D,this.C+this.L()&65535),this.F);this.S(a);this.A-=this.B.Q},nf,vf,Df,Lf,Tf,ag,ig,qg,of,wf,Ef,Mf,Uf,bg,jg,rg,pf,xf,Ff,Nf,Vf,cg,kg, -sg,qf,yf,Gf,Of,Wf,dg,lg,tg,rf,zf,Hf,Pf,Xf,eg,mg,ug,sf,Af,If,Qf,Yf,fg,ng,vg,tf,Bf,Jf,Rf,Zf,gg,og,wg,uf,Cf,Kf,Sf,$f,hg,pg,xg],Ag=[function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.H&255, -this.T(this.N,this.I+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.G));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.F));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.L()));this.H=this.H&-256|a;this.A-=this.B.ta},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C));this.H=this.H&-256|a;this.A-=this.B.aa},function(a){a=a.call(this, -this.J&255,this.T(this.D,this.C+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.G&65535));this.J=this.J&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.F&65535));this.J=this.J&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.G));this.J=this.J&-256| -a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.F));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.J&255,this.T(this.D,this.L()));this.J=this.J&-256|a;this.A-=this.B.ta},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C));this.J=this.J&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.F& -65535));this.K=this.K&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.K&255,this.T(this.N,this.I+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.K&255,this.T(this.N,this.I+this.F&65535));this.K=this.K&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.K&255,this.T(this.D,this.G));this.K=this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K&255,this.T(this.D,this.F));this.K=this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.K& -255,this.T(this.D,this.L()));this.K=this.K&-256|a;this.A-=this.B.ta},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C));this.K=this.K&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C+this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ga},function(a){a=a.call(this,this.C&255,this.T(this.N,this.I+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.ga}, -function(a){a=a.call(this,this.C&255,this.T(this.N,this.I+this.F&65535));this.C=this.C&-256|a;this.A-=this.B.fa},function(a){a=a.call(this,this.C&255,this.T(this.D,this.G));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.T(this.D,this.F));this.C=this.C&-256|a;this.A-=this.B.aa},function(a){a=a.call(this,this.C&255,this.T(this.D,this.L()));this.C=this.C&-256|a;this.A-=this.B.ta},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C));this.C=this.C&-256|a;this.A-= -this.B.aa},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.C+this.G&65535));this.H=this.H&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.C+this.F&65535));this.H=this.H&255|a<<8;this.A-=this.B.ga},function(a){a=a.call(this,this.H>>8,this.T(this.N,this.I+this.G&65535));this.H=this.H&255|a<<8;this.A-=this.B.ga},function(a){a=a.call(this,this.H>>8,this.T(this.N,this.I+this.F&65535));this.H=this.H&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.H>> -8,this.T(this.D,this.G));this.H=this.H&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.F));this.H=this.H&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.L()));this.H=this.H&255|a<<8;this.A-=this.B.ta},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.C));this.H=this.H&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C+this.G&65535));this.J=this.J&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this, -this.J>>8,this.T(this.D,this.C+this.F&65535));this.J=this.J&255|a<<8;this.A-=this.B.ga},function(a){a=a.call(this,this.J>>8,this.T(this.N,this.I+this.G&65535));this.J=this.J&255|a<<8;this.A-=this.B.ga},function(a){a=a.call(this,this.J>>8,this.T(this.N,this.I+this.F&65535));this.J=this.J&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.G));this.J=this.J&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.F));this.J=this.J&255|a<<8;this.A-= -this.B.aa},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.L()));this.J=this.J&255|a<<8;this.A-=this.B.ta},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C));this.J=this.J&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.G&65535));this.K=this.K&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.F&65535));this.K=this.K&255|a<<8;this.A-=this.B.ga},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.G& -65535));this.K=this.K&255|a<<8;this.A-=this.B.ga},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.F&65535));this.K=this.K&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.G));this.K=this.K&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.F));this.K=this.K&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.L()));this.K=this.K&255|a<<8;this.A-=this.B.ta},function(a){a=a.call(this,this.K>> -8,this.T(this.D,this.C));this.K=this.K&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.G&65535));this.C=this.C&255|a<<8;this.A-=this.B.fa},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.F&65535));this.C=this.C&255|a<<8;this.A-=this.B.ga},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.G&65535));this.C=this.C&255|a<<8;this.A-=this.B.ga},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.F&65535));this.C=this.C&255|a<< -8;this.A-=this.B.fa},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.G));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.F));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.L()));this.C=this.C&255|a<<8;this.A-=this.B.ta},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C));this.C=this.C&255|a<<8;this.A-=this.B.aa},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.G+this.M()& -65535));this.H=this.H&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.G+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.H&255,this.T(this.D,this.G+this.M()&65535));this.H=this.H&-256| -a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.T(this.D,this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.G+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.V},function(a){a=a.call(this, -this.J&255,this.T(this.D,this.C+this.F+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.G+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.F+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.J&255,this.T(this.D,this.G+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.T(this.D, -this.F+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.M()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.G+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.F+this.M()&65535));this.K= -this.K&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.K&255,this.T(this.N,this.I+this.G+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.K&255,this.T(this.N,this.I+this.F+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.K&255,this.T(this.D,this.G+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.K&255,this.T(this.D,this.F+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Q}, -function(a){a=a.call(this,this.K&255,this.T(this.N,this.I+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C+this.G+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C+this.F+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.C& -255,this.T(this.N,this.I+this.G+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.C&255,this.T(this.N,this.I+this.F+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.C&255,this.T(this.D,this.G+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.T(this.D,this.F+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.T(this.N,this.I+this.M()& -65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.C+this.G+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.C+this.F+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.H>>8,this.T(this.N,this.I+this.G+this.M()&65535));this.H=this.H&255| -a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.H>>8,this.T(this.N,this.I+this.F+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.G+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.F+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.H>>8,this.T(this.N,this.I+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a= -a.call(this,this.H>>8,this.T(this.D,this.C+this.M()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C+this.G+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C+this.F+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.J>>8,this.T(this.N,this.I+this.G+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.J>> -8,this.T(this.N,this.I+this.F+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.G+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.F+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.T(this.N,this.I+this.M()&65535));this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C+this.M()&65535)); -this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.G+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.F+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.G+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.F+this.M()&65535));this.K=this.K& -255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.G+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.F+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.M()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a= -a.call(this,this.C>>8,this.T(this.D,this.C+this.G+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.F+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.G+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.F+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.C>> -8,this.T(this.D,this.G+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.F+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.M()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.G+this.L()&65535)); -this.H=this.H&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.F+this.L()&65535));this.H=this.H&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.G+this.L()&65535));this.H=this.H&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.F+this.L()&65535));this.H=this.H&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.H&255,this.T(this.D,this.G+this.L()&65535));this.H=this.H&-256|a;this.A-= -this.B.Q},function(a){a=a.call(this,this.H&255,this.T(this.D,this.F+this.L()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.T(this.N,this.I+this.L()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H&255,this.T(this.D,this.C+this.L()&65535));this.H=this.H&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.G+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.J& -255,this.T(this.D,this.C+this.F+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.G+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.F+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.J&255,this.T(this.D,this.G+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.T(this.D,this.F+ -this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.T(this.N,this.I+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.J&255,this.T(this.D,this.C+this.L()&65535));this.J=this.J&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.G+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.F+this.L()&65535));this.K=this.K& --256|a;this.A-=this.B.W},function(a){a=a.call(this,this.K&255,this.T(this.N,this.I+this.G+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.K&255,this.T(this.N,this.I+this.F+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.K&255,this.T(this.D,this.G+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.K&255,this.T(this.D,this.F+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a= -a.call(this,this.K&255,this.T(this.N,this.I+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.K&255,this.T(this.D,this.C+this.L()&65535));this.K=this.K&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C+this.G+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C+this.F+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.C&255,this.T(this.N, -this.I+this.G+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.W},function(a){a=a.call(this,this.C&255,this.T(this.N,this.I+this.F+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.V},function(a){a=a.call(this,this.C&255,this.T(this.D,this.G+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.T(this.D,this.F+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.T(this.N,this.I+this.L()&65535));this.C= -this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.C&255,this.T(this.D,this.C+this.L()&65535));this.C=this.C&-256|a;this.A-=this.B.Q},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.C+this.G+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.C+this.F+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.H>>8,this.T(this.N,this.I+this.G+this.L()&65535));this.H=this.H&255|a<<8;this.A-= -this.B.W},function(a){a=a.call(this,this.H>>8,this.T(this.N,this.I+this.F+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.G+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.H>>8,this.T(this.D,this.F+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.H>>8,this.T(this.N,this.I+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this, -this.H>>8,this.T(this.D,this.C+this.L()&65535));this.H=this.H&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C+this.G+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C+this.F+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.J>>8,this.T(this.N,this.I+this.G+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.J>>8,this.T(this.N, -this.I+this.F+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.G+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.F+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.T(this.N,this.I+this.L()&65535));this.J=this.J&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.J>>8,this.T(this.D,this.C+this.L()&65535));this.J=this.J& -255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-= -this.B.V},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.G+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.F+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.N,this.I+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.K>>8,this.T(this.D,this.C+this.L()&65535));this.K=this.K&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>> -8,this.T(this.D,this.C+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.W},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.V},function(a){a=a.call(this,this.C>>8,this.T(this.D, -this.G+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.F+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.N,this.I+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},function(a){a=a.call(this,this.C>>8,this.T(this.D,this.C+this.L()&65535));this.C=this.C&255|a<<8;this.A-=this.B.Q},be,ce,de,ee,fe,ge,he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe, -Ge,He,Ie,Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe,Ye,Ze,$e,af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf],N=[function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.H=a.call(this, -this.H,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.F));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.L()));this.A-=this.B.ta},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.J=a.call(this, -this.J,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.F));this.A-=this.B.aa},function(a){this.J=a.call(this,this.J,this.U(this.D,this.L()));this.A-=this.B.ta},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C));this.A-=this.B.aa},function(a){this.K=a.call(this, -this.K,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.K=a.call(this,this.K,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.K=a.call(this,this.K,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.K=a.call(this,this.K,this.U(this.D,this.F));this.A-=this.B.aa}, -function(a){this.K=a.call(this,this.K,this.U(this.D,this.L()));this.A-=this.B.ta},function(a){this.K=a.call(this,this.K,this.U(this.D,this.C));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.C=a.call(this,this.C,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.C=a.call(this,this.C,this.U(this.N,this.I+this.F& -65535));this.A-=this.B.fa},function(a){this.C=a.call(this,this.C,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,this.U(this.D,this.F));this.A-=this.B.aa},function(a){this.C=a.call(this,this.C,this.U(this.D,this.L()));this.A-=this.B.ta},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C));this.A-=this.B.aa},function(a){this.X=a.call(this,this.X,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.X=a.call(this,this.X,this.U(this.D,this.C+ -this.F&65535));this.A-=this.B.ga},function(a){this.X=a.call(this,this.X,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.X=a.call(this,this.X,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.X=a.call(this,this.X,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.X=a.call(this,this.X,this.U(this.D,this.F));this.A-=this.B.aa},function(a){this.X=a.call(this,this.X,this.U(this.D,this.L()));this.A-=this.B.ta},function(a){this.X=a.call(this,this.X,this.U(this.D, -this.C));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.I=a.call(this,this.I,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.I=a.call(this, -this.I,this.U(this.D,this.F));this.A-=this.B.aa},function(a){this.I=a.call(this,this.I,this.U(this.D,this.L()));this.A-=this.B.ta},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.G= -a.call(this,this.G,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.G=a.call(this,this.G,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,this.U(this.D,this.F));this.A-=this.B.aa},function(a){this.G=a.call(this,this.G,this.U(this.D,this.L()));this.A-=this.B.ta},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.G&65535));this.A-=this.B.fa},function(a){this.F= -a.call(this,this.F,this.U(this.D,this.C+this.F&65535));this.A-=this.B.ga},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.G&65535));this.A-=this.B.ga},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.F&65535));this.A-=this.B.fa},function(a){this.F=a.call(this,this.F,this.U(this.D,this.G));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,this.U(this.D,this.F));this.A-=this.B.aa},function(a){this.F=a.call(this,this.F,this.U(this.D,this.L()));this.A-=this.B.ta}, -function(a){this.F=a.call(this,this.F,this.U(this.D,this.C));this.A-=this.B.aa},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.V},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.V},function(a){this.H= -a.call(this,this.H,this.U(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.U(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.V},function(a){this.J=a.call(this,this.J,this.U(this.D, -this.C+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.V},function(a){this.J=a.call(this,this.J,this.U(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.U(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.M()& -65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.U(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.V},function(a){this.K=a.call(this,this.K,this.U(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.F+this.M()&65535)); -this.A-=this.B.V},function(a){this.K=a.call(this,this.K,this.U(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.U(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.U(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.V},function(a){this.C= -a.call(this,this.C,this.U(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.C=a.call(this,this.C,this.U(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.C=a.call(this,this.C,this.U(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.V},function(a){this.C=a.call(this,this.C,this.U(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.C=a.call(this,this.C,this.U(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.C=a.call(this, -this.C,this.U(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.X=a.call(this,this.X,this.U(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.V},function(a){this.X=a.call(this,this.X,this.U(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.X=a.call(this,this.X,this.U(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.X=a.call(this,this.X,this.U(this.N, -this.I+this.F+this.M()&65535));this.A-=this.B.V},function(a){this.X=a.call(this,this.X,this.U(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.X=a.call(this,this.X,this.U(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.X=a.call(this,this.X,this.U(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.X=a.call(this,this.X,this.U(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C+this.G+this.M()&65535)); -this.A-=this.B.V},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.V},function(a){this.I=a.call(this,this.I,this.U(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.D,this.F+this.M()&65535));this.A-=this.B.Q}, -function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.G+this.M()&65535));this.A-=this.B.V},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.G= -a.call(this,this.G,this.U(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.V},function(a){this.G=a.call(this,this.G,this.U(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.D,this.F+this.M()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D, -this.C+this.G+this.M()&65535));this.A-=this.B.V},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.F+this.M()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.G+this.M()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.F+this.M()&65535));this.A-=this.B.V},function(a){this.F=a.call(this,this.F,this.U(this.D,this.G+this.M()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.F+ -this.M()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.M()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.M()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.G+this.L()&65535)); -this.A-=this.B.W},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.H=a.call(this,this.H,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.H=a.call(this,this.H,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.J= -a.call(this,this.J,this.U(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.J=a.call(this,this.J,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this, -this.J,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.J=a.call(this,this.J,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.U(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.K=a.call(this,this.K,this.U(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.K=a.call(this,this.K,this.U(this.N, -this.I+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.K=a.call(this,this.K,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.K=a.call(this,this.K,this.U(this.D,this.C+this.L()&65535)); -this.A-=this.B.Q},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.C=a.call(this,this.C,this.U(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.C=a.call(this,this.C,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.C=a.call(this,this.C,this.U(this.D,this.G+this.L()&65535));this.A-= -this.B.Q},function(a){this.C=a.call(this,this.C,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.C=a.call(this,this.C,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.C=a.call(this,this.C,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.X=a.call(this,this.X,this.U(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.X=a.call(this,this.X,this.U(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.X= -a.call(this,this.X,this.U(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.X=a.call(this,this.X,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.X=a.call(this,this.X,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.X=a.call(this,this.X,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.X=a.call(this,this.X,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.X=a.call(this,this.X, -this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.I=a.call(this,this.I,this.U(this.D, -this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.I=a.call(this,this.I,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.F+this.L()&65535)); -this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.G=a.call(this,this.G,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.G=a.call(this,this.G,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q}, -function(a){this.G=a.call(this,this.G,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.G+this.L()&65535));this.A-=this.B.V},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.F+this.L()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.G+this.L()&65535));this.A-=this.B.W},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.F+this.L()&65535));this.A-=this.B.V},function(a){this.F= -a.call(this,this.F,this.U(this.D,this.G+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.F+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.N,this.I+this.L()&65535));this.A-=this.B.Q},function(a){this.F=a.call(this,this.F,this.U(this.D,this.C+this.L()&65535));this.A-=this.B.Q},nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg, -ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg],Bg=[function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa}, -function(a,b){var c=a[0].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.ta},function(a,b){var c=a[0].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-= -this.B.fa},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[1].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.F), -b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.ta},function(a,b){var c=a[1].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[2].call(this, -this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[2].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.ta},function(a, -b){var c=a[2].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.F&65535),b.call(this)); -this.R(c);this.A-=this.B.fa},function(a,b){var c=a[3].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.ta},function(a,b){var c=a[3].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.G&65535), -b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[4].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c= -a[4].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.ta},function(a,b){var c=a[4].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga}, -function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[5].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.O(this.D,this.L()),b.call(this));this.R(c); -this.A-=this.B.ta},function(a,b){var c=a[5].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[6].call(this,this.O(this.N, -this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[6].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.ta},function(a,b){var c=a[6].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this, -this.O(this.D,this.C+this.G&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.F&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.G&65535),b.call(this));this.R(c);this.A-=this.B.ga},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.F&65535),b.call(this));this.R(c);this.A-=this.B.fa},function(a,b){var c=a[7].call(this,this.O(this.D,this.G),b.call(this));this.R(c);this.A-= -this.B.aa},function(a,b){var c=a[7].call(this,this.O(this.D,this.F),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.O(this.D,this.L()),b.call(this));this.R(c);this.A-=this.B.ta},function(a,b){var c=a[7].call(this,this.O(this.D,this.C),b.call(this));this.R(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F+this.M()& -65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[0].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c); -this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c= -a[1].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[1].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+ -this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this)); -this.R(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[2].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a, -b){var c=a[2].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this, -this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[3].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this)); -this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-= -this.B.V},function(a,b){var c=a[4].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this, -this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[5].call(this,this.O(this.D,this.G+ -this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c); -this.A-=this.B.V},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[6].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a, -b){var c=a[6].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[7].call(this,this.O(this.D, -this.C+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.F+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[7].call(this,this.O(this.D,this.G+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.D,this.F+this.M()&65535),b.call(this)); -this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.M()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a, -b){var c=a[0].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[0].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.N, -this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[1].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this)); -this.R(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[1].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.O(this.N,this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a, -b){var c=a[1].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this, -this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[2].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.N,this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this)); -this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-= -this.B.V},function(a,b){var c=a[3].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.N,this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this, -this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[4].call(this,this.O(this.D,this.G+ -this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.N,this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c); -this.A-=this.B.V},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[5].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a, -b){var c=a[5].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.O(this.N,this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[6].call(this,this.O(this.D, -this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[6].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this)); -this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.N,this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a, -b){var c=a[7].call(this,this.O(this.N,this.I+this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.O(this.N,this.I+this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.V},function(a,b){var c=a[7].call(this,this.O(this.D,this.G+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.D,this.F+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.N, -this.I+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.O(this.D,this.C+this.L()&65535),b.call(this));this.R(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[0].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[0].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[0].call(this,this.C&255,b.call(this));this.C=this.C&-256| -c},function(a,b){var c=a[0].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[0].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[0].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[0].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[1].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[1].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a, -b){var c=a[1].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[1].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[1].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[1].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[1].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[1].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c= -a[2].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[2].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[2].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[2].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[2].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[2].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[2].call(this, -this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[2].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[3].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[3].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[3].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[3].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[3].call(this,this.H>> -8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[3].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[3].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[3].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[4].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[4].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[4].call(this,this.K&255,b.call(this)); -this.K=this.K&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[4].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[4].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[4].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[4].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[5].call(this,this.H&255,b.call(this));this.H= -this.H&-256|c},function(a,b){var c=a[5].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[5].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[5].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[5].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[5].call(this,this.K>>8,b.call(this));this.K=this.K&255| -c<<8},function(a,b){var c=a[5].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[6].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[6].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[6].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a, -b){var c=a[6].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[6].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[6].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8},function(a,b){var c=a[7].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[7].call(this,this.J&255,b.call(this));this.J=this.J&-256|c},function(a,b){var c=a[7].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c= -a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8,b.call(this));this.H=this.H&255|c<<8},function(a,b){var c=a[7].call(this,this.J>>8,b.call(this));this.J=this.J&255|c<<8},function(a,b){var c=a[7].call(this,this.K>>8,b.call(this));this.K=this.K&255|c<<8},function(a,b){var c=a[7].call(this,this.C>>8,b.call(this));this.C=this.C&255|c<<8}],Cg=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-= -this.B.fa},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[0].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.F), -b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.ta},function(a,b){var c=a[0].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[1].call(this, -this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[1].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[1].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.ta},function(a, -b){var c=a[1].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.F&65535),b.call(this)); -this.S(c);this.A-=this.B.fa},function(a,b){var c=a[2].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[2].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.ta},function(a,b){var c=a[2].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.G&65535), -b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[3].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c= -a[3].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[3].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.ta},function(a,b){var c=a[3].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ga}, -function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[4].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[4].call(this,this.P(this.D,this.L()),b.call(this));this.S(c); -this.A-=this.B.ta},function(a,b){var c=a[4].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[5].call(this,this.P(this.N, -this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[5].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[5].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.ta},function(a,b){var c=a[5].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this, -this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[6].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-= -this.B.aa},function(a,b){var c=a[6].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[6].call(this,this.P(this.D,this.L()),b.call(this));this.S(c);this.A-=this.B.ta},function(a,b){var c=a[6].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F&65535),b.call(this)); -this.S(c);this.A-=this.B.ga},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ga},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.F&65535),b.call(this));this.S(c);this.A-=this.B.fa},function(a,b){var c=a[7].call(this,this.P(this.D,this.G),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.D,this.F),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[7].call(this,this.P(this.D, -this.L()),b.call(this));this.S(c);this.A-=this.B.ta},function(a,b){var c=a[7].call(this,this.P(this.D,this.C),b.call(this));this.S(c);this.A-=this.B.aa},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-= -this.B.W},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[0].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this, -this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F+ -this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[1].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-= -this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a, -b){var c=a[2].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+ -this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[3].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this)); -this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a, -b){var c=a[4].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[4].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this, -this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F+this.M()&65535), -b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[5].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-= -this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this, -this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[6].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.M()&65535), -b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.G+this.M()&65535),b.call(this));this.S(c); -this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[7].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c= -a[7].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[0].call(this,this.P(this.N, -this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[0].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c); -this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V}, -function(a,b){var c=a[1].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.D, -this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[2].call(this,this.P(this.D,this.G+this.L()&65535), -b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V}, -function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[3].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this, -this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F+this.L()&65535), -b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[4].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-= -this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this, -this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[5].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.N,this.I+this.L()&65535), -b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c); -this.A-=this.B.W},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[6].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[6].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c= -a[6].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.W},function(a,b){var c=a[7].call(this,this.P(this.N, -this.I+this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.V},function(a,b){var c=a[7].call(this,this.P(this.D,this.G+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.D,this.F+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.N,this.I+this.L()&65535),b.call(this));this.S(c);this.A-=this.B.Q},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.L()&65535),b.call(this));this.S(c); -this.A-=this.B.Q},function(a,b){this.H=a[0].call(this,this.H,b.call(this))},function(a,b){this.J=a[0].call(this,this.J,b.call(this))},function(a,b){this.K=a[0].call(this,this.K,b.call(this))},function(a,b){this.C=a[0].call(this,this.C,b.call(this))},function(a,b){this.X=a[0].call(this,this.X,b.call(this))},function(a,b){this.I=a[0].call(this,this.I,b.call(this))},function(a,b){this.G=a[0].call(this,this.G,b.call(this))},function(a,b){this.F=a[0].call(this,this.F,b.call(this))},function(a,b){this.H= -a[1].call(this,this.H,b.call(this))},function(a,b){this.J=a[1].call(this,this.J,b.call(this))},function(a,b){this.K=a[1].call(this,this.K,b.call(this))},function(a,b){this.C=a[1].call(this,this.C,b.call(this))},function(a,b){this.X=a[1].call(this,this.X,b.call(this))},function(a,b){this.I=a[1].call(this,this.I,b.call(this))},function(a,b){this.G=a[1].call(this,this.G,b.call(this))},function(a,b){this.F=a[1].call(this,this.F,b.call(this))},function(a,b){this.H=a[2].call(this,this.H,b.call(this))}, -function(a,b){this.J=a[2].call(this,this.J,b.call(this))},function(a,b){this.K=a[2].call(this,this.K,b.call(this))},function(a,b){this.C=a[2].call(this,this.C,b.call(this))},function(a,b){this.X=a[2].call(this,this.X,b.call(this))},function(a,b){this.I=a[2].call(this,this.I,b.call(this))},function(a,b){this.G=a[2].call(this,this.G,b.call(this))},function(a,b){this.F=a[2].call(this,this.F,b.call(this))},function(a,b){this.H=a[3].call(this,this.H,b.call(this))},function(a,b){this.J=a[3].call(this,this.J, -b.call(this))},function(a,b){this.K=a[3].call(this,this.K,b.call(this))},function(a,b){this.C=a[3].call(this,this.C,b.call(this))},function(a,b){this.X=a[3].call(this,this.X,b.call(this))},function(a,b){this.I=a[3].call(this,this.I,b.call(this))},function(a,b){this.G=a[3].call(this,this.G,b.call(this))},function(a,b){this.F=a[3].call(this,this.F,b.call(this))},function(a,b){this.H=a[4].call(this,this.H,b.call(this))},function(a,b){this.J=a[4].call(this,this.J,b.call(this))},function(a,b){this.K=a[4].call(this, -this.K,b.call(this))},function(a,b){this.C=a[4].call(this,this.C,b.call(this))},function(a,b){this.X=a[4].call(this,this.X,b.call(this))},function(a,b){this.I=a[4].call(this,this.I,b.call(this))},function(a,b){this.G=a[4].call(this,this.G,b.call(this))},function(a,b){this.F=a[4].call(this,this.F,b.call(this))},function(a,b){this.H=a[5].call(this,this.H,b.call(this))},function(a,b){this.J=a[5].call(this,this.J,b.call(this))},function(a,b){this.K=a[5].call(this,this.K,b.call(this))},function(a,b){this.C= -a[5].call(this,this.C,b.call(this))},function(a,b){this.X=a[5].call(this,this.X,b.call(this))},function(a,b){this.I=a[5].call(this,this.I,b.call(this))},function(a,b){this.G=a[5].call(this,this.G,b.call(this))},function(a,b){this.F=a[5].call(this,this.F,b.call(this))},function(a,b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.J=a[6].call(this,this.J,b.call(this))},function(a,b){this.K=a[6].call(this,this.K,b.call(this))},function(a,b){this.C=a[6].call(this,this.C,b.call(this))}, -function(a,b){this.X=a[6].call(this,this.X,b.call(this))},function(a,b){this.I=a[6].call(this,this.I,b.call(this))},function(a,b){this.G=a[6].call(this,this.G,b.call(this))},function(a,b){this.F=a[6].call(this,this.F,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.J=a[7].call(this,this.J,b.call(this))},function(a,b){this.K=a[7].call(this,this.K,b.call(this))},function(a,b){this.C=a[7].call(this,this.C,b.call(this))},function(a,b){this.X=a[7].call(this,this.X, -b.call(this))},function(a,b){this.I=a[7].call(this,this.I,b.call(this))},function(a,b){this.G=a[7].call(this,this.G,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))}];function vc(){Dg[this.da()].call(this)}function xc(){F(this,this.X);this.A-=this.B.qc}function ec(){var a=this.X;F(this,this.H);F(this,this.J);F(this,this.K);F(this,this.C);F(this,a);F(this,this.I);F(this,this.G);F(this,this.F);this.A-=this.B.gl} -function fc(){this.F=this.Ja();this.G=this.Ja();this.I=this.Ja();this.X+=2;this.C=this.Ja();this.K=this.Ja();this.J=this.Ja();this.H=this.Ja();this.A-=this.B.el}function gc(){N[this.da()].call(this,Td)}function wc(){zg[this.da()].call(this,Ud)}function hc(){F(this,this.L());this.A-=this.B.qc}function ic(){N[this.da()].call(this,Od)}function jc(){F(this,this.da());this.A-=this.B.qc}function kc(){N[this.da()].call(this,Nd)} -function lc(){var a=1,b=0,c=5;this.wa&192&&(a=this.J,b=1,this.wa&256&&(c=4));if(a--){var d=gb(this.ra,this.K,this.Da-b-1);this.ze(this.Ua.Yb(this.F,0),d);this.F=this.F+(this.Ea&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}} -function mc(){var a=1,b=0,c=5;this.wa&192&&(a=this.J,b=1,this.wa&256&&(c=4));if(a--){var d=this.Da-b-1,e=gb(this.ra,this.K,d),d=e|=gb(this.ra,this.K,d)<<8;this.Oa(this.Ua.Yb(this.F,1),d);this.F=this.F+(this.Ea&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}} -function nc(){var a=1,b=0,c=5;this.wa&192&&(a=this.J,b=1,this.wa&256&&(c=4));if(a--){var d=this.pd(this.tb.Dc(this.G,0));this.G=this.G+(this.Ea&1024?-1:1)&65535;this.A-=c;this.J-=b;ib(this.ra,this.K,d,this.Da-b-1);a&&(J(this,-2),this.Z|=256)}} -function oc(){var a=1,b=0,c=5;this.wa&192&&(a=this.J,b=1,this.wa&256&&(c=4));if(a--){var d=this.pa(this.tb.Dc(this.G,1));this.G=this.G+(this.Ea&1024?-2:2)&65535;this.A-=c;this.J-=b;b=this.Da-b-1;ib(this.ra,this.K,d&255,b);ib(this.ra,this.K,d>>8,b);a&&(J(this,-2),this.Z|=256)}}function Eg(){var a=this.M();Pc(this)?(I(this,this.ua+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Fg(){var a=this.M();Pc(this)?this.A-=this.B.Tb:(I(this,this.ua+a),this.A-=this.B.Sb)} -function Gg(){var a=this.M();Kc(this)?(I(this,this.ua+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Hg(){var a=this.M();Kc(this)?this.A-=this.B.Tb:(I(this,this.ua+a),this.A-=this.B.Sb)}function Ig(){var a=this.M();Nc(this)?(I(this,this.ua+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Jg(){var a=this.M();Nc(this)?this.A-=this.B.Tb:(I(this,this.ua+a),this.A-=this.B.Sb)}function Kg(){var a=this.M();Kc(this)||Nc(this)?(I(this,this.ua+a),this.A-=this.B.Sb):this.A-=this.B.Tb} -function Lg(){var a=this.M();Kc(this)||Nc(this)?this.A-=this.B.Tb:(I(this,this.ua+a),this.A-=this.B.Sb)}function Mg(){var a=this.M();Oc(this)?(I(this,this.ua+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Ng(){var a=this.M();Oc(this)?this.A-=this.B.Tb:(I(this,this.ua+a),this.A-=this.B.Sb)}function Og(){var a=this.M();Lc(this)?(I(this,this.ua+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Pg(){var a=this.M();Lc(this)?this.A-=this.B.Tb:(I(this,this.ua+a),this.A-=this.B.Sb)} -function Qg(){var a=this.M();!Oc(this)!=!Pc(this)?(I(this,this.ua+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Rg(){var a=this.M();!Oc(this)==!Pc(this)?(I(this,this.ua+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Sg(){var a=this.M();Nc(this)||!Oc(this)!=!Pc(this)?(I(this,this.ua+a),this.A-=this.B.Sb):this.A-=this.B.Tb}function Tg(){var a=this.M();Nc(this)||!Oc(this)!=!Pc(this)?this.A-=this.B.Tb:(I(this,this.ua+a),this.A-=this.B.Sb)} -function Ug(){Bg[this.da()].call(this,xd,this.da);this.A-=0>this.Ka?1:this.B.dh}function pc(){Bg[this.da()].call(this,Dd,ud)}function qc(){Cg[this.da()].call(this,Ed,ud)}function Vg(){var a=this.L();I(this,this.Ja());this.X=this.X+a&65535;this.A-=this.B.ll}function Wg(){I(this,this.Ja());this.A-=this.B.il} -function rc(){var a=this.L(),b=this.da()&31;this.A-=11;F(this,this.I);var c=this.X;if(0>8,c,d=Mc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Vc(this):Rc(this);this.A-=this.B.te},function(){yg[this.da()].call(this,id)},function(){zg[this.da()].call(this,qd)},function(){Ag[this.da()].call(this,id)},function(){N[this.da()].call(this,qd)},function(){this.H=this.H&-256|id.call(this,this.H&255,this.da());this.A--},function(){this.H=qd.call(this,this.H,this.L());this.A--}, -function(){this.Z|=20;this.D=this.N=this.tb;this.A-=this.B.Rd},function(){var a=this.H&255,b=this.H>>8,c,d=Mc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=b<<8|(this.Y=a);this.ca=65536;c&&(this.Y|=this.ca);d?Vc(this):Rc(this);this.A-=this.B.te},function(){this.na=this.H;this.H=(this.ia=this.H+1)&65535;this.Y=this.H|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ia=this.J+1)&65535;this.Y=this.J|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-= -2},function(){this.na=this.K;this.K=(this.ia=this.K+1)&65535;this.Y=this.K|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.C;this.C=(this.ia=this.C+1)&65535;this.Y=this.C|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.X;this.X=(this.ia=this.X+1)&65535;this.Y=this.X|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.I;this.I=(this.ia=this.I+1)&65535;this.Y=this.I|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na= -this.G;this.G=(this.ia=this.G+1)&65535;this.Y=this.G|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ia=this.F+1)&65535;this.Y=this.F|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.H;this.H=(this.ia=this.H-1)&65535;this.Y=this.H|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.J;this.J=(this.ia=this.J-1)&65535;this.Y=this.J|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.K;this.K= -(this.ia=this.K-1)&65535;this.Y=this.K|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.C;this.C=(this.ia=this.C-1)&65535;this.Y=this.C|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.X;this.X=(this.ia=this.X-1)&65535;this.Y=this.X|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.I;this.I=(this.ia=this.I-1)&65535;this.Y=this.I|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.G;this.G=(this.ia=this.G- -1)&65535;this.Y=this.G|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){this.na=this.F;this.F=(this.ia=this.F-1)&65535;this.Y=this.F|(this.Y&this.ca?1:0)<<16;this.ca=65536;this.A-=2},function(){F(this,this.H);this.A-=this.B.qc},function(){F(this,this.J);this.A-=this.B.qc},function(){F(this,this.K);this.A-=this.B.qc},function(){F(this,this.C);this.A-=this.B.qc},function(){F(this,this.X-2&65535);this.A-=this.B.qc},function(){F(this,this.I);this.A-=this.B.qc},function(){F(this,this.G);this.A-= -this.B.qc},function(){F(this,this.F);this.A-=this.B.qc},function(){this.H=this.Ja();this.A-=this.B.gc},function(){this.J=this.Ja();this.A-=this.B.gc},function(){this.K=this.Ja();this.A-=this.B.gc},function(){this.C=this.Ja();this.A-=this.B.gc},function(){this.X=this.Ja();this.A-=this.B.gc},function(){this.I=this.Ja();this.A-=this.B.gc},function(){this.G=this.Ja();this.A-=this.B.gc},function(){this.F=this.Ja();this.A-=this.B.gc},Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Eg,Fg,Gg,Hg,Ig,Jg,Kg, -Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,function(){Cg[this.da()].call(this,yd,this.L);this.A-=0>this.Ka?1:this.B.dh},Ug,function(){Cg[this.da()].call(this,yd,this.M);this.A-=0>this.Ka?1:this.B.dh},function(){yg[this.da()].call(this,Ld)},function(){zg[this.da()].call(this,Md)},function(){Ag[this.ug=this.da()].call(this,Xd)},function(){N[this.ug=this.da()].call(this,Yd)},function(){this.Z|=1;yg[this.da()].call(this,Jd)},function(){this.Z|=1;zg[this.da()].call(this,Jd)},function(){Ag[this.da()].call(this,Jd)}, -function(){N[this.da()].call(this,Jd)},function(){var a=this.da();switch((a&56)>>3){case 0:this.Fb=this.Ua.Ba;break;case 1:this.Fb=this.ya.Ba;break;case 2:this.Fb=this.jb.Ba;break;case 3:this.Fb=this.tb.Ba;break;default:M.call(this);return}this.Z|=1;zg[a].call(this,Kd)},function(){this.Z|=1;this.D=this.N=this.Al;N[this.da()].call(this,Qd)},function(){var a,b=this.da(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.K;break;case 3:a=this.C;break;default:if(80286<=this.Ia){G.call(this);return}switch(c){case 1:a= -this.J;break;case 4:a=this.X;break;case 5:a=this.I;break;case 6:a=this.G;break;case 7:a=this.F}}N[b].call(this,Jd);switch(c){case 0:Jc(this,this.H);this.H=a;break;case 1:Gc(this,this.J);this.J=a;break;case 2:Ic(this,this.K);this.K=a;break;case 3:Hc(this,this.C);this.C=a;break;case 4:Jc(this,this.X);this.X=a;break;case 5:Gc(this,this.I);this.I=a;break;case 6:Ic(this,this.G);this.G=a;break;case 7:Hc(this,this.F),this.F=a}},function(){this.Z|=1;Cg[this.da()].call(this,zd,this.Ja)},function(){this.A-= -3},function(){var a=this.H;this.H=this.J;this.J=a;this.A-=3},function(){var a=this.H;this.H=this.K;this.K=a;this.A-=3},function(){var a=this.H;this.H=this.C;this.C=a;this.A-=3},function(){var a=this.H;this.H=this.X;this.X=a;this.A-=3},function(){var a=this.H;this.H=this.I;this.I=a;this.A-=3},function(){var a=this.H;this.H=this.G;this.G=a;this.A-=3},function(){var a=this.H;this.H=this.F;this.F=a;this.A-=3},function(){this.H=this.H<<24>>24&65535;this.A-=2},function(){this.K=this.H&32768?65535:0;this.A-= -this.B.sk},function(){Id.call(this,this.L(),this.L());this.A-=this.B.vk},function(){this.hc("WAIT not implemented",1);this.A--},function(){F(this,Ub(this));this.A-=this.B.qc},function(){Vb(this,this.Ja());this.A-=this.B.gc},function(){var a=this.H>>8;a&1?Uc(this):Qc(this);a&4?Lc(this)||(this.ia^=1):Lc(this)&&(this.ia^=1);a&16?Vc(this):Rc(this);a&64?Wc(this):Sc(this);a&128?Xc(this):Oc(this)&&(this.ia^=this.ca>>1|this.ca>>2,this.na^=32896);this.A-=this.B.Eb},function(){this.H=this.H&255|(Ub(this)&213)<< -8;this.A-=this.B.Eb},function(){this.H=this.H&-256|this.T(this.D,this.L());this.A-=this.B.Ii},function(){this.H=this.U(this.D,this.L());this.A-=this.B.Ii},function(){var a=this.L(),b=this.H;this.ze(this.D.Yb(a,0),b);this.A-=this.B.Ji},function(){var a=this.L(),b=this.H;this.Oa(this.D.Yb(a,1),b);this.A-=this.B.Ji},function(){var a=1,b=0,c=this.B.Ki;this.wa&192&&(a=this.J,b=1,c=this.B.Mi,this.wa&256||(this.A-=this.B.Li));if(a--){var d=this.Ea&1024?-1:1,e=this.T(this.D,this.G);this.ze(this.Ua.Yb(this.F, -0),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(J(this,this.wa&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Ki;this.wa&192&&(a=this.J,b=1,c=this.B.Mi,this.wa&256||(this.A-=this.B.Li));if(a--){var d=this.Ea&1024?-2:2,e=this.U(this.D,this.G);this.Oa(this.Ua.Yb(this.F,1),e);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c;this.J-=b;a&&(J(this,this.wa&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.ui;this.wa&192&&(a=this.J,b=1,c=this.B.wi,this.wa&256|| -(this.A-=this.B.vi));if(a--){var d=this.Ea&1024?-1:1,e=this.T(this.D,this.G),f=this.O(this.Ua,this.F);id.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+d&65535;this.A-=c-this.B.vb;this.J-=b;a&&Nc(this)==(this.wa&64)&&(J(this,this.wa&16?-3:-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.ui;this.wa&192&&(a=this.J,b=1,c=this.B.wi,this.wa&256||(this.A-=this.B.vi));if(a--){var d=this.Ea&1024?-2:2,e=this.U(this.D,this.G),f=this.P(this.Ua,this.F);qd.call(this,e,f);this.G=this.G+d&65535;this.F=this.F+ -d&65535;this.A-=c-this.B.vb;this.J-=b;a&&Nc(this)==(this.wa&64)&&(J(this,this.wa&16?-3:-2),this.Z|=256)}},function(){this.Y=this.ia=this.na=this.H&255&this.da();this.ca=256;this.A-=this.B.te},function(){this.Y=this.ia=this.na=this.H&this.L();this.ca=65536;this.A-=this.B.te},function(){var a=1,b=0,c=this.B.Vi;this.wa&192&&(a=this.J,b=1,c=this.B.Xi,this.wa&256||(this.A-=this.B.Wi));if(a--){var d=this.H;this.ze(this.Ua.Yb(this.F,0),d);this.F=this.F+(this.Ea&1024?-1:1)&65535;this.A-=c;this.J-=b;a&&(J(this, --2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Vi;this.wa&192&&(a=this.J,b=1,c=this.B.Xi,this.wa&256||(this.A-=this.B.Wi));if(a--){var d=this.H;this.Oa(this.Ua.Yb(this.F,1),d);this.F=this.F+(this.Ea&1024?-2:2)&65535;this.A-=c;this.J-=b;a&&(J(this,-2),this.Z|=256)}},function(){var a=1,b=0,c=this.B.Ci;this.wa&192&&(a=this.J,b=1,c=this.B.Ei,this.wa&256||(this.A-=this.B.Di));a--&&(this.H=this.H&-256|this.T(this.D,this.G),this.G=this.G+(this.Ea&1024?-1:1)&65535,this.A-=c,this.J-=b,a&&(J(this,this.wa& -16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Ci;this.wa&192&&(a=this.J,b=1,c=this.B.Ei,this.wa&256||(this.A-=this.B.Di));a--&&(this.H=this.U(this.D,this.G),this.G=this.G+(this.Ea&1024?-2:2)&65535,this.A-=c,this.J-=b,a&&(J(this,this.wa&16?-3:-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Pi;this.wa&192&&(a=this.J,b=1,c=this.B.Ri,this.wa&256||(this.A-=this.B.Qi));a--&&(id.call(this,this.H&255,this.O(this.Ua,this.F)),this.F=this.F+(this.Ea&1024?-1:1)&65535,this.A-=c-this.B.vb,this.J-= -b,a&&Nc(this)==(this.wa&64)&&(J(this,-2),this.Z|=256))},function(){var a=1,b=0,c=this.B.Pi;this.wa&192&&(a=this.J,b=1,c=this.B.Ri,this.wa&256||(this.A-=this.B.Qi));a--&&(qd.call(this,this.H,this.P(this.Ua,this.F)),this.F=this.F+(this.Ea&1024?-2:2)&65535,this.A-=c-this.B.vb,this.J-=b,a&&Nc(this)==(this.wa&64)&&(J(this,-2),this.Z|=256))},function(){this.H=this.H&-256|this.da();this.A-=this.B.Eb},function(){this.J=this.J&-256|this.da();this.A-=this.B.Eb},function(){this.K=this.K&-256|this.da();this.A-= -this.B.Eb},function(){this.C=this.C&-256|this.da();this.A-=this.B.Eb},function(){this.H=this.H&255|this.da()<<8;this.A-=this.B.Eb},function(){this.J=this.J&255|this.da()<<8;this.A-=this.B.Eb},function(){this.K=this.K&255|this.da()<<8;this.A-=this.B.Eb},function(){this.C=this.C&255|this.da()<<8;this.A-=this.B.Eb},function(){this.H=this.L();this.A-=this.B.Eb},function(){this.J=this.L();this.A-=this.B.Eb},function(){this.K=this.L();this.A-=this.B.Eb},function(){this.C=this.L();this.A-=this.B.Eb},function(){this.X= -this.L();this.A-=this.B.Eb},function(){this.I=this.L();this.A-=this.B.Eb},function(){this.G=this.L();this.A-=this.B.Eb},function(){this.F=this.L();this.A-=this.B.Eb},Vg,Wg,Vg,Wg,function(){N[this.da()].call(this,Sd)},function(){N[this.da()].call(this,Rd)},function(){this.Z|=1;Bg[this.da()].call(this,Cd,this.da)},function(){this.Z|=1;Cg[this.da()].call(this,Cd,this.L)},Xg,Yg,Xg,Yg,function(){$c.call(this,3,null,this.B.Mk)},function(){var a=this.da(),b;a:{b=this.jg[a];if(void 0!==b)for(var c=0;c>8)*a+this.H&255;this.ca=256;this.A-=this.B.ok},function(){this.H=this.H&-256|(Kc(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.T(this.D,this.C+(this.H&255)&65535);this.A-=this.B.nl},Zg,Zg,Zg,Zg,Zg,Zg,Zg,Zg,function(){var a=this.M();(this.J=this.J-1&65535)&&this.Y&this.ca-1?(I(this,this.ua+a),this.A-=this.B.Vk): -this.A-=this.B.Fi},function(){var a=this.M();!(this.J=this.J-1&65535)||this.Y&this.ca-1?this.A-=this.B.Hi:(I(this,this.ua+a),this.A-=this.B.Gi)},function(){var a=this.M();(this.J=this.J-1&65535)?(I(this,this.ua+a),this.A-=this.B.Uk):this.A-=this.B.Fi},function(){var a=this.M();this.J?this.A-=this.B.Hi:(I(this,this.ua+a),this.A-=this.B.Gi)},function(){var a=this.da();this.H=this.H&-256|gb(this.ra,a,this.Da-2);this.A-=this.B.zi},function(){var a=this.da();this.H=gb(this.ra,a,this.Da-2);this.H|=gb(this.ra, -a+1&65535,this.Da-2)<<8;this.A-=this.B.zi},function(){var a=this.da();ib(this.ra,a,this.H&255,this.Da-2);this.A-=this.B.Oi},function(){var a=this.da();ib(this.ra,a,this.H&255,this.Da-2);ib(this.ra,a+1&65535,this.H>>8,this.Da-2);this.A-=this.B.Oi},function(){var a=this.L();F(this,this.ua);I(this,this.ua+a);this.A-=this.B.tk},function(){var a=this.L();I(this,this.ua+a);this.A-=this.B.Ai},function(){Wb(this,this.L(),this.L());this.A-=this.B.Qk},function(){var a=this.M();I(this,this.ua+a);this.A-=this.B.Ai}, -function(){this.H=this.H&-256|gb(this.ra,this.K,this.Da-1);this.A-=this.B.yi},function(){this.H=gb(this.ra,this.K,this.Da-1);this.H|=gb(this.ra,this.K+1&65535,this.Da-1)<<8;this.A-=this.B.yi},function(){ib(this.ra,this.K,this.H&255,this.Da-1);this.A-=this.B.Ni},function(){ib(this.ra,this.K,this.H&255,this.Da-1);ib(this.ra,this.K+1&65535,this.H>>8,this.Da-1);this.A-=this.B.Ni},$g,$g,function(){this.Z|=132;this.A-=this.B.Rd},function(){this.Z|=68;this.A-=this.B.Rd},function(){this.ob|=4;this.A-=2;this.Ea& -512||B(this)},function(){Kc(this)?Qc(this):Uc(this);this.A-=2},function(){this.Fb=-1;Bg[this.da()].call(this,Gd,vd);0<=this.Fb&&(this.H=this.Fb)},function(){this.Fb=-1;Cg[this.da()].call(this,Hd,vd);0<=this.Fb&&(this.H=this.Fb,this.K=this.$f)},function(){this.Y&=~this.ca;this.A-=2},function(){this.Y|=this.ca;this.A-=2},function(){this.Ea&=-513;this.A-=this.B.rk},function(){this.Ea|=512;this.Z|=4;this.A-=2},function(){this.Ea&=-1025;this.A-=2},function(){this.Ea|=1024;this.A-=2},function(){Bg[this.da()].call(this, -bc,vd)},function(){Cg[this.da()].call(this,cc,vd)}],Dg=[function(){var a=this.da();16>(a&56)&&(this.Z|=1);Cg[a].call(this,this.zj,vd)},function(){var a=this.da();a&16||(this.Z|=1);Cg[a].call(this,ah,vd)},function(){N[this.da()].call(this,Vd)},function(){N[this.da()].call(this,Wd)},M,function(){this.ya.$a?E.call(this,13,0,!0):(Zd.call(this,this.pa(2054)),this.F=this.pa(2086),this.G=this.pa(2088),this.I=this.pa(2090),this.X=this.pa(2092),this.C=this.pa(2094),this.K=this.pa(2096),this.J=this.pa(2098), -this.H=this.pa(2100),Xb(this.Ua,2102,this.pa(2084)),Xb(this.ya,2108,this.pa(2082)),Xb(this.jb,2114,this.pa(2080)),Xb(this.tb,2120,this.pa(2078)),Vb(this,this.pa(2072)),I(this,this.pa(2074)),this.Kc=this.pa(2126)|this.pa(2128)<<16,this.Ke=this.Kc+this.pa(2130),Xb(this.Xd,2132,this.pa(2076)),this.Lc=this.pa(2138)|this.pa(2140)<<16,this.Le=this.Lc+this.pa(2142),Xb(this.kb,2144,this.pa(2070)),this.A-=195)},function(){this.ya.$a?E.call(this,13,0,!0):(this.kc&=-9,this.A-=2)},M,M,M,M,G,M,M,M,M,M,M,M,M,M, -M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M],Ec=[function(){this.A-=2+(0>this.ha? -0:1);return this.Xd.Ba},function(){this.A-=2+(0>this.ha?0:1);return this.kb.Ba},function(a){this.Z|=2;this.Xd.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;-4!=this.kb.load(a)&&(this.Oa(this.kb.yd+4,this.kb.lb|=512),this.kb.type=768);this.A-=17+(0>this.ha?0:2);return a},function(a){this.Z|=2;this.A-=14+(0>this.ha?0:2);if(-4!=this.Ib.load(a,!0)&&2048!=(this.Ib.lb&2560)&&(this.Ib.pc>=this.ya.$a&&this.Ib.pc>=(a&3)||7168==(this.Ib.lb&7168)))return Wc(this),a;Sc(this);return a},function(a){this.Z|= -2;this.A-=14+(0>this.ha?0:2);if(-4!=this.Ib.load(a,!0)&&512==(this.Ib.lb&2560)&&this.Ib.pc>=this.ya.$a&&this.Ib.pc>=(a&3))return Wc(this),a;Sc(this);return a},K,K],dc=[uc,uc,uc,uc,uc,uc,K,K],ah=[function(a){0>this.ha?G.call(this):(a=this.Ke-this.Kc,this.Oa(this.ha+2,this.Kc),this.Oa(this.ha+4,65280|this.Kc>>16),this.A-=11);return a},function(a){0>this.ha?G.call(this):(a=this.Le-this.Lc,this.Oa(this.ha+2,this.Lc),this.Oa(this.ha+4,65280|this.Lc>>16),this.A-=12);return a},function(a){0>this.ha?G.call(this): -(this.Kc=this.pa(this.ha+2)|this.pd(this.ha+4)<<16,this.Ke=this.Kc+a,this.Z|=2,this.A-=11);return a},function(a){0>this.ha?G.call(this):(this.Lc=this.pa(this.ha+2)|this.pd(this.ha+4)<<16,this.Le=this.Lc+a,this.Z|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.kc},K,function(a){Zd.call(this,a);this.A-=0>this.ha?3:6;this.Z|=2;return a},K]; -function O(a){u.call(this,"ChipSet",a,O);this.Ia=(this.Ia=a.model)?parseInt(this.Ia,10):bh;this.Ub=0;var b=a.sw1;if(b)this.Ub=ch(b,dh|eh.Kl);else{this.wd=[360,360];(b=a.floppies)&&b.length&&(this.wd=b);if(b=this.wd.length)this.Ub|=fh.vh,b--,this.Ub|=(b&3)<=gh&&(this.Ag=this.sf=2);this.Jd=a.scaleTimers||!1;this.Co=a.rtcDate;this.Yj= -!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Kh=new window.webkitAudioContext);this.reset(!0);z(this)}v(u,O);var bh=5150,gh=5170,hh={none:0,tv:1,color:2,mono:3,ega:0},fh={vh:1,ONE:0,tp:64,rp:128,Ro:192,jf:192,kf:6},dh=12,eh={sp:16,Jo:32,Kl:48,jf:48,kf:4};k=O.prototype; -k.Gb=function(a,b,c){switch(b){case "sw1":return this.sa[b]=c,ih(this,b,c,this.Ub,{0:this.Ia==bh?"Bootable Floppy Drive":"Loop on POST",1:this.Ia==bh?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ia==bh)return this.sa[b]=c,ih(this,b,c,this.Yd,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.sa[b]=c,!0}return!1}; -k.xc=function(a,b,c,d){this.ra=b;this.ka=c;this.Wa=d;this.Ta=a;this.Ha=Sa(a,"Keyboard");this.gh=c.ba.Zc/1193181;fb(b,this,jh);hb(b,this,kh);this.Ia=gh){this.mb=16;this.hd=0;this.gd=16;this.qg=0;this.de=160;512<=th(this)&&(this.de|=16);3==uh(this)&&(this.de|=64);this.Ch=3;this.tg=0;this.Xb=Array(7);this.Me=0;a&&(this.ja=Array(64));vh(this, -this.Co);for(a=21;24>=a;a++)this.ja[a]=0;for(a=14;46>a;a++)void 0===this.ja[a]&&(this.ja[a]=0);this.ja[20]=this.Sc&(eh.jf|2|fh.vh|fh.jf);this.ja[16]=wh(this,0)<<4|wh(this,1);xh(this)}}; -function vh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.ic("CMOS date invalid ("+b+"), using "+c)):b&&a.ic("CMOS date: "+c);a.ja[0]=c.getSeconds();a.ja[1]=0;a.ja[2]=c.getMinutes();a.ja[3]=0;a.ja[4]=c.getHours();a.ja[5]=0;a.ja[6]=c.getDay()+1;a.ja[7]=c.getDate();a.ja[8]=c.getMonth()+1;c=c.getFullYear();a.ja[9]=c%100;c/=100;a.ja[50]=c%10|c/10<<4;a.ja[10]=38;a.ja[11]=2;a.ja[12]=0;a.ja[13]=128;a.Uf=a.df=0;a.ol=a.eh=null} -function yh(a){var b;void 0===b&&(b=a.eh);a.df=C(a.ka,a.Jd)+b;a.ja[11]&64&&ub(a.ka,b)}function xh(a){for(var b=0,c=16;46>c;c++)b+=a.ja[c];a.ja[47]=b&255;a.ja[46]=b>>8} -k.save=function(){var a=new H(this);a.set(0,[this.Ub,this.Yd,this.Sc,this.Ce]);for(var b=[],c=0;c=gh&&(a.set(5,[this.mb,this.hd,this.gd,this.qg,this.de,this.Ch]),a.set(6,[this.tg,this.Xb,this.Me,this.ja,this.Uf,this.df]));return a.data()}; -k.restore=function(a){var b,c;b=a[0];this.Ub=b[0];this.Yd=b[1];this.Sc=b[2];this.Ce=b[3];b=a[1];for(c=0;c>2)+1)*a.kn+32*((b?a.Yd:a.Ce)&15)}function Fh(a,b){var c=b?a.Ub:a.Sc;return a.Ia!=bh||c&fh.vh?((c&fh.jf)>>fh.kf)+1:0} -function wh(a,b){if(b>eh.kf} -function ih(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=y(c,"pcjs-bitCell");c=null;for(g=0;gd.Za[0]&&(d.Za[0]=255,d.Za[1]--,0>d.Za[1]&&(d.Za[1]=255)));return e}function Kh(a,b,c,d){a=a.bb[b];c=a.zb[c];c.Za[a.Bb]=c.Zb[a.Bb]=d;a.Bb^=1} -function Lh(a,b){var c=a.bb[b],d=c.Cd|1;c.Cd&=-16;return d}function Mh(a,b,c){a=a.bb[b];b=c&3;a.Cd=a.Cd&~(16<>2].zb[b&3],c,d,e)} -function Oh(a,b,c){b=a.bb[b>>2].zb[b&3];b.Eg&&b.ai&&b.hh?(c&&(b.Fg=c),b.rd||ad(a,b,!0)):c&&c(!0)}function ad(a,b,c){c&&(b.count=b.Za[1]<<8|b.Za[0],b.Gl=b.mode&12,b.ak=b.Wc=!1);for(var d=!1;0<=b.count&&(c=b.xg<<16|b.Ya[1]<<8|b.Ya[0],4==b.Gl?(d=!0,function(c){b.ai.call(b.Eg,b.hh,-1,function(f,g){0>f&&(b.ak||(b.ak=!0),f=255);b.rd||a.ra.ze(c,f);(d=g)&&setTimeout(function(){Th(b)||ad(a,b)},0)})}(c)):8==b.Gl?(c=a.ra.pd(c),0>b.ai.call(b.Eg,b.hh,c)&&(b.Wc=!0)):b.Wc=!0),!d&&!Th(b););} -function Th(a){if(!a.Wc&&0<=--a.count&&(a.mode&32?(a.Ya[0]--,0>a.Ya[0]&&(a.Ya[0]=255,a.Ya[1]--,0>a.Ya[1]&&(a.Ya[1]=255))):(a.Ya[0]++,255>3];b=1<<(b&7);d.Mb&b||(d.Mb|=b,d.Kf=c||0,Wh(a))}function Zh(a,b){var c=a.Wb[b>>3],d=1<<(b&7);c.Mb&d&&(c.Mb&=~d,Wh(a))} -function Wh(a,b){var c,d=-1;1>=1),ub(a.ka,c))),2==b&&xb(a))}k=O.prototype;k.dn=function(){return null}; -k.qo=function(a,b){this.Hh=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Kb[c];g.oh=f;g.mode=e;g.Ij=d;g.Zb=[0,0];g.Za=[0,0];g.le=[0,0];g.Xc=!1;g.Bf=!1;g.pe=!1;ai(this,c);0==c&&Zh(this,0);2==c&&255==this.Wb[0].Tc&&77==this.uc&&(c=this.Kb[0],c.wc[0]=c.Zb[0],c.wc[1]=c.Zb[1],c.sd=C(this.ka,this.Jd))}else bi(this,c),d=this.Kb[c],d.le[0]=d.Za[0],d.le[1]=d.Za[1],d.Bf=!0,ai(this,c)}};function hi(a,b){var c=a.Kb[b],d=c.Zb[1]<<8|c.Zb[0];d||(d=1==c.ke?256:65536);return d} -function Ab(a,b){var c=a.Kb[b],d=c.wc[1]<<8|c.wc[0];d||(d=1==c.ke?256:65536);return d}function ai(a,b){var c=a.Kb[b];c.Fd=32==c.oh?1:0;c.ke=48==c.oh?2:1} -function bi(a,b,c){var d=a.Kb[b];if(d.pe&&(2!=b||a.uc&1)){var e=C(a.ka,a.Jd),f=(e-d.sd)/a.gh|0;0>f&&(d.sd=e,f=0);var g=hi(a,b),h=Ab(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.Xc=!0,d.pe=!1,b||Yh(a,0))):4==d.mode?(d.Xc=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.sd=e,!b&&d.Xc&&Yh(a,0))):6==d.mode&&(h-=f,0>=h&&(d.Xc=!d.Xc,h=g+h,0>=h&&(h=g),d.wc[0]=h&255,d.wc[1]=h>>8,d.sd=e,!b&&d.Xc&&Yh(a,0)));d.Za[0]=h&255;d.Za[1]=h>>8;c&&(a.sd=0)}return d} -function yb(a,b){for(var c=0;c=gh){var c=a.ka.ba.Zc,d=C(a.ka,a.Jd);null==a.eh&&(a.Uf=C(a.ka,a.Jd),a.ol=1024,a.eh=Math.floor(a.ka.ba.Zc/a.ol),yh(a));d>=a.df&&(a.ja[12]|=64,a.ja[11]&64&&(a.ja[12]|=128,Yh(a,8)),a.df=d+a.eh);a.ja[0]==a.ja[1]&&a.ja[2]==a.ja[3]&&a.ja[4]==a.ja[5]&&(a.ja[12]|=32,a.ja[11]&32&&(a.ja[12]|=128,Yh(a,8)));var e=d-a.Uf,f=Math.floor(e/c);if(f&&!(a.ja[11]&128)){for(;f--;)if(60<=++a.ja[0]&&(a.ja[0]=0,60<=++a.ja[2]&&(a.ja[2]=0,24<=++a.ja[4]))){a.ja[4]= -0;a.ja[6]=a.ja[6]%7+1;var g;g=a.ja[9];var h=ka[a.ja[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.ja[7]>g&&(a.ja[7]=1,12<++a.ja[8]&&(a.ja[8]=1,a.ja[9]=(a.ja[9]+1)%100))}a.ja[12]|=16;a.ja[11]&16&&(a.ja[12]|=128,Yh(a,8))}a.Uf=d-e%c}}k.Wm=function(){var a=this.wg;if(this.rf&16)if(this.uc&128)a=this.Sc;else if(this.Ha){var a=this.Ha,b=0;a.Lb.length&&(b=a.Lb[0]);a=b}return a};k.jo=function(a,b){this.wg=b};k.Xm=function(){return this.uc}; -k.ko=function(a,b){ii(this,b);this.Ha&&ji(this.Ha,b&128?!1:!0,b&64?!0:!1)};function ii(a,b){var c=!!(b&2),d=!!(a.uc&2);a.uc=b;c!=d&&xb(a,c)}k.Ym=function(){var a=0,a=this.Ia==bh?this.uc&4?a|this.Ce&15:a|this.Ce>>4&1:this.uc&8?a|this.Sc>>4:a|this.Sc&15;this.uc&1&&bi(this,2).Xc&&(a=this.uc&2?a|32:a|16);return a};k.lo=function(a,b){this.Fh=b};k.Zm=function(){return this.rf};k.mo=function(a,b){this.rf=b};k.mm=function(){var a=this.qg;this.mb&=-258;this.Ha&&ki(this.Ha);return a}; -k.zn=function(a,b){if(this.mb&8)switch(this.hd){case 96:li(this,b);break;case 209:mi(this,b);break;default:if(li(this,this.gd&-17),this.Ha){var c=-1;switch(b){case 255:c=250,ni(this.Ha)}oi(this,c)}}this.hd=b;this.mb&=-9};k.nm=function(){return this.uc&-209|(C(this.ka)&64?16:0)};k.An=function(a,b){ii(this,b)};k.om=function(){var a=this.mb&255;this.mb&256&&(this.mb|=1,this.mb&=-257);return a}; -k.yn=function(a,b){this.hd=b;this.mb|=8;var c=0;240<=this.hd&&(c=this.hd^15,this.hd=240);switch(this.hd){case 192:oi(this,this.de);break;case 173:li(this,this.gd|16);break;case 174:li(this,this.gd&-17);this.Ha&&ki(this.Ha);break;case 170:this.Ha&&(this.Ha.Lb=[]);li(this,this.gd|16);oi(this,85);mi(this,3);break;case 224:oi(this,this.gd&16?0:1);break;case 240:c&1&&yc(this.ka)}};function li(a,b){a.gd=b;a.mb=a.mb&-5|b&4;a.Ha&&ji(a.Ha,!!(b&8),!(b&16))} -function oi(a,b){0<=b&&(a.qg=b,a.mb&=-2,a.mb|=256)}function mi(a,b){a.Ch=b;Ya(a.ra,!!(b&2));b&1||yc(a.ka)}function pi(a,b){a.Ia=c)if(d=this.ja[c],10>c){var e=!1;4!=c&&5!=c||this.ja[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.ja[11]&4||(e&&128=c){if(e=b,10>c){var f=!1;this.ja[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.ja[c]=e;11==c&&d&64&&b&64&&yh(this)};k.Um=function(){return this.tg};k.fo=function(a,b){this.tg=b};k.io=function(a,b){this.vg=b};k.Qn=function(){};k.Rn=function(){}; -function ch(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.Ab[c++]=f[b]>>16&255,this.Ab[c++]=f[b]>>24&255;else this.Ab=d;this.Ah=d.symbols;if(!this.Ab.length){q("Empty ROM: "+a);return}if(1==this.Ab.length){q(this.Ab[0]);return}}catch(g){this.Aa("ROM data error: "+ -g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Ab=Array(a.length),d=0;d>d.xb].qj(e&d.Sa,a.Ab[c]&255)}return!0}return!1}za(function(){for(var a=y(window.document,"pcjs","rom"),b=0;bthis.pg?21:23,c=a.ja[b]|a.ja[b+1]<<8,c=c+(this.ud>>10);a.ja[b]=c&255;a.ja[b+1]=c>>8;xh(a)}}else q("No RAM allocated")}; -za(function(){for(var a=y(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,Ho:65,Io:66,uj:67,Il:68,E:69,Po:70,So:71,vj:72,Uo:73,Vo:74,Wo:75,Xo:76,Yo:77,wh:78,$o:79,ap:80,cp:81,xj:82,gp:83,qp:84,up:85,vp:86,wp:87,yp:88,zp:89,Ap:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Bp:97,Dp:98,Fp:99,Gp:100,Hp:101,Ip:102,Jp:103,Kp:104,Lp:105,Mp:106,Np:107, -Op:108,Pp:109,Qp:110,Sp:111,Tp:112,Up:113,Vp:114,Wp:115,Xp:116,Yp:117,$p:118,aq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},xi={};xi[186]=P[";"];xi[187]=P["="];xi[188]=P[","];xi[189]=P["-"];xi[190]=P["."];xi[191]=P["/"];xi[192]=P["`"];xi[219]=P["["];xi[220]=P["\\"];xi[221]=P["]"];xi[222]=P["'"];xi[173]=P["-"];var S={};S[P["1"]]=P["!"];S[P["2"]]=P["@"];S[P["3"]]=P["#"];S[P["4"]]=P.$;S[P["5"]]=P["%"];S[P["6"]]=P["^"];S[P["7"]]=P["&"];S[P["8"]]=P["*"];S[P["9"]]=P["("];S[P["0"]]=P[")"]; -S[186]=P[":"];S[187]=P["+"];S[188]=P["<"];S[189]=P._;S[190]=P[">"];S[191]=P["?"];S[192]=P["~"];S[219]=P["{"];S[220]=P["|"];S[221]=P["}"];S[222]=P['"'];S[173]=P._;S[61]=P["+"];S[59]=P[":"]; +0,0,1,1,0,1,0,0,1];function Cb(a,b,c,d){this.ma=a;this.$a=a.$a;this.id=b;this.zh=c||"";this.Pa=this.Ea=0;this.Xc=65535;this.pb=0;this.Gd=-4;this.uc=this.eb=0;this.Oj=this.id==Db?Array(32):[];this.ci=null;this.$g=!1;Eb(this,d)}var Db=1;function Fb(a){this.Ea=a;this.$h=0;return this.Pa=a<<4}function Gb(a,b){var c,d,e=this.ma;a&4?(c=e.ee.Pa,d=c+e.ee.Xc):(c=e.Qc,d=e.Te);if(!b||c){c+=a&65528;if(c+7<=d)return b||(e.A-=15),Hb(this,c,a,b);b||E.call(e,13,a)}return-4} +function Ib(a){var b=this.ma;a=b.Rc+(a<<2);b.xa=b.ra(a);this.Ea=b.ra(a+2);b.Ja&=-769;return this.Pa=this.Ea<<4}function Jb(a){var b=this.ma;a<<=3;var c=b.Rc+a;if(c+7<=b.Ue)return Hb(this,c,a);E.call(b,13,a|3,!0);return-4}function Kb(a){return this.Pa+a}function Mb(a){return this.Pa+a}function Nb(a,b,c){return a+b<=this.Xc?this.Pa+a:Ob.call(this,0,0,c)}function Pb(a,b,c){return a+b>this.Xc?this.Pa+a:Ob.call(this,0,0,c)}function Ob(a,b,c){c||E.call(this.ma,13,0);return-4} +function Qb(a,b,c){return a+b<=this.Xc?this.Pa+a:Rb.call(this,0,0,c)}function Sb(a,b,c){return a+b>this.Xc?this.Pa+a:Rb.call(this,0,0,c)}function Rb(a,b,c){c||E.call(this.ma,13,0);return-4} +function Tb(a,b){var c=this.ma,d=c.ob.Pa,e=this.eb,f=c.ob.Ea;if(!b){if(768!=c.ob.type)return E.call(c,10,a,!0),!1;c.Sa(c.ob.Gd+4,c.ob.pb&-769|256)}if(-4==c.ob.load(a))return!1;var g=c.ob.Pa;if(b){if(768==c.ob.type)return E.call(c,13,a,!0),!1;c.Sa(c.ob.Gd+4,c.ob.pb|=768);c.ob.type=768}c.Sa(d+14,c.xa);c.Sa(d+16,Ub(c));c.Sa(d+18,c.H);c.Sa(d+20,c.K);c.Sa(d+22,c.L);c.Sa(d+24,c.C);c.Sa(d+26,c.V);c.Sa(d+28,c.J);c.Sa(d+30,c.G);c.Sa(d+32,c.F);c.Sa(d+34,c.Ya.Ea);c.Sa(d+36,c.Ba.Ea);c.Sa(d+38,c.Ha.Ea);c.Sa(d+ +40,c.xb.Ea);var d=38,h=26;Vb(c,c.ra(g+16)|(b?16384:0));c.H=c.ra(g+18);c.K=c.ra(g+20);c.L=c.ra(g+22);c.C=c.ra(g+24);c.J=c.ra(g+28);c.G=c.ra(g+30);c.F=c.ra(g+32);c.Ya.load(c.ra(g+34));c.xb.load(c.ra(g+40));Wb(c,c.ra(g+14),c.ra(g+36));this.eb>13;if(6144<=h){C=c&3;if(C>a.eb){if(!1!==r&&!(J==a.eb||g&1024&&J<=a.eb)){m=-4;break}s=e.Na();e.Ha.load(e.Na());e.V=s;a.$g=!0}s=!1}else if(1024==h)s=!0,w=-1,t=c,Ch||2048==(h&2560))){d||E.call(e,13,c,!!g);m=-4;break}}else if(3==a.id){if(!r||4096>h||2048== +(h&2560)){d||E.call(e,13,c,!0);m=-4;break}}else if(4==a.id){if(!r||256!=h&&768!=h){d||E.call(e,10,c,!0);m=-4;break}}else if(6==a.id&&!(g&4096)&&768>13}else a.load=Fb,a.sk=Ib,a.Ic=Kb,a.cc=Mb,a.Xc=65535,a.eb=a.uc=0,a.Gd=-4} +function Yb(a){this.Ia=a.model||8088;var b=0;switch(this.Ia){default:case 8088:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}mb.call(this,a,b);this.Hj=61442;this.rg=1792;this.qg=4;this.of=255;this.B=80286<=this.Ia?Zb:$b;this.Za=ac.slice();this.Xl=bc.slice();this.Yl=cc.slice();this.Kj=dc;80186<=this.Ia&&(this.of=31,this.Za[15]=G,this.Za[96]=ec,this.Za[97]=fc,this.Za[98]=gc,this.Za[99]=G,this.Za[100]=G,this.Za[101]=G,this.Za[102]=G,this.Za[103]=G,this.Za[104]=hc,this.Za[105]=ic,this.Za[106]= +jc,this.Za[107]=kc,this.Za[108]=lc,this.Za[109]=mc,this.Za[110]=nc,this.Za[111]=oc,this.Za[192]=pc,this.Za[193]=qc,this.Za[200]=rc,this.Za[201]=sc,this.Za[241]=tc,this.Xl[7]=uc,this.Yl[7]=uc,80286<=this.Ia&&(this.Hj=2,this.rg|=28672,this.qg=0,this.Za[15]=xc,this.Za[99]=yc,this.Za[84]=zc));this.tg=[];this.Jj=[];this.fd=this.Lg=0;this.oa.Jf=this.oa.lm=!1;this.Ca=[];this.ke=this.Cb=this.Wa=this.rd=0;this.W=this.sm;this.X=this.tm;this.P=this.wn;this.Q=this.xn;this.S=this.Qo;this.T=this.Ro;Ac(this)} +v(mb,Yb); +var $b={oj:4,ca:5,wa:6,ha:7,ia:8,R:9,Y:11,Z:12,Ce:4,zk:60,Ak:83,Wb:3,zb:9,kc:16,nh:1,Ek:19,Gk:28,Ik:16,Hk:21,Fk:37,Ck:2,Ii:9,Dk:5,Bk:33,Ki:10,Ji:8,Zf:3,Yf:15,Wk:51,Xk:1,Yk:2,Zk:4,Vk:32,Li:15,al:15,Xb:16,Yb:4,cl:11,bl:18,$k:24,Jb:4,dl:2,Mi:16,el:17,Ri:18,fl:19,Qi:5,Si:6,kl:2,jl:8,hl:9,il:10,gl:10,Ti:10,Ui:10,Kk:80,Mk:144,Jk:86,Lk:154,Ok:101,Qk:165,Nk:107,Pk:171,ml:70,ol:113,ll:76,nl:124,Sk:80,Uk:128,Rk:86,Tk:134,ag:3,$f:16,Zi:10,Yi:8,pl:51,lc:8,ql:17,rl:36,vc:11,sl:16,bg:10,Zd:2,Fi:18,Gi:7,Hi:15,Ni:12, +Oi:7,Pi:11,Vi:18,Wi:7,Xi:15,$i:15,aj:7,bj:13,fj:11,gj:7,hj:8,tl:8,wl:12,ul:18,vl:17,xl:15,dj:8,cj:20,ej:2,kj:3,cg:9,jj:5,ij:11,mj:4,lj:17,yl:11},Zb={oj:0,ca:0,wa:0,ha:0,ia:0,R:0,Y:1,Z:1,Ce:3,zk:14,Ak:16,Wb:2,zb:7,kc:7,nh:0,Ek:7,Gk:13,Ik:7,Hk:11,Fk:16,Ck:3,Ii:6,Dk:2,Bk:13,Ki:5,Ji:5,Zf:2,Yf:7,Wk:23,Xk:0,Yk:1,Zk:3,Vk:17,Li:7,al:11,Xb:7,Yb:3,cl:7,bl:11,$k:15,Jb:2,dl:3,Mi:7,el:8,Ri:8,fl:8,Qi:4,Si:4,kl:2,jl:3,hl:5,il:2,gl:3,Ti:5,Ui:3,Kk:14,Mk:22,Jk:17,Lk:25,Ok:17,Qk:25,Nk:20,Pk:28,ml:13,ol:21,ll:16,nl:24, +Sk:13,Uk:21,Rk:16,Tk:24,ag:2,$f:7,Zi:5,Yi:5,pl:19,lc:5,ql:5,rl:17,vc:3,sl:5,bg:3,Zd:0,Fi:8,Gi:5,Hi:9,Ni:5,Oi:5,Pi:4,Vi:5,Wi:5,Xi:4,$i:7,aj:5,bj:8,fj:3,gj:4,hj:3,tl:11,wl:11,ul:15,vl:15,xl:7,dj:5,cj:8,ej:0,kj:2,cg:6,jj:3,ij:6,mj:3,lj:5,yl:5};k=Yb.prototype;k.ri=function(a,b,c,d,e){this.Ca=a;this.ke=b;this.Cb=c;this.Wa=d;this.rd=e};k.reset=function(){this.oa.Mb&&B(this);Ac(this);pb(this);this.oa.dd=!1}; +function Ac(a){a.H=0;a.C=0;a.K=0;a.L=0;a.V=0;a.J=0;a.G=0;a.F=0;a.pc=65520;a.Rc=0;a.Ue=1023;a.mf=0;a.mh=-1;a.Ba=new Cb(a,Db,"CS");a.xb=new Cb(a,2,"DS");a.Ya=new Cb(a,2,"ES");a.Ha=new Cb(a,3,"SS");80386<=a.Ia&&(a.Oo=new Cb(a,2,"FS"),a.Po=new Cb(a,2,"GS"));a.Ll=new Cb(a,0,"NULL");Wb(a,0,65535);80286<=a.Ia&&(a.Qc=0,a.Te=65535,a.ee=new Cb(a,5,"LDT",!0),a.ob=new Cb(a,4,"TSS",!0),a.Nb=new Cb(a,6,"VER",!0),Wb(a,65520,61440),a.Ba.Pa=16711680);Vb(a,0);Bc(a);a.sb=0;a.Kb=a.jg=-1;a.Eg=0;a.ja=a.Oa=-4;a.D=a.xb; +a.O=a.Ha;a.ba=a.za=0;a.pf=2;a.I=65535;a.U=~a.I;a.sa=65535;a.ib=~a.sa;a.Zc=Cc;a.$c=Dc;a.je=Ec;a.Dc=Fc;a.Bb=Gc;a.Pc=Hc}k.mk=function(){var a=this.H+this.C+this.K+this.L+this.V+this.J+this.G+this.F|0;return a=a+this.xa+this.Ba.Ea+this.xb.Ea+this.Ha.Ea+this.Ya.Ea+Ub(this)|0};function Ic(a,b,c,d){void 0!==d&&(void 0===a.tg[b]&&(a.tg[b]=[]),a.tg[b].push([c,d]))}function Jc(a,b){var c=a.Jj[b];null!=c&&(c(--a.Lg),delete a.Jj[b])} +function Bc(a,b){void 0===b&&(b=!!(a.pc&1));b||a.mc("returning to real-mode");a.Kj=b?Kc:dc;Eb(a.Ba,b);Eb(a.xb,b);Eb(a.Ha,b);Eb(a.Ya,b)} +k.save=function(){var a=new H(this);a.set(0,[this.H,this.C,this.K,this.L,this.V,this.J,this.G,this.F,this.mf]);a.set(1,[this.xa,this.Ba.save(),this.xb.save(),this.Ha.save(),this.Ya.save(),null!=this.Qc?[this.pc,this.Qc,this.Te,this.Rc,this.Ue,this.ee.save(),this.ob.save(),this.mf]:null,Ub(this)]);a.set(2,[this.D.zh,this.O.zh,this.ba,this.za,this.sb,this.ja,this.Oa]);a.set(3,[0,this.Ee,this.da.Wd]);a.set(4,eb(this.ua));return a.data()}; +k.restore=function(a){var b;b=a[0];this.H=b[0];this.C=b[1];this.K=b[2];this.L=b[3];this.V=b[4];this.J=b[5];this.G=b[6];this.F=b[7];this.mf=b[8]||0;b=a[1];this.Ba.restore(b[1]);this.xb.restore(b[2]);this.Ha.restore(b[3]);this.Ya.restore(b[4]);var c=b[5];c&&c.length&&(this.pc=c[0],this.Qc=c[1],this.Te=c[2],this.Rc=c[3],this.Ue=c[4],this.ee.restore(c[5]),this.ob.restore(c[6]),this.mf=c[7],Bc(this));Vb(this,b[6]);I(this,b[0]);80386<=this.Ia&&(this.Oo.restore(b[7]),this.Po.restore(b[8]));b=a[2];this.D= +null!=b[0]&&Lc(this,b[0])||this.xb;this.O=null!=b[1]&&Lc(this,b[1])||this.Ha;this.ba=b[2];this.za=b[3];this.sb=b[4];this.ja=b[5];this.Oa=b[6];b=a[3];this.Ee=b[1];ub(this,b[2]);a:{b=this.ua;a=a[4];for(c=0;c>1?128:0}function Vc(a){return(a.ka^a.pa^a.ka>>1)&a.ea>>1?2048:0}function Wc(a){a.aa&=~a.ea}function Xc(a){a.pa=a.ka&16|a.pa&-17}function Yc(a){a.aa|=a.ea-1} +function Zc(a){a.ka&=~a.ea;a.pa=a.ka&32896|a.pa&-32897}function $c(a){a.aa|=a.ea}function ad(a){a.pa=~(a.ka&16)&16|a.pa&-17}function bd(a){a.aa&=~(a.ea-1)}function cd(a){Uc(a)||(a.ka^=a.ea>>1|a.ea>>2,a.pa^=32896)}function dd(a){a.ka|=a.ea;a.pa=a.ka&32896|a.pa&-32897}function Ub(a){return a.Ja&-2262|Qc(a)|Rc(a)|Sc(a)|Tc(a)|Uc(a)|Vc(a)} +function Vb(a,b,c){a.ea=256;a.aa=a.ka=a.pa=0;b&1&&$c(a);b&4||(a.ka|=1);b&16&&(a.pa|=16);b&64||Yc(a);b&128&&cd(a);b&2048&&dd(a);a.pc&1||(b&=-61441);void 0===c&&(c=a.Ba.eb);c?b=b&-12289|a.Ja&12288:a.mf=(b&12288)>>12;c>a.mf&&(b=b&-513|a.Ja&512);a.Ja=a.Ja&~a.rg|b&a.rg|a.Hj;a.Ja&256&&(a.sb|=2,a.ba|=4)} +k.Lb=function(a,b,c){var d=!1;switch(b){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.va[b]=c;d=!0;break;default:d=mb.prototype.Lb.call(this,a,b,c)}return d};k.xd=function(a){return this.Ca[(a&this.ke)>>this.Cb].oc(a&this.Wa)}; +k.ra=function(a){var b=a&this.Wa;a=(a&this.ke)>>this.Cb;this.A-=this.B.oj;return b!=this.Wa?this.Ca[a].Cl(b):this.Ca[a++].oc(b)|this.Ca[a&this.rd].oc(0)<<8};k.Ie=function(a,b){this.Ca[(a&this.ke)>>this.Cb].qc(a&this.Wa,b&255)};k.Sa=function(a,b){var c=a&this.Wa,d=(a&this.ke)>>this.Cb;this.A-=this.B.oj;c!=this.Wa?this.Ca[d].Ql(c,b&65535):(this.Ca[d++].qc(c,b&255),this.Ca[d&this.rd].qc(0,b>>8&255))};k.sm=function(a,b){this.mg=a;this.ja=a.Ic(this.fg=b,0);return this.ba&1?0:this.xd(this.ja)}; +k.tm=function(a,b){this.mg=a;this.ja=a.Ic(this.fg=b,1);return this.ba&1?0:this.ra(this.ja)};k.wn=function(a,b){this.mg=a;this.Oa=this.ja=a.Ic(this.fg=b,0);return this.ba&1?0:this.xd(this.ja)};k.xn=function(a,b){this.mg=a;this.Oa=this.ja=a.Ic(this.fg=b,1);return this.ba&1?0:this.ra(this.ja)};k.Qo=function(a){this.ba&2||this.Ie(this.mg.cc(this.fg,0),a)};k.Ro=function(a){this.ba&2||this.Sa(this.mg.cc(this.fg,1),a)};k.fa=function(){var a=this.xd(this.Ga);this.Ga=this.Ba.Pa+(this.xa=this.xa+1&65535);return a}; +k.N=function(){var a=this.xd(this.Ga)<<24>>24;this.Ga=this.Ba.Pa+(this.xa=this.xa+1&65535);return a&65535};k.M=function(){var a=this.ra(this.Ga);this.Ga=this.Ba.Pa+(this.xa=this.xa+2&65535);return a};k.Na=function(){var a=this.V;this.V=this.V+2&65535;return this.ra(this.Ha.Ic(a,1))};function F(a,b){var c=a.V=a.V-2&65535;a.Sa(a.Ha.cc(c,1),b)} +k.Ze=function(a){if(a||!this.oa.Mb||this.oa.bk)A(this,"AX",this.H),A(this,"BX",this.C),A(this,"CX",this.K),A(this,"DX",this.L),A(this,"SP",this.V),A(this,"BP",this.J),A(this,"SI",this.G),A(this,"DI",this.F),A(this,"CS",this.Ba.Ea),A(this,"DS",this.xb.Ea),A(this,"SS",this.Ha.Ea),A(this,"ES",this.Ya.Ea),A(this,"IP",this.xa),a=Ub(this),A(this,"PS",a),A(this,"C",a&1?1:0,1),A(this,"P",a&4?1:0,1),A(this,"A",a&16?1:0,1),A(this,"Z",a&64?1:0,1),A(this,"S",a&128?1:0,1),A(this,"T",a&256?1:0,1),A(this,"I",a& +512?1:0,1),A(this,"D",a&1024?1:0,1),A(this,"V",a&2048?1:0,1);if(a=this.va.speed)a.textContent=this.oa.Mb&&this.da.Ud?this.da.Ud.toFixed(2)+"Mhz":"Stopped"}; +k.Nl=function(a){this.oa.Jf=!0;this.oa.lm=!1;this.oa.jk=!1;this.fd=this.A=a;this.na&&!a&&zb(this.na);a||(this.ba|=4);do{if(a=this.ba&240)this.za|=a;else if(this.gg=this.Ga,this.ja=this.Oa=-4,this.D=this.xb,this.O=this.Ha,this.za=this.ba&256,this.sb){a:{if(!(this.ba&4))if(this.sb&1&&this.Ja&512){if(a=ed(this.na),-1<=a&&(this.sb&=-2,0<=a)){this.sb&=-5;fd.call(this,a,null,11);break a}}else if(this.sb&2){this.sb&=-3;fd.call(this,1,null,11);break a}if(a=this.sb&8){a=this.na;for(var b=!1,c=0;cthis.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return(this.aa=this.ka=a+b)&255} +function id(a,b){this.ea=256;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return(this.aa=this.ka=this.pa=a|b)&255}function jd(a,b){this.pa=a^b;this.aa=this.ka=a+b+(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return this.aa&255}function kd(a,b){this.pa=a^b;this.aa=this.ka=a-b-(this.aa&this.ea?1:0);this.ea=256;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return this.aa&255} +function ld(a,b){this.ea=256;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return(this.aa=this.ka=this.pa=a&b)&255}function md(a,b){this.pa=a^b;this.ea=256;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return(this.aa=this.ka=a-b)&255}function nd(a,b){this.ea=256;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return(this.aa=this.ka=this.pa=a^b)&255} +function od(a,b){this.pa=a^b;this.ea=256;this.aa=this.ka=a-b;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.Ii:this.B.zb;this.ba|=2;return a}function pd(a,b){this.pa=a^b;this.ea=65536;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return(this.aa=this.ka=a+b)&65535}function qd(a,b){this.ea=65536;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return(this.aa=this.ka=this.pa=a|b)&65535} +function rd(a,b){this.pa=a^b;this.aa=this.ka=a+b+(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return this.aa&65535}function sd(a,b){this.pa=a^b;this.aa=this.ka=a-b-(this.aa&this.ea?1:0);this.ea=65536;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return this.aa&65535}function td(a,b){this.ea=65536;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return(this.aa=this.ka=this.pa=a&b)&65535} +function wd(a,b){this.pa=a^b;this.ea=65536;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return(this.aa=this.ka=a-b)&65535}function xd(a,b){this.ea=65536;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.zb:this.B.kc;return(this.aa=this.ka=this.pa=a^b)&65535}function yd(a,b){this.pa=a^b;this.ea=65536;this.aa=this.ka=a-b;this.A-=0>this.Oa?0>this.ja?this.B.Wb:this.B.Ii:this.B.zb;this.ba|=2;return a}function zd(a,b){this.aa=this.aa&this.ea-1|(a&b?this.ea:0);(a^a>>1)&b>>1?dd(this):Zc(this)} +function Ad(){this.A-=0>this.ja?2:this.B.xl;return 1}function Bd(){var a=this.K&this.of;this.A-=(0>this.ja?this.B.dj:this.B.cj)+(a<this.ja?this.B.dj:this.B.cj)+(a<this.Oa?this.B.lc:this.B.ql;return b},Ed,Ed,Ed,Ed,Ed,Ed,Ed],Id=[function(a,b){this.A-=0>this.Oa?this.B.il:this.B.gl;return b},M,M,M,M,M,M,M],Jd=[function(a,b){var c=a;if(b){var d,e=b&7;e?c=(d=a<>8-e)&255:d=a<<8;zd.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d,c=b&7,c=d=(a>>c|a<<8-c)&255;d&128&&(d|=256);zd.call(this,d,256)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.of)%9)?(d=a<< +d|(this.aa&this.ea?1:0)<>9-d,c=d&255):d=a|(this.aa&this.ea?1:0)<<8;zd.call(this,d,256)}return c},function(a,b){var c=a;b&&(c=(b&this.of)%9,c=a>>c|(this.aa&this.ea?1:0)<<8-c|a<<9-c,zd.call(this,c,256),c&=255);return c},function(a,b){var c=a;b&&(c=8>b-1;this.aa=this.ka=c>>1;this.aa=c&1?this.aa|256:this.aa&-257;this.pa=a^this.aa;this.ea=256;a=this.aa}return a&255},M,function(a,b){if(b){8< +b&&(b=9);var c=a<<24>>24>>b-1;this.aa=this.ka=c>>1;this.aa=c&1?this.aa|256:this.aa&-257;this.pa=a^this.aa;this.ea=256;a=this.aa}return a&255}],Kd=[function(a,b){var c=a;if(b){var d,e=b&15;e?c=(d=a<>16-e)&65535:d=a<<16;zd.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d,c=b&15,c=d=(a>>c|a<<16-c)&65535;d&32768&&(d|=65536);zd.call(this,d,65536)}return c},function(a,b){var c=a;if(b){var d;(d=(b&this.of)%17)?(d=a<>17-d,c=d&65535):d=a|(this.aa&this.ea? +1:0)<<16;zd.call(this,d,65536)}return c},function(a,b){var c=a;b&&(c=(b&this.of)%17,c=a>>c|(this.aa&this.ea?1:0)<<16-c|a<<17-c,zd.call(this,c,65536),c&=65535);return c},function(a,b){var c=a;b&&(c=16>b-1;this.aa=this.ka=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.pa=a^this.aa;this.ea=65536;a=this.aa}return a&65535},M,function(a,b){if(b){16>16>>b-1;this.aa= +this.ka=c>>1;this.aa=c&1?this.aa|65536:this.aa&-65537;this.pa=a^this.aa;this.ea=65536;a=this.aa}return a&65535}],Md=[function(a,b){b=this.fa();this.aa=this.ka=this.pa=a&b;this.ea=256;this.A-=0>this.ja?this.B.jj:this.B.ij;this.ba|=2;return a},M,function(a){this.A-=0>this.ja?this.B.ag:this.B.$f;return a^255},function(a,b){b=0;this.pa=a^b;this.ea=256;this.A-=0>this.ja?this.B.ag:this.B.$f;return(this.aa=this.ka=b-a)&255},function(a){this.H=this.Kb=(this.aa=(this.H&255)*a)&65535;this.pa=this.ka=this.aa; +this.ea=256;this.H&65280?($c(this),dd(this)):(Wc(this),Zc(this));this.A-=0>this.ja?this.B.ml:this.B.ll;this.ba|=2;return a},function(a){var b=(this.H<<24>>24)*(a<<24>>24);this.H=this.Kb=b&65535;this.aa=this.pa=this.ka=b;this.ea=256;127b?($c(this),dd(this)):(Wc(this),Zc(this));this.A-=0>this.ja?this.B.Sk:this.B.Rk;this.ba|=2;return a},function(a){if(!a)return Ld.call(this),a;var b=this.H/a;if(255this.ja?this.B.Kk:this.B.Jk;this.ba|=2;return a},function(a){if(!a)return Ld.call(this),a;var b=(this.H<<16>>16)/(a<<24>>24);if(b>b<<24>>24&65535)return Ld.call(this),a;this.Kb=this.H=b&255|((this.H<<16>>16)%(a<<24>>24)&255)<<8;this.ka=this.pa=this.aa=b|256;this.ea=256;this.A-=0>this.ja?this.B.Ok:this.B.Nk;this.ba|=2;return a}],Nd=[function(a,b){b=this.M();this.aa=this.ka=this.pa=a&b;this.ea=65536;this.A-=0>this.ja?this.B.jj:this.B.ij;this.ba|=2;return a},M,function(a){this.A-= +0>this.ja?this.B.ag:this.B.$f;return a^65535},function(a,b){b=0;this.pa=a^b;this.ea=65536;this.A-=0>this.ja?this.B.ag:this.B.$f;return(this.aa=this.ka=b-a)&65535},function(a){this.Kb=this.H=(this.aa=this.H*a)&65535;this.jg=this.L=this.aa>>16&65535;this.pa=this.ka=this.aa;this.ea=65536;this.L?($c(this),dd(this)):(Wc(this),Zc(this));this.A-=0>this.ja?this.B.ol:this.B.nl;this.ba|=2;return a},function(a){var b=(this.H<<16>>16)*(a<<16>>16);this.H=this.Kb=b&65535;this.L=this.jg=b>>16&65535;this.aa=this.pa= +this.ka=b;this.ea=65536;32767b?($c(this),dd(this)):(Wc(this),Zc(this));this.A-=0>this.ja?this.B.Uk:this.B.Tk;this.ba|=2;return a},function(a,b){if(!a)return Ld.call(this),a;b=this.H+65536*this.L;var c=Math.floor(b/a);if(65536<=c)return Ld.call(this),a;this.Kb=this.H=c&65535;this.jg=this.L=b%a&65535;this.ka=this.pa=this.aa=c|65536;this.ea=65536;this.A-=0>this.ja?this.B.Mk:this.B.Lk;this.ba|=2;return a},function(a,b){if(!a)return Ld.call(this),a;var c=a<<16>>16;b=this.L<<16|this.H;var d= +Math.floor(b/c);if(d!=(d&65535)<<16>>16)return Ld.call(this),a;this.Kb=this.H=d&65535;this.jg=this.L=b%c&65535;this.ka=this.pa=this.aa=d|65536;this.ea=65536;this.A-=0>this.ja?this.B.Qk:this.B.Pk;this.ba|=2;return a}],bc=[function(a){this.pa=a;a=(this.ka=a+1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.Zf:this.B.Yf;return a},function(a){this.pa=a;a=(this.ka=a-1)&255;this.aa=a|(this.aa&this.ea?1:0)<<8;this.ea=256;this.A-=0>this.ja?this.B.Zf:this.B.Yf;return a},M,M,M, +M,M,M],cc=[function(a){this.pa=a;a=(this.ka=a+1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.Zf:this.B.Yf;return a},function(a){this.pa=a;a=(this.ka=a-1)&65535;this.aa=a|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=0>this.ja?this.B.Zf:this.B.Yf;return a},function(a){F(this,this.xa);I(this,a);this.A-=0>this.ja?this.B.Ik:this.B.Hk;this.ba|=2;return a},function(a){if(0>this.ja)return M.call(this,a);Od.call(this,a,this.ra(this.ja+2));this.A-=this.B.Fk;this.ba|= +2;return a},function(a){I(this,a);this.A-=0>this.ja?this.B.cl:this.B.bl;this.ba|=2;return a},function(a){if(0>this.ja)return M.call(this,a);Wb(this,a,this.ra(this.ja+2));this.Lg&&Jc(this,this.Ga);this.A-=this.B.$k;this.ba|=2;return a},function(a){var b=a;this.ba&512&&(a=a-2&65535,80286>this.Ia&&(b=a));F(this,b);this.A-=0>this.ja?this.B.vc:this.B.sl;this.ba|=2;return a},Ed];function Pd(a,b){this.A-=0>this.Oa?0>this.ja?this.B.kl:this.B.jl:this.B.hl;return b} +function Qd(){return Pd.call(this,0,this.Kb)}function Rd(a,b){this.aa=this.ka=this.pa=a&b;this.ea=256;this.A-=0>this.Oa?0>this.ja?this.B.kj:this.B.cg:this.B.cg;this.ba|=2;return a}function Sd(a,b){this.aa=this.ka=this.pa=a&b;this.ea=65536;this.A-=0>this.Oa?0>this.ja?this.B.kj:this.B.cg:this.B.cg;this.ba|=2;return a} +function Td(a,b){var c=(b<<16>>16)*(this.fa()<<24>>24);this.aa=this.pa=this.ka=c;this.ea=256;32767c?($c(this),dd(this)):(Wc(this),Zc(this));this.A-=0>this.ja?21:24;return c&65535}function Ud(a,b){var c=(b<<16>>16)*(this.M()<<16>>16);this.aa=this.pa=this.ka=c;this.ea=65536;32767c?($c(this),dd(this)):(Wc(this),Zc(this));this.A-=0>this.ja?21:24;return c&65535}function Vd(a){return a}function Wd(a){if(0>this.ja)return N.call(this),a;this.A-=this.B.dl;return this.ja} +function Xd(a,b){if(0>this.ja)return N.call(this),a;Nc(this,this.ra(this.ja+2));this.A-=this.B.Mi;return b}function Yd(a,b){if(0>this.ja)return N.call(this),a;Pc(this,this.ra(this.ja+2));this.A-=this.B.Mi;return b}function Zd(a){if(0>this.ja)return G.call(this),a;var b=a<<16>>16,c=this.ra(this.ja)<<16>>16,d=this.ra(this.ja+2)<<16>>16;this.A-=this.B.Bk;if(bd)I(this,this.gg-this.Ba.Pa),fd.call(this,5,null,0);this.ba|=2;return a} +function $d(a,b){this.A-=10+(0>this.ja?0:1);if((a&3)<(b&3))return a=a&-4|b&3,bd(this),a;Yc(this);return a}function ae(a,b){this.A-=14+(0>this.ja?0:2);if(-4!=this.Nb.load(b,!0)&&this.Nb.uc>=this.Ba.eb&&this.Nb.uc>=(b&3))return bd(this),this.Nb.pb&65280;Yc(this);return a}function be(a,b){this.A-=14+(0>this.ja?0:2);if(b&65528&&-4!=this.Nb.load(b,!0)&&(7168==(this.Nb.pb&7168)||this.Nb.uc>=this.Ba.eb)&&this.Nb.uc>=(b&3))return bd(this),this.Nb.Xc;Yc(this);return a} +function ce(a,b){if(0>this.ja){switch(this.Eg&7){case 0:this.H=this.H&-256|a;break;case 1:this.K=this.K&-256|a;break;case 2:this.L=this.L&-256|a;break;case 3:this.C=this.C&-256|a;break;case 4:this.H=this.H&255|a<<8;break;case 5:this.K=this.K&255|a<<8;break;case 6:this.L=this.L&255|a<<8;break;case 7:this.C=this.C&255|a<<8}this.A-=this.B.mj}else this.Oa=this.ja,this.S(a),this.A-=this.B.lj;return b} +function de(a,b){if(0>this.ja){switch(this.Eg&7){case 0:this.H=a;break;case 1:this.K=a;break;case 2:this.L=a;break;case 3:this.C=a;break;case 4:this.V=a;break;case 5:this.J=a;break;case 6:this.G=a;break;case 7:this.F=a}this.A-=this.B.mj}else this.Oa=this.ja,this.T(a),this.A-=this.B.lj;return b}function ee(a){a|=this.pc&1;this.pc=this.pc&65520|a&-65521;this.pc&1&&Bc(this,!0)}function Od(a,b){var c=this.Ba.Ea,d=this.xa;null!=Wb(this,a,b,!0)&&(F(this,c),F(this,d))} +function fe(a){var b=this.Na(),c=this.Na();a&&(this.V=this.V+a&65535);Wb(this,b,c,!1)&&(a&&(this.V=this.V+a&65535),this.xb.Ea&65528&&this.xb.ucthis.mh)I(this,this.gg-this.Ba.Pa),d=!0;else if(8!=this.mh)b=0,a=8,d=!0;else{ge.call(this,-1,0,c);Ac(this);return}ge.call(this,a,b,c)&&(d=!1);d&&fd.call(this,this.mh=a,b,0);this.ba&=-4}else this.mc("Fault "+ca(a)+" blocked by Debugger",536870912),I(this,this.gg-this.Ba.Pa)} +function ge(a,b,c){var d=32,e=bb(this.ua,this.Ga);204==e&&(c=!1,d|=1);983040<=this.Ga&&1048575>=this.Ga&&(c=!1);c&&(a=(c?"\n":"")+"Fault "+ca(a)+(null!=b?" ("+p(b,4)+")":"")+" on opcode 0x"+ca(e)+" at "+da(this.xa,this.Ba.Ea)+" (%"+p(this.Ga,6)+")",b=this.oa.Mb,this.mc(a,d)?c&&(c=b,B(this.$a)):(this.Da(a),B(this)));return c}function G(){E.call(this,6);B(this)}function N(){I(this,this.gg-this.Ba.Pa);Qa(this,"Undefined opcode 0x"+ca(bb(this.ua,this.Ga))+" at "+da(this.xa,this.Ba.Ea));B(this)} +function he(a){a=a.call(this,this.H&255,this.H&255);this.H=this.H&-256|a}function ie(a){a=a.call(this,this.H&255,this.K&255);this.H=this.H&-256|a}function je(a){a=a.call(this,this.H&255,this.L&255);this.H=this.H&-256|a}function ke(a){a=a.call(this,this.H&255,this.C&255);this.H=this.H&-256|a}function le(a){a=a.call(this,this.H&255,this.H>>8&255);this.H=this.H&-256|a}function me(a){a=a.call(this,this.H&255,this.K>>8&255);this.H=this.H&-256|a} +function ne(a){a=a.call(this,this.H&255,this.L>>8&255);this.H=this.H&-256|a}function oe(a){a=a.call(this,this.H&255,this.C>>8&255);this.H=this.H&-256|a}function pe(a){a=a.call(this,this.K&255,this.H&255);this.K=this.K&-256|a}function qe(a){a=a.call(this,this.K&255,this.K&255);this.K=this.K&-256|a}function re(a){a=a.call(this,this.K&255,this.L&255);this.K=this.K&-256|a}function se(a){a=a.call(this,this.K&255,this.C&255);this.K=this.K&-256|a} +function te(a){a=a.call(this,this.K&255,this.H>>8&255);this.K=this.K&-256|a}function ue(a){a=a.call(this,this.K&255,this.K>>8&255);this.K=this.K&-256|a}function ve(a){a=a.call(this,this.K&255,this.L>>8&255);this.K=this.K&-256|a}function we(a){a=a.call(this,this.K&255,this.C>>8&255);this.K=this.K&-256|a}function xe(a){a=a.call(this,this.L&255,this.H&255);this.L=this.L&-256|a}function ye(a){a=a.call(this,this.L&255,this.K&255);this.L=this.L&-256|a} +function ze(a){a=a.call(this,this.L&255,this.L&255);this.L=this.L&-256|a}function Ae(a){a=a.call(this,this.L&255,this.C&255);this.L=this.L&-256|a}function Be(a){a=a.call(this,this.L&255,this.H>>8&255);this.L=this.L&-256|a}function Ce(a){a=a.call(this,this.L&255,this.K>>8&255);this.L=this.L&-256|a}function De(a){a=a.call(this,this.L&255,this.L>>8&255);this.L=this.L&-256|a}function Ee(a){a=a.call(this,this.L&255,this.C>>8&255);this.L=this.L&-256|a} +function Fe(a){a=a.call(this,this.C&255,this.H&255);this.C=this.C&-256|a}function Ge(a){a=a.call(this,this.C&255,this.K&255);this.C=this.C&-256|a}function He(a){a=a.call(this,this.C&255,this.L&255);this.C=this.C&-256|a}function Ie(a){a=a.call(this,this.C&255,this.C&255);this.C=this.C&-256|a}function Je(a){a=a.call(this,this.C&255,this.H>>8&255);this.C=this.C&-256|a}function Ke(a){a=a.call(this,this.C&255,this.K>>8&255);this.C=this.C&-256|a} +function Le(a){a=a.call(this,this.C&255,this.L>>8&255);this.C=this.C&-256|a}function Me(a){a=a.call(this,this.C&255,this.C>>8&255);this.C=this.C&-256|a}function Ne(a){a=a.call(this,this.H>>8&255,this.H&255);this.H=this.H&-65281|a<<8}function Oe(a){a=a.call(this,this.H>>8&255,this.K&255);this.H=this.H&-65281|a<<8}function Pe(a){a=a.call(this,this.H>>8&255,this.L&255);this.H=this.H&-65281|a<<8}function Qe(a){a=a.call(this,this.H>>8&255,this.C&255);this.H=this.H&-65281|a<<8} +function Re(a){a=a.call(this,this.H>>8&255,this.H>>8&255);this.H=this.H&-65281|a<<8}function Se(a){a=a.call(this,this.H>>8&255,this.K>>8&255);this.H=this.H&-65281|a<<8}function Te(a){a=a.call(this,this.H>>8&255,this.L>>8&255);this.H=this.H&-65281|a<<8}function Ue(a){a=a.call(this,this.H>>8&255,this.C>>8&255);this.H=this.H&-65281|a<<8}function Ve(a){a=a.call(this,this.K>>8&255,this.H&255);this.K=this.K&-65281|a<<8}function We(a){a=a.call(this,this.K>>8&255,this.K&255);this.K=this.K&-65281|a<<8} +function Xe(a){a=a.call(this,this.K>>8&255,this.L&255);this.K=this.K&-65281|a<<8}function Ye(a){a=a.call(this,this.K>>8&255,this.C&255);this.K=this.K&-65281|a<<8}function Ze(a){a=a.call(this,this.K>>8&255,this.H>>8&255);this.K=this.K&-65281|a<<8}function $e(a){a=a.call(this,this.K>>8&255,this.K>>8&255);this.K=this.K&-65281|a<<8}function af(a){a=a.call(this,this.K>>8&255,this.L>>8&255);this.K=this.K&-65281|a<<8}function bf(a){a=a.call(this,this.K>>8&255,this.C>>8&255);this.K=this.K&-65281|a<<8} +function cf(a){a=a.call(this,this.L>>8&255,this.H&255);this.L=this.L&-65281|a<<8}function df(a){a=a.call(this,this.L>>8&255,this.K&255);this.L=this.L&-65281|a<<8}function ef(a){a=a.call(this,this.L>>8&255,this.L&255);this.L=this.L&-65281|a<<8}function ff(a){a=a.call(this,this.L>>8&255,this.C&255);this.L=this.L&-65281|a<<8}function gf(a){a=a.call(this,this.L>>8&255,this.H>>8&255);this.L=this.L&-65281|a<<8}function hf(a){a=a.call(this,this.L>>8&255,this.K>>8&255);this.L=this.L&-65281|a<<8} +function jf(a){a=a.call(this,this.L>>8&255,this.L>>8&255);this.L=this.L&-65281|a<<8}function kf(a){a=a.call(this,this.L>>8&255,this.C>>8&255);this.L=this.L&-65281|a<<8}function lf(a){a=a.call(this,this.C>>8&255,this.H&255);this.C=this.C&-65281|a<<8}function mf(a){a=a.call(this,this.C>>8&255,this.K&255);this.C=this.C&-65281|a<<8}function nf(a){a=a.call(this,this.C>>8&255,this.L&255);this.C=this.C&-65281|a<<8}function of(a){a=a.call(this,this.C>>8&255,this.C&255);this.C=this.C&-65281|a<<8} +function pf(a){a=a.call(this,this.C>>8&255,this.H>>8&255);this.C=this.C&-65281|a<<8}function qf(a){a=a.call(this,this.C>>8&255,this.K>>8&255);this.C=this.C&-65281|a<<8}function rf(a){a=a.call(this,this.C>>8&255,this.L>>8&255);this.C=this.C&-65281|a<<8}function sf(a){a=a.call(this,this.C>>8&255,this.C>>8&255);this.C=this.C&-65281|a<<8} +var Cc=[function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.G&65535),this.H&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.H&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G&65535),this.H&255);this.S(a);this.A-=this.B.ca}, +function(a){a=a.call(this,this.P(this.D,this.F&65535),this.H&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.M()),this.H&255);this.S(a);this.A-=this.B.wa},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.H&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.K&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this, +this.P(this.O,this.J+this.G&65535),this.K&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.K&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G&65535),this.K&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.K&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.M()),this.K&255);this.S(a);this.A-=this.B.wa},function(a){a=a.call(this,this.P(this.D,this.C& +65535),this.K&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.L&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.L&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.G&65535),this.L&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.L&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G& +65535),this.L&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.L&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.M()),this.L&255);this.S(a);this.A-=this.B.wa},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.L&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.C&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.C&255); +this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.G&65535),this.C&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.C&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G&65535),this.C&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.C&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.M()),this.C&255);this.S(a);this.A-= +this.B.wa},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.C&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.H>>8&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.H>>8&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.G&65535),this.H>>8&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.H>>8&255);this.S(a); +this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G&65535),this.H>>8&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.H>>8&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.M()),this.H>>8&255);this.S(a);this.A-=this.B.wa},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.H>>8&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.K>>8&255);this.S(a);this.A-= +this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.K>>8&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.G&65535),this.K>>8&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.K>>8&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G&65535),this.K>>8&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.K>>8&255);this.S(a); +this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.M()),this.K>>8&255);this.S(a);this.A-=this.B.wa},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.K>>8&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.L>>8&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.L>>8&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.G&65535),this.L>>8&255);this.S(a); +this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.L>>8&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G&65535),this.L>>8&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.L>>8&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.M()),this.L>>8&255);this.S(a);this.A-=this.B.wa},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.L>>8&255);this.S(a);this.A-= +this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G&65535),this.C>>8&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.C+this.F&65535),this.C>>8&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.G&65535),this.C>>8&255);this.S(a);this.A-=this.B.ia},function(a){a=a.call(this,this.P(this.O,this.J+this.F&65535),this.C>>8&255);this.S(a);this.A-=this.B.ha},function(a){a=a.call(this,this.P(this.D,this.G&65535),this.C>>8&255);this.S(a); +this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.F&65535),this.C>>8&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.M()),this.C>>8&255);this.S(a);this.A-=this.B.wa},function(a){a=a.call(this,this.P(this.D,this.C&65535),this.C>>8&255);this.S(a);this.A-=this.B.ca},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.N()&65535),this.H&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.H&255); +this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.N()&65535),this.H&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.H&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.N()&65535),this.H&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.H&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+ +this.N()&65535),this.H&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.H&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.Z},function(a){a= +a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.K&255);this.S(a);this.A-=this.B.R}, +function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.N()&65535), +this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+ +this.F+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a= +a.call(this,this.P(this.O,this.J+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.N()&65535),this.H>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.H>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.N()&65535),this.H>>8&255); +this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.H>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.N()&65535),this.H>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.H>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.N()&65535),this.H>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+ +this.N()&65535),this.H>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.K>>8&255);this.S(a);this.A-= +this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.N()&65535), +this.L>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a= +a.call(this,this.P(this.D,this.F+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.N()&65535),this.C>>8&255); +this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O, +this.J+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.N()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.H&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.H&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.M()&65535),this.H&255);this.S(a);this.A-=this.B.Z}, +function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.H&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.H&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.H&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.H&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.H&255);this.S(a); +this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+ +this.M()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.K&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this, +this.P(this.D,this.C+this.F+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.R}, +function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.L&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.C&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.C&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.M()&65535),this.C& +255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.C&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()& +65535),this.C&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.H>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.H>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.M()&65535),this.H>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.H>>8&255);this.S(a);this.A-=this.B.Y},function(a){a= +a.call(this,this.P(this.D,this.G+this.M()&65535),this.H>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.H>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.H>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.H>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.K>>8&255);this.S(a); +this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D, +this.F+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.K>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.Z}, +function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535), +this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.L>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.G+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.C+this.F+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.Z},function(a){a=a.call(this,this.P(this.O,this.J+this.G+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.Z},function(a){a= +a.call(this,this.P(this.O,this.J+this.F+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.Y},function(a){a=a.call(this,this.P(this.D,this.G+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.F+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.O,this.J+this.M()&65535),this.C>>8&255);this.S(a);this.A-=this.B.R},function(a){a=a.call(this,this.P(this.D,this.C+this.M()&65535),this.C>>8&255);this.S(a); +this.A-=this.B.R},he,pe,xe,Fe,Ne,Ve,cf,lf,ie,qe,ye,Ge,Oe,We,df,mf,je,re,ze,He,Pe,Xe,ef,nf,ke,se,Ae,Ie,Qe,Ye,ff,of,le,te,Be,Je,Re,Ze,gf,pf,me,ue,Ce,Ke,Se,$e,hf,qf,ne,ve,De,Le,Te,af,jf,rf,oe,we,Ee,Me,Ue,bf,kf,sf],Dc=[function(a){a=a.call(this,this.H&255,this.W(this.D,this.C+this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&255,this.W(this.D,this.C+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255,this.W(this.O,this.J+this.G& +65535));this.H=this.H&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&255,this.W(this.O,this.J+this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&255,this.W(this.D,this.G&65535));this.H=this.H&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.H&255,this.W(this.D,this.F&65535));this.H=this.H&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.H&255,this.W(this.D,this.M()));this.H=this.H&-256|a;this.A-=this.B.wa},function(a){a=a.call(this, +this.H&255,this.W(this.D,this.C&65535));this.H=this.H&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.K&255,this.W(this.D,this.C+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.K&255,this.W(this.D,this.C+this.F&65535));this.K=this.K&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.K&255,this.W(this.O,this.J+this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.K&255,this.W(this.O,this.J+this.F&65535));this.K=this.K& +-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.K&255,this.W(this.D,this.G&65535));this.K=this.K&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.K&255,this.W(this.D,this.F&65535));this.K=this.K&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.K&255,this.W(this.D,this.M()));this.K=this.K&-256|a;this.A-=this.B.wa},function(a){a=a.call(this,this.K&255,this.W(this.D,this.C&65535));this.K=this.K&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.L&255,this.W(this.D,this.C+ +this.G&65535));this.L=this.L&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.L&255,this.W(this.D,this.C+this.F&65535));this.L=this.L&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.L&255,this.W(this.O,this.J+this.G&65535));this.L=this.L&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.L&255,this.W(this.O,this.J+this.F&65535));this.L=this.L&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.L&255,this.W(this.D,this.G&65535));this.L=this.L&-256|a;this.A-=this.B.ca},function(a){a= +a.call(this,this.L&255,this.W(this.D,this.F&65535));this.L=this.L&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.L&255,this.W(this.D,this.M()));this.L=this.L&-256|a;this.A-=this.B.wa},function(a){a=a.call(this,this.L&255,this.W(this.D,this.C&65535));this.L=this.L&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.C&255,this.W(this.D,this.C+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.C&255,this.W(this.D,this.C+this.F&65535));this.C=this.C&-256| +a;this.A-=this.B.ia},function(a){a=a.call(this,this.C&255,this.W(this.O,this.J+this.G&65535));this.C=this.C&-256|a;this.A-=this.B.ia},function(a){a=a.call(this,this.C&255,this.W(this.O,this.J+this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ha},function(a){a=a.call(this,this.C&255,this.W(this.D,this.G&65535));this.C=this.C&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.C&255,this.W(this.D,this.F&65535));this.C=this.C&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.C&255,this.W(this.D, +this.M()));this.C=this.C&-256|a;this.A-=this.B.wa},function(a){a=a.call(this,this.C&255,this.W(this.D,this.C&65535));this.C=this.C&-256|a;this.A-=this.B.ca},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.C+this.G&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.C+this.F&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.H>>8&255,this.W(this.O,this.J+this.G&65535));this.H=this.H&-65281|a<<8; +this.A-=this.B.ia},function(a){a=a.call(this,this.H>>8&255,this.W(this.O,this.J+this.F&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.G&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.F&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.M()));this.H=this.H&-65281|a<<8;this.A-=this.B.wa},function(a){a=a.call(this, +this.H>>8&255,this.W(this.D,this.C&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.C+this.G&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.C+this.F&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.K>>8&255,this.W(this.O,this.J+this.G&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.K>>8&255,this.W(this.O, +this.J+this.F&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.G&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.F&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.M()));this.K=this.K&-65281|a<<8;this.A-=this.B.wa},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.C&65535));this.K=this.K&-65281|a<<8;this.A-= +this.B.ca},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.C+this.G&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.C+this.F&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.L>>8&255,this.W(this.O,this.J+this.G&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.L>>8&255,this.W(this.O,this.J+this.F&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ha},function(a){a= +a.call(this,this.L>>8&255,this.W(this.D,this.G&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.F&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.M()));this.L=this.L&-65281|a<<8;this.A-=this.B.wa},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.C&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.C+this.G& +65535));this.C=this.C&-65281|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.C+this.F&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.C>>8&255,this.W(this.O,this.J+this.G&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.ia},function(a){a=a.call(this,this.C>>8&255,this.W(this.O,this.J+this.F&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.ha},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.G&65535));this.C=this.C&-65281| +a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.F&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.M()));this.C=this.C&-65281|a<<8;this.A-=this.B.wa},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.C&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.ca},function(a){a=a.call(this,this.H&255,this.W(this.D,this.C+this.G+this.N()&65535));this.H=this.H&-256|a;this.A-=this.B.Y},function(a){a=a.call(this, +this.H&255,this.W(this.D,this.C+this.F+this.N()&65535));this.H=this.H&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.H&255,this.W(this.O,this.J+this.G+this.N()&65535));this.H=this.H&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.H&255,this.W(this.O,this.J+this.F+this.N()&65535));this.H=this.H&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.H&255,this.W(this.D,this.G+this.N()&65535));this.H=this.H&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&255,this.W(this.D, +this.F+this.N()&65535));this.H=this.H&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&255,this.W(this.O,this.J+this.N()&65535));this.H=this.H&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&255,this.W(this.D,this.C+this.N()&65535));this.H=this.H&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.W(this.D,this.C+this.G+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.K&255,this.W(this.D,this.C+this.F+this.N()&65535));this.K= +this.K&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&255,this.W(this.O,this.J+this.G+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&255,this.W(this.O,this.J+this.F+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.K&255,this.W(this.D,this.G+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.W(this.D,this.F+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.R}, +function(a){a=a.call(this,this.K&255,this.W(this.O,this.J+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.W(this.D,this.C+this.N()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.W(this.D,this.C+this.G+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.L&255,this.W(this.D,this.C+this.F+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L& +255,this.W(this.O,this.J+this.G+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&255,this.W(this.O,this.J+this.F+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.L&255,this.W(this.D,this.G+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.W(this.D,this.F+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.W(this.O,this.J+this.N()& +65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.W(this.D,this.C+this.N()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,this.W(this.D,this.C+this.G+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&255,this.W(this.D,this.C+this.F+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,this.W(this.O,this.J+this.G+this.N()&65535));this.C=this.C&-256| +a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,this.W(this.O,this.J+this.F+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&255,this.W(this.D,this.G+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,this.W(this.D,this.F+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,this.W(this.O,this.J+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this, +this.C&255,this.W(this.D,this.C+this.N()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.C+this.G+this.N()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.C+this.F+this.N()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.H>>8&255,this.W(this.O,this.J+this.G+this.N()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this, +this.H>>8&255,this.W(this.O,this.J+this.F+this.N()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.G+this.N()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.F+this.N()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.H>>8&255,this.W(this.O,this.J+this.N()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.H>> +8&255,this.W(this.D,this.C+this.N()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.C+this.G+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.C+this.F+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.K>>8&255,this.W(this.O,this.J+this.G+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this, +this.K>>8&255,this.W(this.O,this.J+this.F+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.G+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.F+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.W(this.O,this.J+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>> +8&255,this.W(this.D,this.C+this.N()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.C+this.G+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.C+this.F+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.L>>8&255,this.W(this.O,this.J+this.G+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this, +this.L>>8&255,this.W(this.O,this.J+this.F+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.G+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.F+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.W(this.O,this.J+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>> +8&255,this.W(this.D,this.C+this.N()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.C+this.G+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.C+this.F+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8&255,this.W(this.O,this.J+this.G+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this, +this.C>>8&255,this.W(this.O,this.J+this.F+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.G+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.F+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.W(this.O,this.J+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>> +8&255,this.W(this.D,this.C+this.N()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.H&255,this.W(this.D,this.C+this.G+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.H&255,this.W(this.D,this.C+this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.H&255,this.W(this.O,this.J+this.G+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.H&255,this.W(this.O, +this.J+this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.H&255,this.W(this.D,this.G+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&255,this.W(this.D,this.F+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&255,this.W(this.O,this.J+this.M()&65535));this.H=this.H&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&255,this.W(this.D,this.C+this.M()&65535));this.H=this.H& +-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.W(this.D,this.C+this.G+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.K&255,this.W(this.D,this.C+this.F+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&255,this.W(this.O,this.J+this.G+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&255,this.W(this.O,this.J+this.F+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.Y}, +function(a){a=a.call(this,this.K&255,this.W(this.D,this.G+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.W(this.D,this.F+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.W(this.O,this.J+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&255,this.W(this.D,this.C+this.M()&65535));this.K=this.K&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.W(this.D, +this.C+this.G+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.L&255,this.W(this.D,this.C+this.F+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&255,this.W(this.O,this.J+this.G+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&255,this.W(this.O,this.J+this.F+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.L&255,this.W(this.D,this.G+this.M()&65535)); +this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.W(this.D,this.F+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.W(this.O,this.J+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&255,this.W(this.D,this.C+this.M()&65535));this.L=this.L&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,this.W(this.D,this.C+this.G+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.Y}, +function(a){a=a.call(this,this.C&255,this.W(this.D,this.C+this.F+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,this.W(this.O,this.J+this.G+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&255,this.W(this.O,this.J+this.F+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&255,this.W(this.D,this.G+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this, +this.C&255,this.W(this.D,this.F+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,this.W(this.O,this.J+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&255,this.W(this.D,this.C+this.M()&65535));this.C=this.C&-256|a;this.A-=this.B.R},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.C+this.G+this.M()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.C+ +this.F+this.M()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.H>>8&255,this.W(this.O,this.J+this.G+this.M()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.H>>8&255,this.W(this.O,this.J+this.F+this.M()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.G+this.M()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.H>>8&255,this.W(this.D, +this.F+this.M()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.H>>8&255,this.W(this.O,this.J+this.M()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.H>>8&255,this.W(this.D,this.C+this.M()&65535));this.H=this.H&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.C+this.G+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.C+ +this.F+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.K>>8&255,this.W(this.O,this.J+this.G+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.K>>8&255,this.W(this.O,this.J+this.F+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.G+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.W(this.D, +this.F+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.W(this.O,this.J+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.K>>8&255,this.W(this.D,this.C+this.M()&65535));this.K=this.K&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.C+this.G+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.C+ +this.F+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.L>>8&255,this.W(this.O,this.J+this.G+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.L>>8&255,this.W(this.O,this.J+this.F+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.G+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.W(this.D, +this.F+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.W(this.O,this.J+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.L>>8&255,this.W(this.D,this.C+this.M()&65535));this.L=this.L&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.C+this.G+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.C+ +this.F+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8&255,this.W(this.O,this.J+this.G+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.Z},function(a){a=a.call(this,this.C>>8&255,this.W(this.O,this.J+this.F+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.Y},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.G+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.W(this.D, +this.F+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.W(this.O,this.J+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},function(a){a=a.call(this,this.C>>8&255,this.W(this.D,this.C+this.M()&65535));this.C=this.C&-65281|a<<8;this.A-=this.B.R},he,ie,je,ke,le,me,ne,oe,pe,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Je,Ke,Le,Me,Ne,Oe,Pe,Qe,Re,Se,Te,Ue,Ve,We,Xe,Ye,Ze,$e,af,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf, +sf],Ec=[function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.P(this.D, +this.G&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.wa},function(a,b){var c=a[0].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c= +a[1].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.P(this.D,this.G&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.P(this.D,this.F&65535),b.call(this)); +this.S(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.wa},function(a,b){var c=a[1].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.P(this.O, +this.J+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.P(this.D,this.G&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.wa},function(a, +b){var c=a[2].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.F&65535), +b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[3].call(this,this.P(this.D,this.G&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[3].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[3].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.wa},function(a,b){var c=a[3].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[4].call(this,this.P(this.D, +this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[4].call(this,this.P(this.D,this.G&65535),b.call(this));this.S(c);this.A-=this.B.ca}, +function(a,b){var c=a[4].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[4].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.wa},function(a,b){var c=a[4].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F&65535),b.call(this)); +this.S(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[5].call(this,this.P(this.D,this.G&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[5].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[5].call(this, +this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.wa},function(a,b){var c=a[5].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.G&65535),b.call(this));this.S(c);this.A-= +this.B.ia},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[6].call(this,this.P(this.D,this.G&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[6].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[6].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.wa},function(a,b){var c=a[6].call(this,this.P(this.D,this.C&65535), +b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.G&65535),b.call(this));this.S(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.F&65535),b.call(this));this.S(c);this.A-=this.B.ha},function(a, +b){var c=a[7].call(this,this.P(this.D,this.G&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[7].call(this,this.P(this.D,this.F&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[7].call(this,this.P(this.D,this.M()),b.call(this));this.S(c);this.A-=this.B.wa},function(a,b){var c=a[7].call(this,this.P(this.D,this.C&65535),b.call(this));this.S(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G+this.N()&65535),b.call(this)); +this.S(c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,this.P(this.D,this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R}, +function(a,b){var c=a[0].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,this.P(this.D, +this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,this.P(this.D,this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this)); +this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a, +b){var c=a[2].call(this,this.P(this.O,this.J+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,this.P(this.D,this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.O, +this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.G+this.N()&65535),b.call(this)); +this.S(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,this.P(this.D,this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a, +b){var c=a[3].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this, +this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,this.P(this.D,this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this)); +this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-= +this.B.Y},function(a,b){var c=a[5].call(this,this.P(this.D,this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this, +this.P(this.D,this.C+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,this.P(this.D,this.G+ +this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G+this.N()&65535),b.call(this));this.S(c); +this.A-=this.B.Y},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,this.P(this.D,this.G+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a, +b){var c=a[7].call(this,this.P(this.D,this.F+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.N()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,this.P(this.D, +this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this)); +this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a, +b){var c=a[1].call(this,this.P(this.O,this.J+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.O, +this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.P(this.O,this.J+this.G+this.M()&65535),b.call(this)); +this.S(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a, +b){var c=a[2].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this, +this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this)); +this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-= +this.B.Y},function(a,b){var c=a[4].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this, +this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,this.P(this.D,this.G+ +this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c); +this.A-=this.B.Y},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a, +b){var c=a[6].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,this.P(this.D, +this.C+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.F+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,this.P(this.D,this.G+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.D,this.F+this.M()&65535),b.call(this)); +this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.O,this.J+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.P(this.D,this.C+this.M()&65535),b.call(this));this.S(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[0].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[0].call(this,this.L&255,b.call(this));this.L=this.L&-256|c}, +function(a,b){var c=a[0].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[0].call(this,this.H>>8&255,b.call(this));this.H=this.H&-65281|c<<8},function(a,b){var c=a[0].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[0].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[0].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8},function(a,b){var c=a[1].call(this,this.H&255,b.call(this)); +this.H=this.H&-256|c},function(a,b){var c=a[1].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[1].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[1].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[1].call(this,this.H>>8&255,b.call(this));this.H=this.H&-65281|c<<8},function(a,b){var c=a[1].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[1].call(this,this.L>>8&255,b.call(this)); +this.L=this.L&-65281|c<<8},function(a,b){var c=a[1].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8},function(a,b){var c=a[2].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[2].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[2].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[2].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[2].call(this,this.H>>8&255,b.call(this)); +this.H=this.H&-65281|c<<8},function(a,b){var c=a[2].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[2].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[2].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8},function(a,b){var c=a[3].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[3].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[3].call(this,this.L& +255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[3].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[3].call(this,this.H>>8&255,b.call(this));this.H=this.H&-65281|c<<8},function(a,b){var c=a[3].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[3].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[3].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8},function(a,b){var c= +a[4].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[4].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[4].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[4].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[4].call(this,this.H>>8&255,b.call(this));this.H=this.H&-65281|c<<8},function(a,b){var c=a[4].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c= +a[4].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[4].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8},function(a,b){var c=a[5].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[5].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[5].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[5].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c= +a[5].call(this,this.H>>8&255,b.call(this));this.H=this.H&-65281|c<<8},function(a,b){var c=a[5].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[5].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[5].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8},function(a,b){var c=a[6].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[6].call(this,this.K&255,b.call(this));this.K=this.K&-256| +c},function(a,b){var c=a[6].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[6].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[6].call(this,this.H>>8&255,b.call(this));this.H=this.H&-65281|c<<8},function(a,b){var c=a[6].call(this,this.K>>8&255,b.call(this));this.K=this.K&-65281|c<<8},function(a,b){var c=a[6].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[6].call(this,this.C>>8&255,b.call(this));this.C= +this.C&-65281|c<<8},function(a,b){var c=a[7].call(this,this.H&255,b.call(this));this.H=this.H&-256|c},function(a,b){var c=a[7].call(this,this.K&255,b.call(this));this.K=this.K&-256|c},function(a,b){var c=a[7].call(this,this.L&255,b.call(this));this.L=this.L&-256|c},function(a,b){var c=a[7].call(this,this.C&255,b.call(this));this.C=this.C&-256|c},function(a,b){var c=a[7].call(this,this.H>>8&255,b.call(this));this.H=this.H&-65281|c<<8},function(a,b){var c=a[7].call(this,this.K>>8&255,b.call(this)); +this.K=this.K&-65281|c<<8},function(a,b){var c=a[7].call(this,this.L>>8&255,b.call(this));this.L=this.L&-65281|c<<8},function(a,b){var c=a[7].call(this,this.C>>8&255,b.call(this));this.C=this.C&-65281|c<<8}];function tf(a){a=a.call(this,this.H&this.I,this.H&this.I);this.H=this.H&this.U|a}function uf(a){a=a.call(this,this.H&this.I,this.K&this.I);this.H=this.H&this.U|a}function vf(a){a=a.call(this,this.H&this.I,this.L&this.I);this.H=this.H&this.U|a} +function wf(a){a=a.call(this,this.H&this.I,this.C&this.I);this.H=this.H&this.U|a}function xf(a){a=a.call(this,this.H&this.I,this.V&this.I);this.H=this.H&this.U|a}function yf(a){a=a.call(this,this.H&this.I,this.J&this.I);this.H=this.H&this.U|a}function zf(a){a=a.call(this,this.H&this.I,this.G&this.I);this.H=this.H&this.U|a}function Af(a){a=a.call(this,this.H&this.I,this.F&this.I);this.H=this.H&this.U|a}function Bf(a){a=a.call(this,this.K&this.I,this.H&this.I);this.K=this.K&this.U|a} +function Cf(a){a=a.call(this,this.K&this.I,this.K&this.I);this.K=this.K&this.U|a}function Df(a){a=a.call(this,this.K&this.I,this.L&this.I);this.K=this.K&this.U|a}function Ef(a){a=a.call(this,this.K&this.I,this.C&this.I);this.K=this.K&this.U|a}function Ff(a){a=a.call(this,this.K&this.I,this.V&this.I);this.K=this.K&this.U|a}function Gf(a){a=a.call(this,this.K&this.I,this.J&this.I);this.K=this.K&this.U|a}function Hf(a){a=a.call(this,this.K&this.I,this.G&this.I);this.K=this.K&this.U|a} +function If(a){a=a.call(this,this.K&this.I,this.F&this.I);this.K=this.K&this.U|a}function Jf(a){a=a.call(this,this.L&this.I,this.H&this.I);this.L=this.L&this.U|a}function Kf(a){a=a.call(this,this.L&this.I,this.K&this.I);this.L=this.L&this.U|a}function Lf(a){a=a.call(this,this.L&this.I,this.L&this.I);this.L=this.L&this.U|a}function Mf(a){a=a.call(this,this.L&this.I,this.C&this.I);this.L=this.L&this.U|a}function Nf(a){a=a.call(this,this.L&this.I,this.V&this.I);this.L=this.L&this.U|a} +function Of(a){a=a.call(this,this.L&this.I,this.J&this.I);this.L=this.L&this.U|a}function Pf(a){a=a.call(this,this.L&this.I,this.G&this.I);this.L=this.L&this.U|a}function Qf(a){a=a.call(this,this.L&this.I,this.F&this.I);this.L=this.L&this.U|a}function Rf(a){a=a.call(this,this.C&this.I,this.H&this.I);this.C=this.C&this.U|a}function Sf(a){a=a.call(this,this.C&this.I,this.K&this.I);this.C=this.C&this.U|a}function Tf(a){a=a.call(this,this.C&this.I,this.L&this.I);this.C=this.C&this.U|a} +function Uf(a){a=a.call(this,this.C&this.I,this.C&this.I);this.C=this.C&this.U|a}function Vf(a){a=a.call(this,this.C&this.I,this.V&this.I);this.C=this.C&this.U|a}function Wf(a){a=a.call(this,this.C&this.I,this.J&this.I);this.C=this.C&this.U|a}function Xf(a){a=a.call(this,this.C&this.I,this.G&this.I);this.C=this.C&this.U|a}function Yf(a){a=a.call(this,this.C&this.I,this.F&this.I);this.C=this.C&this.U|a}function Zf(a){a=a.call(this,this.V&this.I,this.H&this.I);this.V=this.V&this.U|a} +function $f(a){a=a.call(this,this.V&this.I,this.K&this.I);this.V=this.V&this.U|a}function ag(a){a=a.call(this,this.V&this.I,this.L&this.I);this.V=this.V&this.U|a}function bg(a){a=a.call(this,this.V&this.I,this.C&this.I);this.V=this.V&this.U|a}function cg(a){a=a.call(this,this.V&this.I,this.V&this.I);this.V=this.V&this.U|a}function dg(a){a=a.call(this,this.V&this.I,this.J&this.I);this.V=this.V&this.U|a}function eg(a){a=a.call(this,this.V&this.I,this.G&this.I);this.V=this.V&this.U|a} +function fg(a){a=a.call(this,this.V&this.I,this.F&this.I);this.V=this.V&this.U|a}function gg(a){a=a.call(this,this.J&this.I,this.H&this.I);this.J=this.J&this.U|a}function hg(a){a=a.call(this,this.J&this.I,this.K&this.I);this.J=this.J&this.U|a}function ig(a){a=a.call(this,this.J&this.I,this.L&this.I);this.J=this.J&this.U|a}function jg(a){a=a.call(this,this.J&this.I,this.C&this.I);this.J=this.J&this.U|a}function kg(a){a=a.call(this,this.J&this.I,this.V&this.I);this.J=this.J&this.U|a} +function lg(a){a=a.call(this,this.J&this.I,this.J&this.I);this.J=this.J&this.U|a}function mg(a){a=a.call(this,this.J&this.I,this.G&this.I);this.J=this.J&this.U|a}function ng(a){a=a.call(this,this.J&this.I,this.F&this.I);this.J=this.J&this.U|a}function og(a){a=a.call(this,this.G&this.I,this.H&this.I);this.G=this.G&this.U|a}function pg(a){a=a.call(this,this.G&this.I,this.K&this.I);this.G=this.G&this.U|a}function qg(a){a=a.call(this,this.G&this.I,this.L&this.I);this.G=this.G&this.U|a} +function rg(a){a=a.call(this,this.G&this.I,this.C&this.I);this.G=this.G&this.U|a}function sg(a){a=a.call(this,this.G&this.I,this.V&this.I);this.G=this.G&this.U|a}function tg(a){a=a.call(this,this.G&this.I,this.J&this.I);this.G=this.G&this.U|a}function ug(a){a=a.call(this,this.G&this.I,this.G&this.I);this.G=this.G&this.U|a}function vg(a){a=a.call(this,this.G&this.I,this.F&this.I);this.G=this.G&this.U|a}function wg(a){a=a.call(this,this.F&this.I,this.H&this.I);this.F=this.F&this.U|a} +function xg(a){a=a.call(this,this.F&this.I,this.K&this.I);this.F=this.F&this.U|a}function yg(a){a=a.call(this,this.F&this.I,this.L&this.I);this.F=this.F&this.U|a}function zg(a){a=a.call(this,this.F&this.I,this.C&this.I);this.F=this.F&this.U|a}function Ag(a){a=a.call(this,this.F&this.I,this.V&this.I);this.F=this.F&this.U|a}function Bg(a){a=a.call(this,this.F&this.I,this.J&this.I);this.F=this.F&this.U|a}function Cg(a){a=a.call(this,this.F&this.I,this.G&this.I);this.F=this.F&this.U|a} +function Dg(a){a=a.call(this,this.F&this.I,this.F&this.I);this.F=this.F&this.U|a} +var Fc=[function(a){a=a.call(this,this.Q(this.D,this.C+this.G&65535),this.H&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.H&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.G&65535),this.H&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.H&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.G&65535),this.H&this.I);this.T(a); +this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.H&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.M()),this.H&this.I);this.T(a);this.A-=this.B.wa},function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.H&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.C+this.G&65535),this.K&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.K&this.I);this.T(a);this.A-= +this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.G&65535),this.K&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.K&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.G&65535),this.K&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.K&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.M()),this.K&this.I);this.T(a);this.A-=this.B.wa}, +function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.K&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.C+this.G&65535),this.L&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.L&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.G&65535),this.L&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.L&this.I);this.T(a);this.A-= +this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.G&65535),this.L&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.L&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.M()),this.L&this.I);this.T(a);this.A-=this.B.wa},function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.L&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.C+this.G&65535),this.C&this.I);this.T(a);this.A-=this.B.ha}, +function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.C&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.G&65535),this.C&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.C&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.G&65535),this.C&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.C&this.I);this.T(a);this.A-=this.B.ca}, +function(a){a=a.call(this,this.Q(this.D,this.M()),this.C&this.I);this.T(a);this.A-=this.B.wa},function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.C&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.C+this.G&65535),this.V&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.V&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.G&65535),this.V&this.I);this.T(a);this.A-=this.B.ia}, +function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.V&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.G&65535),this.V&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.V&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.M()),this.V&this.I);this.T(a);this.A-=this.B.wa},function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.V&this.I);this.T(a);this.A-=this.B.ca},function(a){a= +a.call(this,this.Q(this.D,this.C+this.G&65535),this.J&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.J&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.G&65535),this.J&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.J&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.G&65535),this.J&this.I);this.T(a);this.A-=this.B.ca}, +function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.J&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.M()),this.J&this.I);this.T(a);this.A-=this.B.wa},function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.J&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.C+this.G&65535),this.G&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.G&this.I);this.T(a);this.A-=this.B.ia},function(a){a= +a.call(this,this.Q(this.O,this.J+this.G&65535),this.G&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.G&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.G&65535),this.G&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.G&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.M()),this.G&this.I);this.T(a);this.A-=this.B.wa},function(a){a=a.call(this, +this.Q(this.D,this.C&65535),this.G&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.C+this.G&65535),this.F&this.I);this.T(a);this.A-=this.B.ha},function(a){a=a.call(this,this.Q(this.D,this.C+this.F&65535),this.F&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.G&65535),this.F&this.I);this.T(a);this.A-=this.B.ia},function(a){a=a.call(this,this.Q(this.O,this.J+this.F&65535),this.F&this.I);this.T(a);this.A-=this.B.ha},function(a){a= +a.call(this,this.Q(this.D,this.G&65535),this.F&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.F&65535),this.F&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.M()),this.F&this.I);this.T(a);this.A-=this.B.wa},function(a){a=a.call(this,this.Q(this.D,this.C&65535),this.F&this.I);this.T(a);this.A-=this.B.ca},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.Y},function(a){a= +a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.H& +this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O, +this.J+this.G+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.R}, +function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()& +65535),this.L&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D, +this.C+this.G+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.N()&65535),this.C&this.I);this.T(a);this.A-= +this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.N()&65535),this.V&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()& +65535),this.V&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.N()&65535),this.V&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.V&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.N()&65535),this.V&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.V&this.I);this.T(a);this.A-=this.B.R},function(a){a= +a.call(this,this.Q(this.O,this.J+this.N()&65535),this.V&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.V&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.N()&65535),this.J& +this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D, +this.C+this.N()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.G&this.I);this.T(a);this.A-= +this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.N()&65535), +this.F&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},function(a){a= +a.call(this,this.Q(this.D,this.F+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.N()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.H&this.I); +this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O, +this.J+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.H&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.M()&65535),this.K&this.I);this.T(a);this.A-= +this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535),this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535), +this.K&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.Y},function(a){a= +a.call(this,this.Q(this.D,this.G+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.L&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.M()&65535),this.C&this.I);this.T(a); +this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D, +this.F+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.C&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.M()&65535),this.V&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.V&this.I);this.T(a);this.A-=this.B.Z}, +function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.M()&65535),this.V&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.V&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.M()&65535),this.V&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.V&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535), +this.V&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.V&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.Z},function(a){a= +a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535),this.J&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.J&this.I);this.T(a); +this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D, +this.G+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.G&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.G+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.Y},function(a){a= +a.call(this,this.Q(this.D,this.C+this.F+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.G+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.Z},function(a){a=a.call(this,this.Q(this.O,this.J+this.F+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.Y},function(a){a=a.call(this,this.Q(this.D,this.G+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.F+this.M()&65535),this.F& +this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.O,this.J+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},function(a){a=a.call(this,this.Q(this.D,this.C+this.M()&65535),this.F&this.I);this.T(a);this.A-=this.B.R},tf,Bf,Jf,Rf,Zf,gg,og,wg,uf,Cf,Kf,Sf,$f,hg,pg,xg,vf,Df,Lf,Tf,ag,ig,qg,yg,wf,Ef,Mf,Uf,bg,jg,rg,zg,xf,Ff,Nf,Vf,cg,kg,sg,Ag,yf,Gf,Of,Wf,dg,lg,tg,Bg,zf,Hf,Pf,Xf,eg,mg,ug,Cg,Af,If,Qf,Yf,fg,ng,vg,Dg],Gc=[function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.C+ +this.G&65535));this.H=this.H&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.C+this.F&65535));this.H=this.H&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&this.I,this.X(this.O,this.J+this.G&65535));this.H=this.H&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.H&this.I,this.X(this.O,this.J+this.F&65535));this.H=this.H&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.G&65535));this.H=this.H&this.U| +a;this.A-=this.B.ca},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.F&65535));this.H=this.H&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.M()));this.H=this.H&this.U|a;this.A-=this.B.wa},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.C&65535));this.H=this.H&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.C+this.G&65535));this.K=this.K&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.K& +this.I,this.X(this.D,this.C+this.F&65535));this.K=this.K&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.K&this.I,this.X(this.O,this.J+this.G&65535));this.K=this.K&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.K&this.I,this.X(this.O,this.J+this.F&65535));this.K=this.K&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.G&65535));this.K=this.K&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.F&65535)); +this.K=this.K&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.M()));this.K=this.K&this.U|a;this.A-=this.B.wa},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.C&65535));this.K=this.K&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.C+this.G&65535));this.L=this.L&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.C+this.F&65535));this.L=this.L&this.U|a;this.A-=this.B.ia},function(a){a= +a.call(this,this.L&this.I,this.X(this.O,this.J+this.G&65535));this.L=this.L&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.L&this.I,this.X(this.O,this.J+this.F&65535));this.L=this.L&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.G&65535));this.L=this.L&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.F&65535));this.L=this.L&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.M())); +this.L=this.L&this.U|a;this.A-=this.B.wa},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.C&65535));this.L=this.L&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.C+this.G&65535));this.C=this.C&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.C+this.F&65535));this.C=this.C&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.C&this.I,this.X(this.O,this.J+this.G&65535));this.C=this.C&this.U|a;this.A-=this.B.ia}, +function(a){a=a.call(this,this.C&this.I,this.X(this.O,this.J+this.F&65535));this.C=this.C&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.G&65535));this.C=this.C&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.F&65535));this.C=this.C&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.M()));this.C=this.C&this.U|a;this.A-=this.B.wa},function(a){a=a.call(this,this.C&this.I,this.X(this.D, +this.C&65535));this.C=this.C&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.C+this.G&65535));this.V=this.V&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.C+this.F&65535));this.V=this.V&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.V&this.I,this.X(this.O,this.J+this.G&65535));this.V=this.V&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.V&this.I,this.X(this.O,this.J+this.F&65535));this.V=this.V& +this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.G&65535));this.V=this.V&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.F&65535));this.V=this.V&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.M()));this.V=this.V&this.U|a;this.A-=this.B.wa},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.C&65535));this.V=this.V&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.J& +this.I,this.X(this.D,this.C+this.G&65535));this.J=this.J&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.C+this.F&65535));this.J=this.J&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.J&this.I,this.X(this.O,this.J+this.G&65535));this.J=this.J&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.J&this.I,this.X(this.O,this.J+this.F&65535));this.J=this.J&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.G&65535)); +this.J=this.J&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.F&65535));this.J=this.J&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.M()));this.J=this.J&this.U|a;this.A-=this.B.wa},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.C&65535));this.J=this.J&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.G&this.I,this.X(this.D,this.C+this.G&65535));this.G=this.G&this.U|a;this.A-=this.B.ha},function(a){a= +a.call(this,this.G&this.I,this.X(this.D,this.C+this.F&65535));this.G=this.G&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.G&this.I,this.X(this.O,this.J+this.G&65535));this.G=this.G&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.G&this.I,this.X(this.O,this.J+this.F&65535));this.G=this.G&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.G&this.I,this.X(this.D,this.G&65535));this.G=this.G&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.G&this.I,this.X(this.D, +this.F&65535));this.G=this.G&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.G&this.I,this.X(this.D,this.M()));this.G=this.G&this.U|a;this.A-=this.B.wa},function(a){a=a.call(this,this.G&this.I,this.X(this.D,this.C&65535));this.G=this.G&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.C+this.G&65535));this.F=this.F&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.C+this.F&65535));this.F=this.F&this.U|a;this.A-=this.B.ia}, +function(a){a=a.call(this,this.F&this.I,this.X(this.O,this.J+this.G&65535));this.F=this.F&this.U|a;this.A-=this.B.ia},function(a){a=a.call(this,this.F&this.I,this.X(this.O,this.J+this.F&65535));this.F=this.F&this.U|a;this.A-=this.B.ha},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.G&65535));this.F=this.F&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.F&65535));this.F=this.F&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.F&this.I,this.X(this.D, +this.M()));this.F=this.F&this.U|a;this.A-=this.B.wa},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.C&65535));this.F=this.F&this.U|a;this.A-=this.B.ca},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.C+this.G+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.C+this.F+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.H&this.I,this.X(this.O,this.J+this.G+this.N()&65535)); +this.H=this.H&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.H&this.I,this.X(this.O,this.J+this.F+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.G+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.F+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.X(this.O,this.J+this.N()&65535));this.H=this.H&this.U| +a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.C+this.N()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.C+this.G+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.C+this.F+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&this.I,this.X(this.O,this.J+this.G+this.N()&65535));this.K=this.K&this.U|a;this.A-= +this.B.Z},function(a){a=a.call(this,this.K&this.I,this.X(this.O,this.J+this.F+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.G+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.F+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&this.I,this.X(this.O,this.J+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a= +a.call(this,this.K&this.I,this.X(this.D,this.C+this.N()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.C+this.G+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.C+this.F+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&this.I,this.X(this.O,this.J+this.G+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this, +this.L&this.I,this.X(this.O,this.J+this.F+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.G+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.F+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.X(this.O,this.J+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.X(this.D, +this.C+this.N()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.C+this.G+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.C+this.F+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&this.I,this.X(this.O,this.J+this.G+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&this.I,this.X(this.O,this.J+ +this.F+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.G+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.F+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.X(this.O,this.J+this.N()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.C+this.N()&65535));this.C= +this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.C+this.G+this.N()&65535));this.V=this.V&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.C+this.F+this.N()&65535));this.V=this.V&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.V&this.I,this.X(this.O,this.J+this.G+this.N()&65535));this.V=this.V&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.V&this.I,this.X(this.O,this.J+this.F+this.N()&65535));this.V= +this.V&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.G+this.N()&65535));this.V=this.V&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.F+this.N()&65535));this.V=this.V&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.V&this.I,this.X(this.O,this.J+this.N()&65535));this.V=this.V&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.C+this.N()&65535));this.V=this.V&this.U|a;this.A-=this.B.R}, +function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.C+this.G+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.C+this.F+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&this.I,this.X(this.O,this.J+this.G+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&this.I,this.X(this.O,this.J+this.F+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.Y}, +function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.G+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.F+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&this.I,this.X(this.O,this.J+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.C+this.N()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this, +this.G&this.I,this.X(this.D,this.C+this.G+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&this.I,this.X(this.D,this.C+this.F+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&this.I,this.X(this.O,this.J+this.G+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&this.I,this.X(this.O,this.J+this.F+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this, +this.G&this.I,this.X(this.D,this.G+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.X(this.D,this.F+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.X(this.O,this.J+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.X(this.D,this.C+this.N()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.X(this.D, +this.C+this.G+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.C+this.F+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.F&this.I,this.X(this.O,this.J+this.G+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.F&this.I,this.X(this.O,this.J+this.F+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.F&this.I,this.X(this.D, +this.G+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.F+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.X(this.O,this.J+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.C+this.N()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.C+this.G+this.M()&65535)); +this.H=this.H&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.C+this.F+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.H&this.I,this.X(this.O,this.J+this.G+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.H&this.I,this.X(this.O,this.J+this.F+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.G+this.M()&65535));this.H= +this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.F+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.X(this.O,this.J+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.H&this.I,this.X(this.D,this.C+this.M()&65535));this.H=this.H&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.C+this.G+this.M()&65535));this.K=this.K&this.U|a;this.A-= +this.B.Y},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.C+this.F+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&this.I,this.X(this.O,this.J+this.G+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.K&this.I,this.X(this.O,this.J+this.F+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.G+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.R}, +function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.F+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&this.I,this.X(this.O,this.J+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.K&this.I,this.X(this.D,this.C+this.M()&65535));this.K=this.K&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.C+this.G+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this, +this.L&this.I,this.X(this.D,this.C+this.F+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&this.I,this.X(this.O,this.J+this.G+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.L&this.I,this.X(this.O,this.J+this.F+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.G+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L& +this.I,this.X(this.D,this.F+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.X(this.O,this.J+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.L&this.I,this.X(this.D,this.C+this.M()&65535));this.L=this.L&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.C+this.G+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&this.I,this.X(this.D, +this.C+this.F+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&this.I,this.X(this.O,this.J+this.G+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.C&this.I,this.X(this.O,this.J+this.F+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.G+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.F+ +this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.X(this.O,this.J+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.C&this.I,this.X(this.D,this.C+this.M()&65535));this.C=this.C&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.C+this.G+this.M()&65535));this.V=this.V&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.C+this.F+this.M()&65535)); +this.V=this.V&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.V&this.I,this.X(this.O,this.J+this.G+this.M()&65535));this.V=this.V&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.V&this.I,this.X(this.O,this.J+this.F+this.M()&65535));this.V=this.V&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.G+this.M()&65535));this.V=this.V&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.F+this.M()&65535));this.V=this.V& +this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.V&this.I,this.X(this.O,this.J+this.M()&65535));this.V=this.V&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.V&this.I,this.X(this.D,this.C+this.M()&65535));this.V=this.V&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.C+this.G+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.C+this.F+this.M()&65535));this.J=this.J&this.U|a;this.A-= +this.B.Z},function(a){a=a.call(this,this.J&this.I,this.X(this.O,this.J+this.G+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.J&this.I,this.X(this.O,this.J+this.F+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.G+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.F+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a= +a.call(this,this.J&this.I,this.X(this.O,this.J+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.J&this.I,this.X(this.D,this.C+this.M()&65535));this.J=this.J&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.X(this.D,this.C+this.G+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&this.I,this.X(this.D,this.C+this.F+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this, +this.G&this.I,this.X(this.O,this.J+this.G+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.G&this.I,this.X(this.O,this.J+this.F+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.G&this.I,this.X(this.D,this.G+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.X(this.D,this.F+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I, +this.X(this.O,this.J+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.G&this.I,this.X(this.D,this.C+this.M()&65535));this.G=this.G&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.C+this.G+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.C+this.F+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.F&this.I,this.X(this.O, +this.J+this.G+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.Z},function(a){a=a.call(this,this.F&this.I,this.X(this.O,this.J+this.F+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.Y},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.G+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.F+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.X(this.O,this.J+this.M()& +65535));this.F=this.F&this.U|a;this.A-=this.B.R},function(a){a=a.call(this,this.F&this.I,this.X(this.D,this.C+this.M()&65535));this.F=this.F&this.U|a;this.A-=this.B.R},tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Jf,Kf,Lf,Mf,Nf,Of,Pf,Qf,Rf,Sf,Tf,Uf,Vf,Wf,Xf,Yf,Zf,$f,ag,bg,cg,dg,eg,fg,gg,hg,ig,jg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg,Cg,Dg],Hc=[function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.G&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this, +this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.G&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[0].call(this,this.Q(this.D,this.G&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-= +this.B.ca},function(a,b){var c=a[0].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.wa},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.G&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+ +this.G&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[1].call(this,this.Q(this.D,this.G&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[1].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.wa},function(a,b){var c= +a[1].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.G&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.G&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this)); +this.T(c);this.A-=this.B.ha},function(a,b){var c=a[2].call(this,this.Q(this.D,this.G&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[2].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.wa},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+ +this.G&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.G&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[3].call(this,this.Q(this.D,this.G&65535),b.call(this));this.T(c);this.A-=this.B.ca}, +function(a,b){var c=a[3].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[3].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.wa},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.G&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this)); +this.T(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.G&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[4].call(this,this.Q(this.D,this.G&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[4].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[4].call(this, +this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.wa},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.G&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.G&65535),b.call(this));this.T(c);this.A-= +this.B.ia},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[5].call(this,this.Q(this.D,this.G&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[5].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[5].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.wa},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C&65535), +b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.G&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.G&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a, +b){var c=a[6].call(this,this.Q(this.D,this.G&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[6].call(this,this.Q(this.D,this.F&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[6].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.wa},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.G&65535),b.call(this));this.T(c); +this.A-=this.B.ha},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.Q(this.O,this.J+this.G&65535),b.call(this));this.T(c);this.A-=this.B.ia},function(a,b){var c=a[7].call(this,this.Q(this.O,this.J+this.F&65535),b.call(this));this.T(c);this.A-=this.B.ha},function(a,b){var c=a[7].call(this,this.Q(this.D,this.G&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[7].call(this,this.Q(this.D, +this.F&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[7].call(this,this.Q(this.D,this.M()),b.call(this));this.T(c);this.A-=this.B.wa},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C&65535),b.call(this));this.T(c);this.A-=this.B.ca},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z}, +function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,this.Q(this.D,this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this, +this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.G+this.N()& +65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,this.Q(this.D,this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-= +this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c= +a[2].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,this.Q(this.D,this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.N()& +65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this)); +this.T(c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,this.Q(this.D,this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c= +a[4].call(this,this.Q(this.D,this.C+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,this.Q(this.D, +this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.G+this.N()&65535),b.call(this));this.T(c); +this.A-=this.B.Y},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,this.Q(this.D,this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a, +b){var c=a[5].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,this.Q(this.D, +this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,this.Q(this.D,this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this)); +this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a, +b){var c=a[7].call(this,this.Q(this.O,this.J+this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.Q(this.O,this.J+this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,this.Q(this.D,this.G+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.D,this.F+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.O, +this.J+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.N()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.G+this.M()&65535),b.call(this)); +this.T(c);this.A-=this.B.Z},function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[0].call(this,this.Q(this.D,this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a, +b){var c=a[0].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[1].call(this, +this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[1].call(this,this.Q(this.D,this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[1].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this)); +this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-= +this.B.Y},function(a,b){var c=a[2].call(this,this.Q(this.D,this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[2].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this, +this.Q(this.D,this.C+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[3].call(this,this.Q(this.D,this.G+ +this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[3].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.G+this.M()&65535),b.call(this));this.T(c); +this.A-=this.B.Y},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[4].call(this,this.Q(this.D,this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a, +b){var c=a[4].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[4].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,this.Q(this.D, +this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[5].call(this,this.Q(this.D,this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this)); +this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[5].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a, +b){var c=a[6].call(this,this.Q(this.O,this.J+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[6].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[6].call(this,this.Q(this.D,this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.O, +this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[6].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,this.Q(this.D,this.C+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.Q(this.O,this.J+this.G+this.M()&65535),b.call(this)); +this.T(c);this.A-=this.B.Z},function(a,b){var c=a[7].call(this,this.Q(this.O,this.J+this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.Y},function(a,b){var c=a[7].call(this,this.Q(this.D,this.G+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.D,this.F+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[7].call(this,this.Q(this.O,this.J+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a, +b){var c=a[7].call(this,this.Q(this.D,this.C+this.M()&65535),b.call(this));this.T(c);this.A-=this.B.R},function(a,b){var c=a[0].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[0].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[0].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[0].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[0].call(this,this.V&this.I,b.call(this)); +this.V=this.V&this.U|c},function(a,b){var c=a[0].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[0].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[0].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[1].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[1].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[1].call(this,this.L& +this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[1].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[1].call(this,this.V&this.I,b.call(this));this.V=this.V&this.U|c},function(a,b){var c=a[1].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[1].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[1].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[2].call(this, +this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[2].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[2].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[2].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[2].call(this,this.V&this.I,b.call(this));this.V=this.V&this.U|c},function(a,b){var c=a[2].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c= +a[2].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[2].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[3].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[3].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[3].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[3].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c}, +function(a,b){var c=a[3].call(this,this.V&this.I,b.call(this));this.V=this.V&this.U|c},function(a,b){var c=a[3].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[3].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[3].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[4].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[4].call(this,this.K&this.I,b.call(this));this.K= +this.K&this.U|c},function(a,b){var c=a[4].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[4].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[4].call(this,this.V&this.I,b.call(this));this.V=this.V&this.U|c},function(a,b){var c=a[4].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[4].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[4].call(this,this.F&this.I, +b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[5].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[5].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[5].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[5].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[5].call(this,this.V&this.I,b.call(this));this.V=this.V&this.U|c},function(a,b){var c=a[5].call(this, +this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[5].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[5].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[6].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c},function(a,b){var c=a[6].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[6].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c= +a[6].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[6].call(this,this.V&this.I,b.call(this));this.V=this.V&this.U|c},function(a,b){var c=a[6].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[6].call(this,this.G&this.I,b.call(this));this.G=this.G&this.U|c},function(a,b){var c=a[6].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c},function(a,b){var c=a[7].call(this,this.H&this.I,b.call(this));this.H=this.H&this.U|c}, +function(a,b){var c=a[7].call(this,this.K&this.I,b.call(this));this.K=this.K&this.U|c},function(a,b){var c=a[7].call(this,this.L&this.I,b.call(this));this.L=this.L&this.U|c},function(a,b){var c=a[7].call(this,this.C&this.I,b.call(this));this.C=this.C&this.U|c},function(a,b){var c=a[7].call(this,this.V&this.I,b.call(this));this.V=this.V&this.U|c},function(a,b){var c=a[7].call(this,this.J&this.I,b.call(this));this.J=this.J&this.U|c},function(a,b){var c=a[7].call(this,this.G&this.I,b.call(this));this.G= +this.G&this.U|c},function(a,b){var c=a[7].call(this,this.F&this.I,b.call(this));this.F=this.F&this.U|c}];function xc(){Eg[this.fa()].call(this)}function zc(){F(this,this.V&this.I);this.A-=this.B.vc}function ec(){var a=this.V&this.I;F(this,this.H&this.I);F(this,this.K&this.I);F(this,this.L&this.I);F(this,this.C&this.I);F(this,a);F(this,this.J&this.I);F(this,this.G&this.I);F(this,this.F&this.I);this.A-=this.B.rl} +function fc(){this.F=this.F&this.U|this.Na();this.G=this.G&this.U|this.Na();this.J=this.J&this.U|this.Na();this.V+=this.pf;this.C=this.C&this.U|this.Na();this.L=this.L&this.U|this.Na();this.K=this.K&this.U|this.Na();this.H=this.H&this.U|this.Na();this.A-=this.B.pl}function gc(){this.Bb[this.fa()].call(this,Zd)}function yc(){this.Dc[this.fa()].call(this,$d)}function hc(){F(this,this.M());this.A-=this.B.vc}function ic(){this.Bb[this.fa()].call(this,Ud)} +function jc(){F(this,this.fa());this.A-=this.B.vc}function kc(){this.Bb[this.fa()].call(this,Td)}function lc(){var a=1,b=0,c=5;this.za&192&&(a=this.K,b=1,this.za&256&&(c=4));if(a--){var d=gb(this.ua,this.L,this.Ga-b-1);this.Ie(this.Ya.cc(this.F&this.sa,0),d);this.F=this.F&this.ib|this.F+(this.Ja&1024?-1:1)&this.sa;this.A-=c;this.K-=b;a&&(K(this,-2),this.ba|=256)}} +function mc(){var a=1,b=0,c=5;this.za&192&&(a=this.K,b=1,this.za&256&&(c=4));if(a--){var d=this.Ga-b-1,e=gb(this.ua,this.L,d),d=e|=gb(this.ua,this.L,d)<<8;this.Sa(this.Ya.cc(this.F&this.sa,1),d);this.F=this.F&this.ib|this.F+(this.Ja&1024?-2:2)&this.sa;this.A-=c;this.K-=b;a&&(K(this,-2),this.ba|=256)}} +function nc(){var a=1,b=0,c=5;this.za&192&&(a=this.K,b=1,this.za&256&&(c=4));if(a--){var d=this.xd(this.xb.Ic(this.G&this.sa,0));this.G=this.G&this.ib|this.G+(this.Ja&1024?-1:1)&this.sa;this.A-=c;this.K-=b;ib(this.ua,this.L,d,this.Ga-b-1);a&&(K(this,-2),this.ba|=256)}} +function oc(){var a=1,b=0,c=5;this.za&192&&(a=this.K,b=1,this.za&256&&(c=4));if(a--){var d=this.ra(this.xb.Ic(this.G&this.sa,1));this.G=this.G&this.ib|this.G+(this.Ja&1024?-2:2)&this.sa;this.A-=c;this.K-=b;b=this.Ga-b-1;ib(this.ua,this.L,d&255,b);ib(this.ua,this.L,d>>8,b);a&&(K(this,-2),this.ba|=256)}}function Fg(){var a=this.N();Vc(this)?(I(this,this.xa+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Gg(){var a=this.N();Vc(this)?this.A-=this.B.Yb:(I(this,this.xa+a),this.A-=this.B.Xb)} +function Hg(){var a=this.N();Qc(this)?(I(this,this.xa+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Ig(){var a=this.N();Qc(this)?this.A-=this.B.Yb:(I(this,this.xa+a),this.A-=this.B.Xb)}function Jg(){var a=this.N();Tc(this)?(I(this,this.xa+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Kg(){var a=this.N();Tc(this)?this.A-=this.B.Yb:(I(this,this.xa+a),this.A-=this.B.Xb)}function Lg(){var a=this.N();Qc(this)||Tc(this)?(I(this,this.xa+a),this.A-=this.B.Xb):this.A-=this.B.Yb} +function Mg(){var a=this.N();Qc(this)||Tc(this)?this.A-=this.B.Yb:(I(this,this.xa+a),this.A-=this.B.Xb)}function Ng(){var a=this.N();Uc(this)?(I(this,this.xa+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Og(){var a=this.N();Uc(this)?this.A-=this.B.Yb:(I(this,this.xa+a),this.A-=this.B.Xb)}function Pg(){var a=this.N();Rc(this)?(I(this,this.xa+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Qg(){var a=this.N();Rc(this)?this.A-=this.B.Yb:(I(this,this.xa+a),this.A-=this.B.Xb)} +function Rg(){var a=this.N();!Uc(this)!=!Vc(this)?(I(this,this.xa+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Sg(){var a=this.N();!Uc(this)==!Vc(this)?(I(this,this.xa+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Tg(){var a=this.N();Tc(this)||!Uc(this)!=!Vc(this)?(I(this,this.xa+a),this.A-=this.B.Xb):this.A-=this.B.Yb}function Ug(){var a=this.N();Tc(this)||!Uc(this)!=!Vc(this)?this.A-=this.B.Yb:(I(this,this.xa+a),this.A-=this.B.Xb)} +function Vg(){this.je[this.fa()].call(this,Fd,this.fa);this.A-=0>this.Oa?1:this.B.nh}function pc(){this.je[this.fa()].call(this,Jd,Cd)}function qc(){this.Pc[this.fa()].call(this,Kd,Cd)}function Wg(){var a=this.M();I(this,this.Na());this.V=this.V&this.ib|this.V+(a<<(this.pf>>2))&this.sa;this.A-=this.B.wl}function Xg(){I(this,this.Na());this.A-=this.B.tl} +function rc(){var a=this.M(),b=this.fa()&31;this.A-=11;F(this,this.J);var c=this.V&this.Ha.sa;if(0>8,c,d=Sc(this);9<(a&15)||d?(a=a+6&15,b=b+1&255,c=d=!0):c=d=!1;this.H=this.H&-65536|b<<8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?ad(this):Xc(this); +this.A-=this.B.Ce},function(){this.Zc[this.fa()].call(this,od)},function(){this.Dc[this.fa()].call(this,yd)},function(){this.$c[this.fa()].call(this,od)},function(){this.Bb[this.fa()].call(this,yd)},function(){od.call(this,this.H&255,this.fa());this.A--},function(){yd.call(this,this.H&this.I,this.M());this.A--},function(){this.ba|=20;this.D=this.O=this.xb;this.A-=this.B.Zd},function(){var a=this.H&255,b=this.H>>8,c,d=Sc(this);9<(a&15)||d?(a=a-6&15,b=b-1&255,c=d=!0):c=d=!1;this.H=this.H&-65536|b<< +8|(this.aa=a);this.ea=65536;c&&(this.aa|=this.ea);d?ad(this):Xc(this);this.A-=this.B.Ce},function(){this.pa=this.H;this.H=this.H&this.U|(this.ka=this.H+1)&this.I;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.K;this.K=this.K&this.U|(this.ka=this.K+1)&this.I;this.aa=this.K|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.L;this.L=this.L&this.U|(this.ka=this.L+1)&this.I;this.aa=this.L|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-= +2},function(){this.pa=this.C;this.C=this.C&this.U|(this.ka=this.C+1)&this.I;this.aa=this.C|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.V;this.V=this.V&this.U|(this.ka=this.V+1)&this.I;this.aa=this.V|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.J;this.J=this.J&this.U|(this.ka=this.J+1)&this.I;this.aa=this.J|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.G;this.G=this.G&this.U|(this.ka=this.G+1)&this.I;this.aa= +this.G|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.F;this.F=this.F&this.U|(this.ka=this.F+1)&this.I;this.aa=this.F|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.H;this.H=this.H&this.U|(this.ka=this.H-1)&this.I;this.aa=this.H|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.K;this.K=this.K&this.U|(this.ka=this.K-1)&this.I;this.aa=this.K|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.L; +this.L=this.L&this.U|(this.ka=this.L-1)&this.I;this.aa=this.L|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.C;this.C=this.C&this.U|(this.ka=this.C-1)&this.I;this.aa=this.C|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.V;this.V=this.V&this.U|(this.ka=this.V-1)&this.I;this.aa=this.V|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.J;this.J=this.J&this.U|(this.ka=this.J-1)&this.I;this.aa=this.J|(this.aa&this.ea?1:0)<< +16;this.ea=65536;this.A-=2},function(){this.pa=this.G;this.G=this.G&this.U|(this.ka=this.G-1)&this.I;this.aa=this.G|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){this.pa=this.F;this.F=this.F&this.U|(this.ka=this.F-1)&this.I;this.aa=this.F|(this.aa&this.ea?1:0)<<16;this.ea=65536;this.A-=2},function(){F(this,this.H&this.I);this.A-=this.B.vc},function(){F(this,this.K&this.I);this.A-=this.B.vc},function(){F(this,this.L&this.I);this.A-=this.B.vc},function(){F(this,this.C&this.I);this.A-= +this.B.vc},function(){F(this,this.V-this.pf&this.I);this.A-=this.B.vc},function(){F(this,this.J&this.I);this.A-=this.B.vc},function(){F(this,this.G&this.I);this.A-=this.B.vc},function(){F(this,this.F&this.I);this.A-=this.B.vc},function(){this.H=this.H&this.U|this.Na();this.A-=this.B.lc},function(){this.K=this.K&this.U|this.Na();this.A-=this.B.lc},function(){this.L=this.L&this.U|this.Na();this.A-=this.B.lc},function(){this.C=this.C&this.U|this.Na();this.A-=this.B.lc},function(){this.V=this.V&this.U| +this.Na();this.A-=this.B.lc},function(){this.J=this.J&this.U|this.Na();this.A-=this.B.lc},function(){this.G=this.G&this.U|this.Na();this.A-=this.B.lc},function(){this.F=this.F&this.U|this.Na();this.A-=this.B.lc},Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,function(){this.Pc[this.fa()].call(this,Gd,this.M);this.A-=0>this.Oa?1:this.B.nh},Vg,function(){this.Pc[this.fa()].call(this,Gd,this.N);this.A-=0>this.Oa?1:this.B.nh},function(){this.Zc[this.fa()].call(this, +Rd)},function(){this.Dc[this.fa()].call(this,Sd)},function(){this.$c[this.Eg=this.fa()].call(this,ce)},function(){this.Bb[this.Eg=this.fa()].call(this,de)},function(){this.ba|=1;this.Zc[this.fa()].call(this,Pd)},function(){this.ba|=1;this.Dc[this.fa()].call(this,Pd)},function(){this.$c[this.fa()].call(this,Pd)},function(){this.Bb[this.fa()].call(this,Pd)},function(){var a=this.fa();switch((a&56)>>3){case 0:this.Kb=this.Ya.Ea;break;case 1:this.Kb=this.Ba.Ea;break;case 2:this.Kb=this.Ha.Ea;break;case 3:this.Kb= +this.xb.Ea;break;default:N.call(this);return}this.ba|=1;this.Dc[a].call(this,Qd)},function(){this.ba|=1;this.D=this.O=this.Ll;this.Bb[this.fa()].call(this,Wd)},function(){var a,b=this.fa(),c=(b&56)>>3;switch(c){case 0:a=this.H;break;case 2:a=this.L;break;case 3:a=this.C;break;default:if(80286<=this.Ia){G.call(this);return}switch(c){case 1:a=this.K;break;case 4:a=this.V;break;case 5:a=this.J;break;case 6:a=this.G;break;case 7:a=this.F}}this.Bb[b].call(this,Pd);switch(c){case 0:Pc(this,this.H);this.H= +a;break;case 1:Mc(this,this.K);this.K=a;break;case 2:Oc(this,this.L);this.L=a;break;case 3:Nc(this,this.C);this.C=a;break;case 4:Pc(this,this.V);this.V=a;break;case 5:Mc(this,this.J);this.J=a;break;case 6:Oc(this,this.G);this.G=a;break;case 7:Nc(this,this.F),this.F=a}},function(){this.ba|=1;this.Pc[this.fa()].call(this,Hd,this.Na)},function(){this.A-=3},function(){var a=this.H;this.H=this.H&this.U|this.K&this.I;this.K=this.K&this.U|a&this.I;this.A-=3},function(){var a=this.H;this.H=this.H&this.U| +this.L&this.I;this.L=this.L&this.U|a&this.I;this.A-=3},function(){var a=this.H;this.H=this.H&this.U|this.C&this.I;this.C=this.C&this.U|a&this.I;this.A-=3},function(){var a=this.H;this.H=this.H&this.U|this.V&this.I;this.V=this.V&this.U|a&this.I;this.A-=3},function(){var a=this.H;this.H=this.H&this.U|this.J&this.I;this.J=this.J&this.U|a&this.I;this.A-=3},function(){var a=this.H;this.H=this.H&this.U|this.G&this.I;this.G=this.G&this.U|a&this.I;this.A-=3},function(){var a=this.H;this.H=this.H&this.U|this.F& +this.I;this.F=this.F&this.U|a&this.I;this.A-=3},function(){this.H=2==this.pf?this.H&this.U|this.H<<24>>24&65535:this.H<<16>>16;this.A-=2},function(){this.L=2==this.pf?this.L&this.U|(this.H&32768?65535:0):this.H&2147483648?4294967295:0;this.A-=this.B.Dk},function(){Od.call(this,this.M(),this.M());this.A-=this.B.Gk},function(){this.mc("WAIT not implemented",1);this.A--},function(){F(this,Ub(this));this.A-=this.B.vc},function(){Vb(this,this.Na());this.A-=this.B.lc},function(){var a=this.H>>8;a&1?$c(this): +Wc(this);a&4?Rc(this)||(this.ka^=1):Rc(this)&&(this.ka^=1);a&16?ad(this):Xc(this);a&64?bd(this):Yc(this);a&128?cd(this):Uc(this)&&(this.ka^=this.ea>>1|this.ea>>2,this.pa^=32896);this.A-=this.B.Jb},function(){this.H=this.H&255|(Ub(this)&213)<<8;this.A-=this.B.Jb},function(){this.H=this.H&-256|this.W(this.D,this.M());this.A-=this.B.Ti},function(){this.H=this.H&this.U|this.X(this.D,this.M());this.A-=this.B.Ti},function(){var a=this.M(),b=this.H;this.Ie(this.D.cc(a,0),b);this.A-=this.B.Ui},function(){var a= +this.M(),b=this.H;this.Sa(this.D.cc(a,1),b);this.A-=this.B.Ui},function(){var a=1,b=0,c=this.B.Vi;this.za&192&&(a=this.K,b=1,c=this.B.Xi,this.za&256||(this.A-=this.B.Wi));if(a--){var d=this.Ja&1024?-1:1,e=this.W(this.D,this.G);this.Ie(this.Ya.cc(this.F&this.sa,0),e);this.G=this.G&this.ib|this.G+d&this.sa;this.F=this.F&this.ib|this.F+d&this.sa;this.A-=c;this.K-=b;a&&(K(this,this.za&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.Vi;this.za&192&&(a=this.K,b=1,c=this.B.Xi,this.za&256||(this.A-= +this.B.Wi));if(a--){var d=this.Ja&1024?-2:2,e=this.X(this.D,this.G);this.Sa(this.Ya.cc(this.F&this.sa,1),e);this.G=this.G&this.ib|this.G+d&this.sa;this.F=this.F&this.ib|this.F+d&this.sa;this.A-=c;this.K-=b;a&&(K(this,this.za&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.Fi;this.za&192&&(a=this.K,b=1,c=this.B.Hi,this.za&256||(this.A-=this.B.Gi));if(a--){var d=this.Ja&1024?-1:1,e=this.W(this.D,this.G&this.sa),f=this.P(this.Ya,this.F&this.sa);od.call(this,e,f);this.G=this.G&this.ib|this.G+ +d&this.sa;this.F=this.F&this.ib|this.F+d&this.sa;this.A-=c-this.B.zb;this.K-=b;a&&Tc(this)==(this.za&64)&&(K(this,this.za&16?-3:-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.Fi;this.za&192&&(a=this.K,b=1,c=this.B.Hi,this.za&256||(this.A-=this.B.Gi));if(a--){var d=this.Ja&1024?-2:2,e=this.X(this.D,this.G&this.sa),f=this.Q(this.Ya,this.F&this.sa);yd.call(this,e,f);this.G=this.G&this.ib|this.G+d&this.sa;this.F=this.F&this.ib|this.F+d&this.sa;this.A-=c-this.B.zb;this.K-=b;a&&Tc(this)==(this.za& +64)&&(K(this,this.za&16?-3:-2),this.ba|=256)}},function(){this.aa=this.ka=this.pa=this.H&this.fa();this.ea=256;this.A-=this.B.Ce},function(){this.aa=this.ka=this.pa=this.H&this.M();this.ea=65536;this.A-=this.B.Ce},function(){var a=1,b=0,c=this.B.fj;this.za&192&&(a=this.K,b=1,c=this.B.hj,this.za&256||(this.A-=this.B.gj));if(a--){var d=this.H;this.Ie(this.Ya.cc(this.F&this.sa,0),d);this.F=this.F&this.ib|this.F+(this.Ja&1024?-1:1)&this.sa;this.A-=c;this.K-=b;a&&(K(this,-2),this.ba|=256)}},function(){var a= +1,b=0,c=this.B.fj;this.za&192&&(a=this.K,b=1,c=this.B.hj,this.za&256||(this.A-=this.B.gj));if(a--){var d=this.H;this.Sa(this.Ya.cc(this.F&this.sa,1),d);this.F=this.F&this.ib|this.F+(this.Ja&1024?-2:2)&this.sa;this.A-=c;this.K-=b;a&&(K(this,-2),this.ba|=256)}},function(){var a=1,b=0,c=this.B.Ni;this.za&192&&(a=this.K,b=1,c=this.B.Pi,this.za&256||(this.A-=this.B.Oi));a--&&(this.H=this.H&-256|this.W(this.D,this.G&this.sa),this.G=this.G&this.ib|this.G+(this.Ja&1024?-1:1)&this.sa,this.A-=c,this.K-=b,a&& +(K(this,this.za&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.Ni;this.za&192&&(a=this.K,b=1,c=this.B.Pi,this.za&256||(this.A-=this.B.Oi));a--&&(this.H=this.X(this.D,this.G&this.sa),this.G=this.G&this.ib|this.G+(this.Ja&1024?-2:2)&this.sa,this.A-=c,this.K-=b,a&&(K(this,this.za&16?-3:-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.$i;this.za&192&&(a=this.K,b=1,c=this.B.bj,this.za&256||(this.A-=this.B.aj));a--&&(od.call(this,this.H&255,this.P(this.Ya,this.F&this.sa)),this.F=this.F&this.ib| +this.F+(this.Ja&1024?-1:1)&this.sa,this.A-=c-this.B.zb,this.K-=b,a&&Tc(this)==(this.za&64)&&(K(this,-2),this.ba|=256))},function(){var a=1,b=0,c=this.B.$i;this.za&192&&(a=this.K,b=1,c=this.B.bj,this.za&256||(this.A-=this.B.aj));a--&&(yd.call(this,this.H,this.Q(this.Ya,this.F&this.sa)),this.F=this.F&this.ib|this.F+(this.Ja&1024?-2:2)&this.sa,this.A-=c-this.B.zb,this.K-=b,a&&Tc(this)==(this.za&64)&&(K(this,-2),this.ba|=256))},function(){this.H=this.H&-256|this.fa();this.A-=this.B.Jb},function(){this.K= +this.K&-256|this.fa();this.A-=this.B.Jb},function(){this.L=this.L&-256|this.fa();this.A-=this.B.Jb},function(){this.C=this.C&-256|this.fa();this.A-=this.B.Jb},function(){this.H=this.H&255|this.fa()<<8;this.A-=this.B.Jb},function(){this.K=this.K&255|this.fa()<<8;this.A-=this.B.Jb},function(){this.L=this.L&255|this.fa()<<8;this.A-=this.B.Jb},function(){this.C=this.C&255|this.fa()<<8;this.A-=this.B.Jb},function(){this.H=this.H&this.U|this.M();this.A-=this.B.Jb},function(){this.K=this.K&this.U|this.M(); +this.A-=this.B.Jb},function(){this.L=this.L&this.U|this.M();this.A-=this.B.Jb},function(){this.C=this.C&this.U|this.M();this.A-=this.B.Jb},function(){this.V=this.V&this.U|this.M();this.A-=this.B.Jb},function(){this.J=this.J&this.U|this.M();this.A-=this.B.Jb},function(){this.G=this.G&this.U|this.M();this.A-=this.B.Jb},function(){this.F=this.F&this.U|this.M();this.A-=this.B.Jb},Wg,Xg,Wg,Xg,function(){this.Bb[this.fa()].call(this,Yd)},function(){this.Bb[this.fa()].call(this,Xd)},function(){this.ba|= +1;this.je[this.fa()].call(this,Id,this.fa)},function(){this.ba|=1;this.Pc[this.fa()].call(this,Id,this.M)},Yg,Zg,Yg,Zg,function(){fd.call(this,3,null,this.B.Xk)},function(){var a=this.fa(),b;a:{b=this.tg[a];if(void 0!==b)for(var c=0;c>8)*a+this.H& +255;this.ea=256;this.A-=this.B.zk},function(){this.H=this.H&-256|(Qc(this)?255:0);this.A-=2},function(){this.H=this.H&-256|this.W(this.D,this.C+(this.H&255)&65535);this.A-=this.B.yl},$g,$g,$g,$g,$g,$g,$g,$g,function(){var a=this.N();(this.K=this.K-1&65535)&&this.aa&this.ea-1?(I(this,this.xa+a),this.A-=this.B.fl):this.A-=this.B.Qi},function(){var a=this.N();!(this.K=this.K-1&65535)||this.aa&this.ea-1?this.A-=this.B.Si:(I(this,this.xa+a),this.A-=this.B.Ri)},function(){var a=this.N();(this.K=this.K- +1&65535)?(I(this,this.xa+a),this.A-=this.B.el):this.A-=this.B.Qi},function(){var a=this.N();this.K?this.A-=this.B.Si:(I(this,this.xa+a),this.A-=this.B.Ri)},function(){var a=this.fa();this.H=this.H&-256|gb(this.ua,a,this.Ga-2);this.A-=this.B.Ki},function(){var a=this.fa();this.H=gb(this.ua,a,this.Ga-2);this.H|=gb(this.ua,a+1&65535,this.Ga-2)<<8;this.A-=this.B.Ki},function(){var a=this.fa();ib(this.ua,a,this.H&255,this.Ga-2);this.A-=this.B.Zi},function(){var a=this.fa();ib(this.ua,a,this.H&255,this.Ga- +2);ib(this.ua,a+1&65535,this.H>>8,this.Ga-2);this.A-=this.B.Zi},function(){var a=this.M();F(this,this.xa);I(this,this.xa+a);this.A-=this.B.Ek},function(){var a=this.M();I(this,this.xa+a);this.A-=this.B.Li},function(){Wb(this,this.M(),this.M());this.A-=this.B.al},function(){var a=this.N();I(this,this.xa+a);this.A-=this.B.Li},function(){this.H=this.H&-256|gb(this.ua,this.L,this.Ga-1);this.A-=this.B.Ji},function(){this.H=gb(this.ua,this.L,this.Ga-1);this.H|=gb(this.ua,this.L+1&65535,this.Ga-1)<<8;this.A-= +this.B.Ji},function(){ib(this.ua,this.L,this.H&255,this.Ga-1);this.A-=this.B.Yi},function(){ib(this.ua,this.L,this.H&255,this.Ga-1);ib(this.ua,this.L+1&65535,this.H>>8,this.Ga-1);this.A-=this.B.Yi},ah,ah,function(){this.ba|=132;this.A-=this.B.Zd},function(){this.ba|=68;this.A-=this.B.Zd},function(){this.sb|=4;this.A-=2;this.Ja&512||B(this)},function(){Qc(this)?Wc(this):$c(this);this.A-=2},function(){this.Kb=-1;this.je[this.fa()].call(this,Md,Dd);0<=this.Kb&&(this.H=this.Kb)},function(){this.Kb=-1; +this.Pc[this.fa()].call(this,Nd,Dd);0<=this.Kb&&(this.H=this.Kb,this.L=this.jg)},function(){this.aa&=~this.ea;this.A-=2},function(){this.aa|=this.ea;this.A-=2},function(){this.Ja&=-513;this.A-=this.B.Ck},function(){this.Ja|=512;this.ba|=4;this.A-=2},function(){this.Ja&=-1025;this.A-=2},function(){this.Ja|=1024;this.A-=2},function(){this.je[this.fa()].call(this,bc,Dd)},function(){this.Pc[this.fa()].call(this,cc,Dd)}],Eg=[function(){var a=this.fa();16>(a&56)&&(this.ba|=1);this.Pc[a].call(this,this.Kj, +Dd)},function(){var a=this.fa();a&16||(this.ba|=1);this.Pc[a].call(this,bh,Dd)},function(){this.Bb[this.fa()].call(this,ae)},function(){this.Bb[this.fa()].call(this,be)},N,function(){this.Ba.eb?E.call(this,13,0,!0):(ee.call(this,this.ra(2054)),this.F=this.ra(2086),this.G=this.ra(2088),this.J=this.ra(2090),this.V=this.ra(2092),this.C=this.ra(2094),this.L=this.ra(2096),this.K=this.ra(2098),this.H=this.ra(2100),Xb(this.Ya,2102,this.ra(2084)),Xb(this.Ba,2108,this.ra(2082)),Xb(this.Ha,2114,this.ra(2080)), +Xb(this.xb,2120,this.ra(2078)),Vb(this,this.ra(2072)),I(this,this.ra(2074)),this.Qc=this.ra(2126)|this.ra(2128)<<16,this.Te=this.Qc+this.ra(2130),Xb(this.ee,2132,this.ra(2076)),this.Rc=this.ra(2138)|this.ra(2140)<<16,this.Ue=this.Rc+this.ra(2142),Xb(this.ob,2144,this.ra(2070)),this.A-=195)},function(){this.Ba.eb?E.call(this,13,0,!0):(this.pc&=-9,this.A-=2)},N,N,N,N,G,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N, +N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],Kc=[function(){this.A-=2+(0>this.ja?0:1);return this.ee.Ea},function(){this.A-=2+(0>this.ja?0:1);return this.ob.Ea},function(a){this.ba|=2;this.ee.load(a); +this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;-4!=this.ob.load(a)&&(this.Sa(this.ob.Gd+4,this.ob.pb|=512),this.ob.type=768);this.A-=17+(0>this.ja?0:2);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Nb.load(a,!0)&&2048!=(this.Nb.pb&2560)&&(this.Nb.uc>=this.Ba.eb&&this.Nb.uc>=(a&3)||7168==(this.Nb.pb&7168)))return bd(this),a;Yc(this);return a},function(a){this.ba|=2;this.A-=14+(0>this.ja?0:2);if(-4!=this.Nb.load(a,!0)&&512==(this.Nb.pb&2560)&&this.Nb.uc>=this.Ba.eb&& +this.Nb.uc>=(a&3))return bd(this),a;Yc(this);return a},M,M],dc=[uc,uc,uc,uc,uc,uc,M,M],bh=[function(a){0>this.ja?G.call(this):(a=this.Te-this.Qc,this.Sa(this.ja+2,this.Qc),this.Sa(this.ja+4,65280|this.Qc>>16),this.A-=11);return a},function(a){0>this.ja?G.call(this):(a=this.Ue-this.Rc,this.Sa(this.ja+2,this.Rc),this.Sa(this.ja+4,65280|this.Rc>>16),this.A-=12);return a},function(a){0>this.ja?G.call(this):(this.Qc=this.ra(this.ja+2)|this.xd(this.ja+4)<<16,this.Te=this.Qc+a,this.ba|=2,this.A-=11);return a}, +function(a){0>this.ja?G.call(this):(this.Rc=this.ra(this.ja+2)|this.xd(this.ja+4)<<16,this.Ue=this.Rc+a,this.ba|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ja?0:1);return this.pc},M,function(a){ee.call(this,a);this.A-=0>this.ja?3:6;this.ba|=2;return a},M]; +function O(a){u.call(this,"ChipSet",a,O);this.Ia=(this.Ia=a.model)?parseInt(this.Ia,10):ch;this.Zb=0;var b=a.sw1;if(b)this.Zb=dh(b,eh|fh.Vl);else{this.Ed=[360,360];(b=a.floppies)&&b.length&&(this.Ed=b);if(b=this.Ed.length)this.Zb|=gh.Fh,b--,this.Zb|=(b&3)<=hh&&(this.Kg=this.Cf=2);this.Rd=a.scaleTimers||!1;this.No=a.rtcDate;this.ik= +!1;a.sound&&window&&"webkitAudioContext"in window&&(this.Uh=new window.webkitAudioContext);this.reset(!0);z(this)}v(u,O);var ch=5150,hh=5170,ih={none:0,tv:1,color:2,mono:3,ega:0},gh={Fh:1,ONE:0,Gp:64,Ep:128,dp:192,tf:192,uf:6},eh=12,fh={Fp:16,Wo:32,Vl:48,tf:48,uf:4};k=O.prototype; +k.Lb=function(a,b,c){switch(b){case "sw1":return this.va[b]=c,jh(this,b,c,this.Zb,{0:this.Ia==ch?"Bootable Floppy Drive":"Loop on POST",1:this.Ia==ch?"Reserved":"Coprocessor",2:"Base Memory Size",4:"Monitor Type",6:"Number of Floppy Drives"}),!0;case "sw2":if(this.Ia==ch)return this.va[b]=c,jh(this,b,c,this.fe,{0:"Expansion Memory Size",4:"Reserved"}),!0;break;case "swdesc":return this.va[b]=c,!0}return!1}; +k.Bc=function(a,b,c,d){this.ua=b;this.ma=c;this.$a=d;this.Xa=a;this.Ma=Ua(a,"Keyboard");this.qh=c.da.gd/1193181;fb(b,this,kh);hb(b,this,lh);this.Ia=hh){this.qb=16;this.qd=0;this.pd=16;this.Ag=0;this.me=160;512<=uh(this)&&(this.me|=16);3==vh(this)&&(this.me|=64);this.Mh=3;this.Dg=0;this.bc=Array(7);this.Ve=0;a&&(this.la=Array(64));wh(this, +this.No);for(a=21;24>=a;a++)this.la[a]=0;for(a=14;46>a;a++)void 0===this.la[a]&&(this.la[a]=0);this.la[20]=this.Yc&(fh.tf|2|gh.Fh|gh.tf);this.la[16]=xh(this,0)<<4|xh(this,1);yh(this)}}; +function wh(a,b){var c=b?new Date(b):new Date;"[object Date]"!==Object.prototype.toString.call(c)||isNaN(c.getTime())?(c=new Date,a.nc("CMOS date invalid ("+b+"), using "+c)):b&&a.nc("CMOS date: "+c);a.la[0]=c.getSeconds();a.la[1]=0;a.la[2]=c.getMinutes();a.la[3]=0;a.la[4]=c.getHours();a.la[5]=0;a.la[6]=c.getDay()+1;a.la[7]=c.getDate();a.la[8]=c.getMonth()+1;c=c.getFullYear();a.la[9]=c%100;c/=100;a.la[50]=c%10|c/10<<4;a.la[10]=38;a.la[11]=2;a.la[12]=0;a.la[13]=128;a.dg=a.nf=0;a.zl=a.oh=null} +function zh(a){var b;void 0===b&&(b=a.oh);a.nf=D(a.ma,a.Rd)+b;a.la[11]&64&&vb(a.ma,b)}function yh(a){for(var b=0,c=16;46>c;c++)b+=a.la[c];a.la[47]=b&255;a.la[46]=b>>8} +k.save=function(){var a=new H(this);a.set(0,[this.Zb,this.fe,this.Yc,this.Le]);for(var b=[],c=0;c=hh&&(a.set(5,[this.qb,this.qd,this.pd,this.Ag,this.me,this.Mh]),a.set(6,[this.Dg,this.bc,this.Ve,this.la,this.dg,this.nf]));return a.data()}; +k.restore=function(a){var b,c;b=a[0];this.Zb=b[0];this.fe=b[1];this.Yc=b[2];this.Le=b[3];b=a[1];for(c=0;c>2)+1)*a.vn+32*((b?a.fe:a.Le)&15)}function Gh(a,b){var c=b?a.Zb:a.Yc;return a.Ia!=ch||c&gh.Fh?((c&gh.tf)>>gh.uf)+1:0} +function xh(a,b){if(b>fh.uf} +function jh(a,b,c,d,e){for(var f="",g=1;8>=g;g++){var h="pcjs-bitCell";g||(h+=" pcjs-bitCellLeft");f+='
'+g+"
\n"}c.innerHTML=f;b=y(c,"pcjs-bitCell");c=null;for(g=0;gd.cb[0]&&(d.cb[0]=255,d.cb[1]--,0>d.cb[1]&&(d.cb[1]=255)));return e}function Lh(a,b,c,d){a=a.gb[b];c=a.Eb[c];c.cb[a.Gb]=c.dc[a.Gb]=d;a.Gb^=1} +function Mh(a,b){var c=a.gb[b],d=c.Kd|1;c.Kd&=-16;return d}function Nh(a,b,c){a=a.gb[b];b=c&3;a.Kd=a.Kd&~(16<>2].Eb[b&3],c,d,e)} +function Ph(a,b,c){b=a.gb[b>>2].Eb[b&3];b.Og&&b.li&&b.rh?(c&&(b.Pg=c),b.zd||gd(a,b,!0)):c&&c(!0)}function gd(a,b,c){c&&(b.count=b.cb[1]<<8|b.cb[0],b.Rl=b.mode&12,b.lk=b.dd=!1);for(var d=!1;0<=b.count&&(c=b.Hg<<16|b.bb[1]<<8|b.bb[0],4==b.Rl?(d=!0,function(c){b.li.call(b.Og,b.rh,-1,function(f,g){0>f&&(b.lk||(b.lk=!0),f=255);b.zd||a.ua.Ie(c,f);(d=g)&&setTimeout(function(){Uh(b)||gd(a,b)},0)})}(c)):8==b.Rl?(c=a.ua.xd(c),0>b.li.call(b.Og,b.rh,c)&&(b.dd=!0)):b.dd=!0),!d&&!Uh(b););} +function Uh(a){if(!a.dd&&0<=--a.count&&(a.mode&32?(a.bb[0]--,0>a.bb[0]&&(a.bb[0]=255,a.bb[1]--,0>a.bb[1]&&(a.bb[1]=255))):(a.bb[0]++,255>3];b=1<<(b&7);d.Rb&b||(d.Rb|=b,d.Uf=c||0,ai(a))}function di(a,b){var c=a.ac[b>>3],d=1<<(b&7);c.Rb&d&&(c.Rb&=~d,ai(a))} +function ai(a,b){var c,d=-1;1>=1),vb(a.ma,c))),2==b&&yb(a))}k=O.prototype;k.pn=function(){return null}; +k.Bo=function(a,b){this.Rh=b;var c=(b&192)>>6;if(3!=c){var d=b&1,e=b&14,f=b&48;if(f){var g=this.Pb[c];g.yh=f;g.mode=e;g.Tj=d;g.dc=[0,0];g.cb=[0,0];g.ue=[0,0];g.ed=!1;g.Lf=!1;g.ye=!1;fi(this,c);0==c&&di(this,0);2==c&&255==this.ac[0].ad&&77==this.yc&&(c=this.Pb[0],c.Ac[0]=c.dc[0],c.Ac[1]=c.dc[1],c.Ad=D(this.ma,this.Rd))}else gi(this,c),d=this.Pb[c],d.ue[0]=d.cb[0],d.ue[1]=d.cb[1],d.Lf=!0,fi(this,c)}};function ii(a,b){var c=a.Pb[b],d=c.dc[1]<<8|c.dc[0];d||(d=1==c.te?256:65536);return d} +function Ab(a,b){var c=a.Pb[b],d=c.Ac[1]<<8|c.Ac[0];d||(d=1==c.te?256:65536);return d}function fi(a,b){var c=a.Pb[b];c.Nd=32==c.yh?1:0;c.te=48==c.yh?2:1} +function gi(a,b,c){var d=a.Pb[b];if(d.ye&&(2!=b||a.yc&1)){var e=D(a.ma,a.Rd),f=(e-d.Ad)/a.qh|0;0>f&&(d.Ad=e,f=0);var g=ii(a,b),h=Ab(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.ed=!0,d.ye=!1,b||ci(a,0))):4==d.mode?(d.ed=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.Ac[0]=h&255,d.Ac[1]=h>>8,d.Ad=e,!b&&d.ed&&ci(a,0))):6==d.mode&&(h-=f,0>=h&&(d.ed=!d.ed,h=g+h,0>=h&&(h=g),d.Ac[0]=h&255,d.Ac[1]=h>>8,d.Ad=e,!b&&d.ed&&ci(a,0)));d.cb[0]=h&255;d.cb[1]=h>>8;c&&(a.Ad=0)}return d} +function zb(a,b){for(var c=0;c=hh){var c=a.ma.da.gd,d=D(a.ma,a.Rd);null==a.oh&&(a.dg=D(a.ma,a.Rd),a.zl=1024,a.oh=Math.floor(a.ma.da.gd/a.zl),zh(a));d>=a.nf&&(a.la[12]|=64,a.la[11]&64&&(a.la[12]|=128,ci(a,8)),a.nf=d+a.oh);a.la[0]==a.la[1]&&a.la[2]==a.la[3]&&a.la[4]==a.la[5]&&(a.la[12]|=32,a.la[11]&32&&(a.la[12]|=128,ci(a,8)));var e=d-a.dg,f=Math.floor(e/c);if(f&&!(a.la[11]&128)){for(;f--;)if(60<=++a.la[0]&&(a.la[0]=0,60<=++a.la[2]&&(a.la[2]=0,24<=++a.la[4]))){a.la[4]= +0;a.la[6]=a.la[6]%7+1;var g;g=a.la[9];var h=ka[a.la[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.la[7]>g&&(a.la[7]=1,12<++a.la[8]&&(a.la[8]=1,a.la[9]=(a.la[9]+1)%100))}a.la[12]|=16;a.la[11]&16&&(a.la[12]|=128,ci(a,8))}a.dg=d-e%c}}k.gn=function(){var a=this.Gg;if(this.Bf&16)if(this.yc&128)a=this.Yc;else if(this.Ma){var a=this.Ma,b=0;a.Qb.length&&(b=a.Qb[0]);a=b}return a};k.uo=function(a,b){this.Gg=b};k.hn=function(){return this.yc}; +k.vo=function(a,b){ji(this,b);this.Ma&&ki(this.Ma,b&128?!1:!0,b&64?!0:!1)};function ji(a,b){var c=!!(b&2),d=!!(a.yc&2);a.yc=b;c!=d&&yb(a,c)}k.jn=function(){var a=0,a=this.Ia==ch?this.yc&4?a|this.Le&15:a|this.Le>>4&1:this.yc&8?a|this.Yc>>4:a|this.Yc&15;this.yc&1&&gi(this,2).ed&&(a=this.yc&2?a|32:a|16);return a};k.wo=function(a,b){this.Ph=b};k.kn=function(){return this.Bf};k.xo=function(a,b){this.Bf=b};k.xm=function(){var a=this.Ag;this.qb&=-258;this.Ma&&li(this.Ma);return a}; +k.Kn=function(a,b){if(this.qb&8)switch(this.qd){case 96:mi(this,b);break;case 209:ni(this,b);break;default:if(mi(this,this.pd&-17),this.Ma){var c=-1;switch(b){case 255:c=250,oi(this.Ma)}pi(this,c)}}this.qd=b;this.qb&=-9};k.ym=function(){return this.yc&-209|(D(this.ma)&64?16:0)};k.Ln=function(a,b){ji(this,b)};k.zm=function(){var a=this.qb&255;this.qb&256&&(this.qb|=1,this.qb&=-257);return a}; +k.Jn=function(a,b){this.qd=b;this.qb|=8;var c=0;240<=this.qd&&(c=this.qd^15,this.qd=240);switch(this.qd){case 192:pi(this,this.me);break;case 173:mi(this,this.pd|16);break;case 174:mi(this,this.pd&-17);this.Ma&&li(this.Ma);break;case 170:this.Ma&&(this.Ma.Qb=[]);mi(this,this.pd|16);pi(this,85);ni(this,3);break;case 224:pi(this,this.pd&16?0:1);break;case 240:c&1&&Ac(this.ma)}};function mi(a,b){a.pd=b;a.qb=a.qb&-5|b&4;a.Ma&&ki(a.Ma,!!(b&8),!(b&16))} +function pi(a,b){0<=b&&(a.Ag=b,a.qb&=-2,a.qb|=256)}function ni(a,b){a.Mh=b;Ya(a.ua,!!(b&2));b&1||Ac(a.ma)}function qi(a,b){a.Ia=c)if(d=this.la[c],10>c){var e=!1;4!=c&&5!=c||this.la[11]&2||(d=12>d?d?d:12:(d-=12)?d+128:140,e=!0);this.la[11]&4||(e&&128=c){if(e=b,10>c){var f=!1;this.la[11]&4||(e=10*(e>>4)+(e&15),f=!0);if(4==c||5==c)f&&23=e?e=12==e?0:e:(e-=116,e=24==e?12:e))}}else e=b;this.la[c]=e;11==c&&d&64&&b&64&&zh(this)};k.en=function(){return this.Dg};k.ro=function(a,b){this.Dg=b};k.to=function(a,b){this.Fg=b};k.ao=function(){};k.bo=function(){}; +function dh(a,b){if(void 0===a)return b;for(var c=0,d=1,e=0;ec||2E4>8&255,this.Fb[c++]=f[b]>>16&255,this.Fb[c++]=f[b]>>24&255;else this.Fb=d;this.Kh=d.symbols;if(!this.Fb.length){q("Empty ROM: "+a);return}if(1==this.Fb.length){q(this.Fb[0]);return}}catch(g){this.Da("ROM data error: "+ +g.message);return}else for(a=b.replace(/\n/gm," ").replace(/ +$/,"").split(" "),this.Fb=Array(a.length),d=0;d>d.Cb].Bj(e&d.Wa,a.Fb[c]&255)}return!0}return!1}za(function(){for(var a=y(window.document,"pcjs","rom"),b=0;bthis.zg?21:23,c=a.la[b]|a.la[b+1]<<8,c=c+(this.Cd>>10);a.la[b]=c&255;a.la[b+1]=c>>8;yh(a)}}else q("No RAM allocated")}; +za(function(){for(var a=y(window.document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,Uo:65,Vo:66,Fj:67,Tl:68,E:69,bp:70,ep:71,Gj:72,gp:73,hp:74,ip:75,jp:76,kp:77,Gh:78,mp:79,np:80,pp:81,Ij:82,tp:83,Dp:84,Hp:85,Ip:86,Jp:87,Lp:88,Mp:89,Np:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Op:97,Qp:98,Sp:99,Tp:100,Up:101,Vp:102,Wp:103,Xp:104,Yp:105,Zp:106,$p:107, +aq:108,bq:109,cq:110,eq:111,fq:112,gq:113,hq:114,iq:115,jq:116,kq:117,mq:118,nq:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},R={};R[186]=P[";"];R[187]=P["="];R[188]=P[","];R[189]=P["-"];R[190]=P["."];R[191]=P["/"];R[192]=P["`"];R[219]=P["["];R[220]=P["\\"];R[221]=P["]"];R[222]=P["'"];R[173]=P["-"];var S={};S[P["1"]]=P["!"];S[P["2"]]=P["@"];S[P["3"]]=P["#"];S[P["4"]]=P.$;S[P["5"]]=P["%"];S[P["6"]]=P["^"];S[P["7"]]=P["&"];S[P["8"]]=P["*"];S[P["9"]]=P["("];S[P["0"]]=P[")"];S[186]=P[":"]; +S[187]=P["+"];S[188]=P["<"];S[189]=P._;S[190]=P[">"];S[191]=P["?"];S[192]=P["~"];S[219]=P["{"];S[220]=P["|"];S[221]=P["}"];S[222]=P['"'];S[173]=P._;S[61]=P["+"];S[59]=P[":"]; var yi={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},zi={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046},Ai={esc:1027,1:P["1"],2:P["2"],3:P["3"],4:P["4"],5:P["5"],6:P["6"],7:P["7"],8:P["8"],9:P["9"],0:P["0"],"-":P["-"],"=":P["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89,u:85,i:73,o:79,p:80,"[":P["["],"]":P["]"],enter:13, ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":P[";"],quote:P["'"],"`":P["`"],shift:1016,"\\":P["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":P[","],".":P["."],"/":P["/"],"right-shift":3016,prtsc:1044,alt:1018,space:P[" "],"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101,"num-right":1039,"num-add":1107,"num-end":1035, "num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046},Bi={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},T={1027:1};T[P["1"]]=2;T[P["!"]]=10754;T[P["2"]]=3;T[P["@"]]=10755;T[P["3"]]=4;T[P["#"]]=10756;T[P["4"]]=5;T[P.$]=10757;T[P["5"]]=6;T[P["%"]]=10758;T[P["6"]]=7;T[P["^"]]=10759;T[P["7"]]=8;T[P["&"]]=10760;T[P["8"]]=9;T[P["*"]]=10761;T[P["9"]]=10;T[P["("]]=10762;T[P["0"]]=11;T[P[")"]]=10763;T[P["-"]]=12;T[P._]=10764;T[P["="]]=13;T[P["+"]]=10765;T[1008]=14;T[1009]=15;T[113]=16; T[81]=10768;T[119]=17;T[87]=10769;T[101]=18;T[69]=10770;T[114]=19;T[82]=10771;T[116]=20;T[84]=10772;T[121]=21;T[89]=10773;T[117]=22;T[85]=10774;T[105]=23;T[73]=10775;T[111]=24;T[79]=10776;T[112]=25;T[80]=10777;T[P["["]]=26;T[P["{"]]=10778;T[P["]"]]=27;T[P["}"]]=10779;T[13]=28;T[1017]=29;T[97]=30;T[65]=10782;T[115]=31;T[83]=10783;T[100]=32;T[68]=10784;T[102]=33;T[70]=10785;T[103]=34;T[71]=10786;T[104]=35;T[72]=10787;T[106]=36;T[74]=10788;T[107]=37;T[75]=10789;T[108]=38;T[76]=10790;T[P[";"]]=39; T[P[":"]]=10791;T[P["'"]]=40;T[P['"']]=10792;T[P["`"]]=41;T[P["~"]]=10793;T[1016]=42;T[P["\\"]]=43;T[P["|"]]=10795;T[122]=44;T[90]=10796;T[120]=45;T[88]=10797;T[99]=46;T[67]=10798;T[118]=47;T[86]=10799;T[98]=48;T[66]=10800;T[110]=49;T[78]=10801;T[109]=50;T[77]=10802;T[P[","]]=51;T[P["<"]]=10803;T[P["."]]=52;T[P[">"]]=10804;T[P["/"]]=53;T[P["?"]]=10805;T[3016]=54;T[1044]=55;T[1018]=56;T[P[" "]]=57;T[1020]=58;T[1112]=59;T[1113]=60;T[1114]=61;T[1115]=62;T[1116]=63;T[1117]=64;T[1118]=65;T[1119]=66; -T[1120]=67;T[1121]=68;T[1144]=69;T[1145]=70;T[1036]=71;T[1038]=72;T[1033]=73;T[1109]=74;T[1037]=75;T[1101]=76;T[1039]=77;T[1107]=78;T[1035]=79;T[1040]=80;T[1034]=81;T[1045]=82;T[1046]=83;T[1122]=87;T[1123]=88;T[1091]=91;T[1093]=93;T[1224]=91;T[4003]=7470;T[4008]=7494;T[4046]=3677523;k=wi.prototype; -k.Gb=function(a,b,c){var d=this,e=a+"-"+b;if(void 0===this.sa[e])switch(b){case "kbd":return this.sa[e]=c,c.onkeydown=function(a){return Ci(d,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;var b=!T[a]||!!(d.Ob&128);b||Di(d,a,!0);return b},c.onkeyup=function(a){return Ci(d,a,!1)},!0;case "caps-lock":return this.sa[e]=c,c.onclick=function(){d.ka&&d.ka.dd();Di(d,1020,!0)},!0;case "num-lock":return this.sa[e]=c,c.onclick=function(){d.ka&&d.ka.dd();Di(d,1144,!0)},!0;case "scroll-lock":return this.sa[e]= -c,c.onclick=function(){d.ka&&d.ka.dd();Di(d,1145,!0)},!0;default:var f=b.toUpperCase().replace(/-/g,"_");if(void 0!==zi[f]&&"button"==a)return this.sa[e]=c,c.onclick=function(a,b,c){return function(){a.ka&&a.ka.dd();Ei(a,c,!0);Di(a,c,!0)}}(this,f,zi[f]),!0;if(void 0!==Ai[b])return this.Kj++,this.sa[e]=c,a=function(a,b,c){return function(){Di(a,c)}}(this,b,Ai[b]),b=function(a,b,c){return function(){Fi(a,c)}}(this,b,Ai[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= -c.onmouseout=b),!0}return!1};function Gi(a,b,c){if(a.Kj){for(var d in S)if(b==S[d]){b=parseInt(d,10);(d=xi[d])&&(b=d);break}for(var e in Ai)if((d=Ai[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=Ai[e]==d),d){(a=a.sa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}k.xc=function(a,b,c,d){this.ra=b;this.ka=c;this.Wa=d;this.la=Sa(a,"ChipSet")};function ni(a,b){a.hc("keyboard reset",32896);a.Lb=[170];b&&a.la&&pi(a.la,a.Lb[0])} -function ji(a,b,c){a.Uh!==c&&(a.Uh=a.Xh=c);a.Kg!==b&&(a.Kg=b)&&!a.Xh&&qi(a,!0);a.Kg&&a.Xh&&(ni(a,!0),a.Xh=!1)}function ki(a){var b=0;a.Lb.length&&(b=a.Lb[0],a.la&&pi(a.la,b))}function qi(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.Vc:a.Ob)&b):d||b&255&&(b=255);if(c){a.Vc&=~b;d&&(a.Vc|=b);c=b;var f,g;for(g in Bi)d="led-"+g,e=Bi[g],c&&c!=e||!(f=a.sa[d])||(f.style.backgroundColor=a.Vc&e?"#00ff00":"#000000")}else a.Ob&=~b,d&&(a.Ob|=b);return!0}}return!1} -function Di(a,b,c){if(T[b]&&a.ka&&a.ka.ma.Hb){yi[b]&&a.Vb.length&&0e||(e==a.Vb.length&&(d={},d.Ae=b,d.Ob=a.Ob,Gi(a,b,!0),e++),0b.bd){if(!b.Af){Fi(a,b.Ae);return}b.Af=!1;c=a.nn}else c=1==b.bd++?a.on:a.pn;b.Dl=setTimeout(function(a){return function(){Hi(a,b)}}(a),c)}}else Fi(a,b.Ae,!0)}function Ji(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Ob&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Ob&515)==c&&(d=b-32);else if(!!(a.Ob&3)==c){if(a=S[b])d=a}else if(a=xi[b])d=a;return d}k.ih=function(a){this.Lg=a;a||(this.Ob&=-256)}; -function Ci(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Ji(a,g,!0);a.Sj&&h==P["`"]&&(g=h=27);if(T[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Ei(a,h,!1,c)){if(20==g||144==g||145==g)a.dm||(c=e=!0);if(!(c||91!=g&&93!=g))for(var m=0;m=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.Vc&3||a.Vc&512&&b||(g=h):29==h?a.Vc&12||(g=h):56==h?a.Vc&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Lb.length?(d.Lb.push(f),1==d.Lb.length&&d.la&&pi(d.la,f)):(20==d.Lb.length&&d.Lb.push(255),d.hc("scan code buffer overflow")))}} -za(function(){for(var a=y(window.document,"pcjs","keyboard"),b=0;b=d&&(d-=32),d=Ai[e]==d),d){(a=a.va["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}k.Bc=function(a,b,c,d){this.ua=b;this.ma=c;this.$a=d;this.na=Ua(a,"ChipSet")};function oi(a,b){a.mc("keyboard reset",32896);a.Qb=[170];b&&a.na&&qi(a.na,a.Qb[0])} +function ki(a,b,c){a.ei!==c&&(a.ei=a.hi=c);a.Ug!==b&&(a.Ug=b)&&!a.hi&&ri(a,!0);a.Ug&&a.hi&&(oi(a,!0),a.hi=!1)}function li(a){var b=0;a.Qb.length&&(b=a.Qb[0],a.na&&qi(a.na,b))}function ri(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.cd:a.Tb)&b):d||b&255&&(b=255);if(c){a.cd&=~b;d&&(a.cd|=b);c=b;var f,g;for(g in Bi)d="led-"+g,e=Bi[g],c&&c!=e||!(f=a.va[d])||(f.style.backgroundColor=a.cd&e?"#00ff00":"#000000")}else a.Tb&=~b,d&&(a.Tb|=b);return!0}}return!1} +function Di(a,b,c){if(T[b]&&a.ma&&a.ma.oa.Mb){yi[b]&&a.$b.length&&0e||(e==a.$b.length&&(d={},d.Je=b,d.Tb=a.Tb,Gi(a,b,!0),e++),0b.kd){if(!b.Kf){Fi(a,b.Je);return}b.Kf=!1;c=a.yn}else c=1==b.kd++?a.zn:a.An;b.Ol=setTimeout(function(a){return function(){Hi(a,b)}}(a),c)}}else Fi(a,b.Je,!0)}function Ji(a,b,c){var d=b;if(65<=b&&90>=b)!(a.Tb&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.Tb&515)==c&&(d=b-32);else if(!!(a.Tb&3)==c){if(a=S[b])d=a}else if(a=R[b])d=a;return d}k.sh=function(a){this.Vg=a;a||(this.Tb&=-256)}; +function Ci(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Ji(a,g,!0);a.ck&&h==P["`"]&&(g=h=27);if(T[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),Ei(a,h,!1,c)){if(20==g||144==g||145==g)a.om||(c=e=!0);if(!(c||91!=g&&93!=g))for(var m=0;m=b||97<=b&&122>=b;d>>>=8;){var g=0,h=d&255;224==f||225==f?e.push(f|(c?0:128)):(42==h?a.cd&3||a.cd&512&&b||(g=h):29==h?a.cd&12||(g=h):56==h?a.cd&48||(g=h):e.push(f|(c?0:128)),g&&(c?e.unshift(g):e.push(g|128)))}for(c=0;cd.Qb.length?(d.Qb.push(f),1==d.Qb.length&&d.na&&qi(d.na,f)):(20==d.Qb.length&&d.Qb.push(255),d.mc("scan code buffer overflow")))}} +za(function(){for(var a=y(window.document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(Vi)];this.Sg=b;this.Xa=e[2];this.Jb=e[3];this.Nc=d||e[4];65536<=this.Nc&&720896<=this.Xa&&(this.Jb=Math.min(this.Nc>>2,32768));this.Pc=c[0];this.yc=c[1];this.uf=c[2];this.dg=c[3];this.Fc=c[4]&255;this.Rg=c[4]>>8&255;this.mc=c[5];this.ii=Vi;if(5==b){this.ii=Wi;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.Xa,this.Jb,this.Nc],Array(this.Nc>> -2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.Id=b[0];this.re=b[1];this.$d=b[2];this.pj=b[3];this.Vg=b[4];this.Zh=b[5];this.Ye=b[6];this.mg=b[7];this.bi=b[8];this.ci=b[9];this.Xe=b[10];this.He=b[11];this.Cb=b[12];d=b[13];"number"==typeof d&&(d=[this.Xa,this.Jb,d]);this.Xa=d[0];this.Jb=d[1];d=this.Nc>>2;if((this.ce=b[14])&&this.ce.length>8&255)} -var Y=[,,function(a){a+=this.offset;return(this.ea.Cb=this.qa[a])>>this.ea.cj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.qa[b]>>8:this.qa[b])&255}];Y[16]=function(a){a+=this.offset;a=this.qa[a];for(var b=this.ea.ki&this.ea.li,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Y[512]=function(a,b){var c=a+this.offset,d;d=this.qa[c]&~this.ea.hb|(b|b<<8|b<<16|b<<24)&this.ea.hb;d=d&this.ea.pb|this.ea.Cb&~this.ea.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)}; -Y[1024]=function(a,b){var c=a+this.offset;b=b>>this.ea.$c|b<<8-this.ea.$c&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Td|this.ea.ue;d=d&this.ea.hb|this.qa[c]&~this.ea.hb;d=d&this.ea.pb|this.ea.Cb&~this.ea.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)}; -Y[1536]=function(a,b){var c=a+this.offset;b=b>>this.ea.$c|b<<8-this.ea.$c&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Td|this.ea.ue;d&=this.ea.Cb;d=d&this.ea.hb|this.qa[c]&~this.ea.hb;d=d&this.ea.pb|this.ea.Cb&~this.ea.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)}; -Y[2560]=function(a,b){var c=a+this.offset;b=b>>this.ea.$c|b<<8-this.ea.$c&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Td|this.ea.ue;d|=this.ea.Cb;d=d&this.ea.hb|this.qa[c]&~this.ea.hb;d=d&this.ea.pb|this.ea.Cb&~this.ea.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)}; -Y[3584]=function(a,b){var c=a+this.offset;b=b>>this.ea.$c|b<<8-this.ea.$c&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ea.Td|this.ea.ue;d^=this.ea.Cb;d=d&this.ea.hb|this.qa[c]&~this.ea.hb;d=d&this.ea.pb|this.ea.Cb&~this.ea.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ea.hb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.qa[d]&~c;c=c&this.ea.pb|this.ea.Cb&~this.ea.pb;this.qa[d]!=c&&(this.qa[d]=c,this.nb=!0)}; -Y[4096]=function(a){a+=this.offset;var b=this.qa[a]&~this.ea.hb|this.ea.Cb&this.ea.hb;this.qa[a]!=b&&(this.qa[a]=b,this.nb=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d&this.ea.hb|this.qa[c]&~this.ea.hb,d=d&this.ea.pb|this.ea.Cb&~this.ea.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)};Y[24576]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d&this.ea.Cb,d=d&this.ea.hb|this.qa[c]&~this.ea.hb,d=d&this.ea.pb|this.ea.Cb&~this.ea.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)}; -Y[40960]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d|this.ea.Cb,d=d&this.ea.hb|this.qa[c]&~this.ea.hb,d=d&this.ea.pb|this.ea.Cb&~this.ea.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d^this.ea.Cb,d=d&this.ea.hb|this.qa[c]&~this.ea.hb,d=d&this.ea.pb|this.ea.Cb&~this.ea.pb;this.qa[c]!=d&&(this.qa[c]=d,this.nb=!0)}; -function Zi(a){var b=[];if(void 0!==a.Sg){b[0]=a.Pc;b[1]=a.yc;b[2]=a.uf;b[3]=a.dg;b[4]=a.Fc|a.Rg<<8;b[5]=a.mc;if(5==a.Sg){var c=[];c[0]=a.Id;c[1]=a.re;c[2]=a.$d;c[3]=a.pj;c[4]=a.Vg;c[5]=a.Zh;c[6]=a.Ye;c[7]=a.mg;c[8]=a.bi;c[9]=a.ci;c[10]=a.Xe;c[11]=a.He;c[12]=a.Cb;c[13]=[a.Xa,a.Jb,a.Nc];var d;a:if(d=a.ce){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=m;h=n}if(f.length>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),db(this.ra,b,c|d<<8);ob(this,!0)}};function fj(a){a.oa.Vg&1?(a.Mc=a.Ih,a.ec=a.oa):(a.Mc=a.oa,a.ec=a.Dg)}k.save=function(){var a=new H(this);a.set(0,Zi(this.Ih));a.set(1,Zi(this.Dg));a.set(2,[this.Qd,this.ad,this.Pd]);a.set(3,Zi(this.oa));return a.data()}; -k.restore=function(a){var b=a[2];this.Qd=b[0];this.ad=b[1];this.Pd=b[2];this.Fa=null;this.Mc=this.Ih=new Ti(this,1,a[0]);this.ec=this.Dg=new Ti(this,3,a[1]);this.oa=new Ti(this,5,a[3],this.Nc);this.oa.Pc&&fj(this);gj(this);if(!ij(this))return!1;jj(this);return!0}; -k.vn=function(a,b,c){if(c)this.Aa("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){q("Empty font ROM image: "+a);return}if(1==d.length){q(d[0]);return}if(8192==d.length)ui(this,d,[0,6144]);else{this.Aa("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Aa("Font ROM data error: "+e.message);return}z(this)}}; -function kj(a,b){if(1==b)return a.fd[0]=W[0],a.fd[1]=W[7],a.fd;if(2==b){var c=a.Fa.uf;if(a.Fa===a.oa){var d=a.oa.$d[0],c=d&7;d&16&&(c|=8);18!=a.oa.$d[1]&&(c|=32)}a.fd[0]=W[c&15];c=c&32?Qi:Pi;for(d=0;dxa||!L?xa:8,Ad=ci.createImageData(n.nc,n.oc),ya=0;256>ya;ya++){for(Xa= -0;Xa=xa-2,ok=Wa[Xa>(8<=zb&&176<=ya&&223>=ya?7:zb)?t:Rb;nj(Ad,di,ei,fi);D&&nj(Ad,di+1,ei,fi)}ci.putImageData(Ad,(ya&15)*n.nc,(ya>>4)*n.oc)}n.Ge[w]="#"+ca(t[0])+ca(t[1])+ca(t[2]);n.Aj[w]=t;n.xh[w]=Bc;n=!0}}a.xd[b]=s;return n}function oj(a){0a.ie&&(a.ie=0):a.ie=-1} -function jj(a){if(a.Qb){for(var b=10;15>=b;b++)if(null==a.Fa.mc[b])return;var c=a.Fa.mc[10],b=c&31,d=a.Fa.mc[11]&31,e=a.Fa.mc[9]&31,f=!1;a.Fa===a.oa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)pj(a);else{c=a.Fa.mc[15]+((a.Fa.mc[14]&63)<<8);a.Gc!=c&&(pj(a),a.Gc=c);d=d-b+1;if(a.Hl!=b||a.Nj!=d)a.Hl=b,a.Nj=d;a.Gd=e+1;oj(a)}}} -function pj(a){if(0<=a.Gc){if(void 0!==a.dc){var b=a.dc[a.Gc];if(b&131072){var b=b&-131073,c=a.Gc%a.Db,d=Math.floor(a.Gc/a.Db);a.Qb&&a.xd[a.Qb]&&(a.Pe&&qj(a,c,d,b,a.Pe),qj(a,c,d,b));a.dc[a.Gc]=b}}a.Gc=-1}} -function rj(a){var b;a=a.Fa;var c=a.He[5];if(null!=c){b=2;var d=512,e=a.He[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.$c=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.ye=function(a){var b=this.Fa;null!=a&&b&&a!=b.hi&&(b.rh(a),this.ra.rh(b.Xa,b.Jb,b.of))}; -function ij(a,b){var c,d=a.Pd,e=a.Fa;if(e)if(1==e.Sg)d=Ki;else if(5==e.Sg){var d=null,f=e.Nc>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=rj(a)}}else e.yc&8&&(e.yc&2?(d=e.yc&16?6:5,e.yc&4||(d-=1)):(d=e.yc&1?3:1,e.yc&4&&(d-= -1)));else a.Pd=null,null==d&&(d=a.ad);if(!hj(a,d,b))return!1;a.ye(c);return!0} -function hj(a,b,c){if(null!=b&&(b!=a.Pd||c)){a.Pl=0;a.Pd=b;b=a.Fa||(b==Ki?a.Mc:a.ec);if(b!=a.Fa||b.Xa!=a.Xa||b.Jb!=a.Jb){pj(a);if(a.Xa){if(!ab(a.ra,a.Xa,a.Jb))return!1;a.Fa&&(a.Fa.Pc=!1)}a.Fa=b;b.Pc=!0;a.Xa=b.Xa;a.Jb=b.Jb;if(!Za(a.ra,b.Xa,b.Jb,!1,b===a.oa?b:null))return!1}a.Qb=0;a.Db=a.$g;a.rc=a.pi;a.ji=V[Ki][2];b=0;var d=V[a.Pd];d&&(a.Db=d[0],a.rc=d[1],a.ji=d[2],b=d[3]||0,a.Qb=d[4],4==a.Qd&&a.Fa===a.oa&&3==a.Qb&&(7==a.oa.mc[9]?a.rc=43:a.Qb=5));a.kk=a.Db*a.rc;a.Xg=a.kk/a.ji;a.Jh=(a.Xg<<1)+b;a.Lj= -b?a.Jh+b>>1:0;13<=a.Pd&&(a.Xg<<=1);a.xd.length&&(a.md=Math.floor(a.ld/a.Db),a.nd=Math.floor(a.Hd/a.rc),a.Qb?(b=a.xd[a.Qb],d=a.xd[a.Qb<<1],a.em&&80==a.Db?d&&a.md>=3*d.nc>>2&&(a.Qb<<=1,b=d):(d&&a.md>=d.nc&&(a.Qb<<=1,b=d),b&&(a.md=b.nc,a.nd=b.oc)),a.wf=a.xf=0,b&&(a.wf=a.Db*b.nc,a.xf=a.rc*b.oc)):(a.md=a.nd=1,a.wf=a.Db,a.xf=a.rc),a.Tg=a.Oc.createImageData(a.wf,a.xf),a.Ne=window.document.createElement("canvas"),a.Ne.width=a.wf,a.Ne.height=a.xf,a.Pe=a.Ne.getContext("2d"),a.sj=a.tj=0,a.Mh=a.ld,a.Nh=a.Hd, -b=a.ld-a.Db*a.md,d=a.Hd-a.rc*a.nd,0>1,a.Mh-=b),0>1,a.Nh-=d),b||d)&&(a.Oc.fillStyle=a.tf.style.backgroundColor,a.Oc.fillRect(0,0,a.ld,a.Hd));!1!==c?ob(a,!0):sj(a,!0)}return!0}function nj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function sj(a,b){var c;if(b){if(c=a.Xg,void 0===a.dc||a.dc.length!=c)a.dc=Array(c)}else{if(void 0===a.dc)return;c=a.dc.length}for(var d=0;d>8;d=g&15;var h=a.xd[a.Qb];h.lf&&(d=h.lf[d]);var m=g>>4&15;h.lf&&(m=h.lf[m]);e?(b*=h.nc,c*=h.oc,e.fillStyle=h.Ge[m],e.fillRect(b,c,h.nc,h.oc)):(b=b*a.md+a.sj,c=c*a.nd+a.tj,a.Oc.fillStyle=h.Ge[m],a.Oc.fillRect(b,c,a.md,a.nd));g&256&&(m=(f&15)*h.nc,f=(f>>4)*h.oc,e?e.drawImage(h.xh[d],m,f,h.nc,h.oc,b,c,h.nc,h.oc):a.Oc.drawImage(h.xh[d],m,f,h.nc,h.oc,b,c,a.md,a.nd));g&512&&(f=a.Hl,g=a.Nj,e?(a.Gd&&a.Gd!==h.oc&&(f=Math.floor(f*h.oc/a.Gd),g=Math.floor(g*h.oc/a.Gd)), -e.fillStyle=h.Ge[d],e.fillRect(b,c+f,h.nc,g)):(a.Gd&&a.Gd!==a.nd&&(f=Math.floor(f*a.nd/a.Gd),g=Math.floor(g*a.nd/a.Gd)),a.Oc.fillStyle=h.Ge[d],a.Oc.fillRect(b,c+f,a.md,g)))} -function ob(a,b){if(a.ma.Pb){var c=!1;a.Fa&&(a.Fa===a.oa?a.oa.re&32&&(c=!0):a.Fa.yc&8&&(c=!0));if(c||b){if(b)sj(a,!0);else if(void 0===a.dc)return;var d=!1;!(b||++a.Pl&15)&&0<=a.ie&&(a.ie++,d=!0);var e=0,f=a.kk,c=a.Fa.Xa,g=c+a.Fa.Jb,h=(a.Fa.mc[12]<<8)+a.Fa.mc[13];a.Qb&&(h<<=1);var c=c+h,m=a.Jh;c+m>g&&(m=g-c,0>m&&(m=0));g=c+m;if(h=!b){for(var h=a.ra,n=!0,r=c>>h.xb;0a.Gc)return;e=a.Gc;f= -e+1}}if(a.Qb){if(a.xd[a.Qb]){d=0;h=a.he=0;m=1048575;a.Fa.yc&32&&(h=32768,m&=~h,a.ie&2||(m&=-65537));for(c+=e<<1;c>8|(s&255)<<8;t=h;var xa=16;r>=m))>>(xa-=m);nj(a.Tg,r++,w,n[Rb])}r>Q&&(Q=r);w=R&&(R=w+1)}e+=2;g++;if(r>=a.Db){r=0;w+=2;if(w>a.rc)break;w==a.rc&&(w=1,e=c+a.Lj)}}DL;L++)R= -Q&2155905152,0>R&&(R+=4294967296),R=X[R]||0,nj(a.Tg,h++,m,g[R]),Q<<=1;h>r&&(r=h);m=D&&(D=m+1)}e++;if(h>=a.Db&&(h=0,++m>a.rc))break}n>2),a=this.oa.pj&-17|(this.rg&1<e&&(e=0);e%b.mi>b.rn&&(c|=1);e%=b.nk;e>b.tn&&(c|=8);b.ti=d-e;b===a.oa?(c|=b.dg&48^48,b.Id=!1):c=(b.dg^=9)|240;return b.dg=c} -var $i={948:U.prototype.Rm,949:U.prototype.Qm,952:U.prototype.Sm,954:U.prototype.Tm,980:U.prototype.zm,981:U.prototype.ym,984:U.prototype.Am,985:U.prototype.xm,986:U.prototype.Bm},aj={948:U.prototype.co,949:U.prototype.bo,952:U.prototype.eo,980:U.prototype.Mn,981:U.prototype.Ln,984:U.prototype.Nn,985:U.prototype.Kn},bj={960:U.prototype.gk,961:U.prototype.gk,962:U.prototype.cn,964:U.prototype.bn,965:U.prototype.an,970:U.prototype.Km,972:U.prototype.Jm,974:U.prototype.Im,975:U.prototype.Hm},cj={954:U.prototype.ql, -960:U.prototype.pl,961:U.prototype.pl,962:U.prototype.ho,964:U.prototype.oo,965:U.prototype.no,970:U.prototype.Yn,972:U.prototype.Xn,974:U.prototype.Wn,975:U.prototype.Vn,986:U.prototype.ql}; +function Ti(a,b,c,d){if(void 0!==b&&(!c||c.length)){var e=Ui[b],f=a.Yd||e[5];if(!c||6>c.length)c=[!1,0,null,null,0,Array(Vi)];this.bh=b;this.ab=e[2];this.Ob=e[3];this.Tc=d||e[4];65536<=this.Tc&&720896<=this.ab&&(this.Ob=Math.min(this.Tc>>2,32768));this.Vc=c[0];this.Cc=c[1];this.Ef=c[2];this.ng=c[3];this.Kc=c[4]&255;this.ah=c[4]>>8&255;this.rc=c[5];this.ti=Vi;if(5==b){this.ti=Wi;b=c[6];void 0===b&&(b=[!1,0,Array(20),0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ab,this.Ob,this.Tc],Array(this.Tc>> +2),771,0,4294967295,0,4294967295,0,4294967295,0,0,0]);this.Qd=b[0];this.Ae=b[1];this.he=b[2];this.Aj=b[3];this.fh=b[4];this.ji=b[5];this.gf=b[6];this.wg=b[7];this.mi=b[8];this.ni=b[9];this.ff=b[10];this.Qe=b[11];this.Hb=b[12];d=b[13];"number"==typeof d&&(d=[this.ab,this.Ob,d]);this.ab=d[0];this.Ob=d[1];d=this.Tc>>2;if((this.le=b[14])&&this.le.length>8&255)} +var Y=[,,function(a){a+=this.offset;return(this.ga.Hb=this.ta[a])>>this.ga.nj&255},function(a){a+=this.offset;var b=a&-2;return(a&1?this.ta[b]>>8:this.ta[b])&255}];Y[16]=function(a){a+=this.offset;a=this.ta[a];for(var b=this.ga.vi&this.ga.wi,c=0,d=128;d;)(a&b)==b&&(c|=d),b>>>=1,d>>=1;return c};Y[512]=function(a,b){var c=a+this.offset,d;d=this.ta[c]&~this.ga.mb|(b|b<<8|b<<16|b<<24)&this.ga.mb;d=d&this.ga.tb|this.ga.Hb&~this.ga.tb;this.ta[c]!=d&&(this.ta[c]=d,this.rb=!0)}; +Y[1024]=function(a,b){var c=a+this.offset;b=b>>this.ga.hd|b<<8-this.ga.hd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.ae|this.ga.De;d=d&this.ga.mb|this.ta[c]&~this.ga.mb;d=d&this.ga.tb|this.ga.Hb&~this.ga.tb;this.ta[c]!=d&&(this.ta[c]=d,this.rb=!0)}; +Y[1536]=function(a,b){var c=a+this.offset;b=b>>this.ga.hd|b<<8-this.ga.hd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.ae|this.ga.De;d&=this.ga.Hb;d=d&this.ga.mb|this.ta[c]&~this.ga.mb;d=d&this.ga.tb|this.ga.Hb&~this.ga.tb;this.ta[c]!=d&&(this.ta[c]=d,this.rb=!0)}; +Y[2560]=function(a,b){var c=a+this.offset;b=b>>this.ga.hd|b<<8-this.ga.hd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.ae|this.ga.De;d|=this.ga.Hb;d=d&this.ga.mb|this.ta[c]&~this.ga.mb;d=d&this.ga.tb|this.ga.Hb&~this.ga.tb;this.ta[c]!=d&&(this.ta[c]=d,this.rb=!0)}; +Y[3584]=function(a,b){var c=a+this.offset;b=b>>this.ga.hd|b<<8-this.ga.hd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.ga.ae|this.ga.De;d^=this.ga.Hb;d=d&this.ga.mb|this.ta[c]&~this.ga.mb;d=d&this.ga.tb|this.ga.Hb&~this.ga.tb;this.ta[c]!=d&&(this.ta[c]=d,this.rb=!0)};Y[768]=function(a,b){a+=this.offset;var c,d=a&-2;c=this.ga.mb&(d==a?16711935:4278255360);c=(b|b<<8|b<<16|b<<24)&c|this.ta[d]&~c;c=c&this.ga.tb|this.ga.Hb&~this.ga.tb;this.ta[d]!=c&&(this.ta[d]=c,this.rb=!0)}; +Y[4096]=function(a){a+=this.offset;var b=this.ta[a]&~this.ga.mb|this.ga.Hb&this.ga.mb;this.ta[a]!=b&&(this.ta[a]=b,this.rb=!0)};Y[8192]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d&this.ga.mb|this.ta[c]&~this.ga.mb,d=d&this.ga.tb|this.ga.Hb&~this.ga.tb;this.ta[c]!=d&&(this.ta[c]=d,this.rb=!0)};Y[24576]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d&this.ga.Hb,d=d&this.ga.mb|this.ta[c]&~this.ga.mb,d=d&this.ga.tb|this.ga.Hb&~this.ga.tb;this.ta[c]!=d&&(this.ta[c]=d,this.rb=!0)}; +Y[40960]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d|this.ga.Hb,d=d&this.ga.mb|this.ta[c]&~this.ga.mb,d=d&this.ga.tb|this.ga.Hb&~this.ga.tb;this.ta[c]!=d&&(this.ta[c]=d,this.rb=!0)};Y[57344]=function(a,b){var c=a+this.offset,d=Si[b&15],d=d^this.ga.Hb,d=d&this.ga.mb|this.ta[c]&~this.ga.mb,d=d&this.ga.tb|this.ga.Hb&~this.ga.tb;this.ta[c]!=d&&(this.ta[c]=d,this.rb=!0)}; +function Zi(a){var b=[];if(void 0!==a.bh){b[0]=a.Vc;b[1]=a.Cc;b[2]=a.Ef;b[3]=a.ng;b[4]=a.Kc|a.ah<<8;b[5]=a.rc;if(5==a.bh){var c=[];c[0]=a.Qd;c[1]=a.Ae;c[2]=a.he;c[3]=a.Aj;c[4]=a.fh;c[5]=a.ji;c[6]=a.gf;c[7]=a.wg;c[8]=a.mi;c[9]=a.ni;c[10]=a.ff;c[11]=a.Qe;c[12]=a.Hb;c[13]=[a.ab,a.Ob,a.Tc];var d;a:if(d=a.le){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=m;h=n}if(f.length>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8),db(this.ua,b,c|d<<8);ob(this,!0)}};function fj(a){a.qa.fh&1?(a.Sc=a.Sh,a.jc=a.qa):(a.Sc=a.qa,a.jc=a.Ng)}k.save=function(){var a=new H(this);a.set(0,Zi(this.Sh));a.set(1,Zi(this.Ng));a.set(2,[this.Yd,this.jd,this.Xd]);a.set(3,Zi(this.qa));return a.data()}; +k.restore=function(a){var b=a[2];this.Yd=b[0];this.jd=b[1];this.Xd=b[2];this.Ka=null;this.Sc=this.Sh=new Ti(this,1,a[0]);this.jc=this.Ng=new Ti(this,3,a[1]);this.qa=new Ti(this,5,a[3],this.Tc);this.qa.Vc&&fj(this);gj(this);if(!ij(this))return!1;jj(this);return!0}; +k.Gn=function(a,b,c){if(c)this.Da("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){q("Empty font ROM image: "+a);return}if(1==d.length){q(d[0]);return}if(8192==d.length)vi(this,d,[0,6144]);else{this.Da("Unrecognized font data length ("+d.length+")");return}}catch(e){this.Da("Font ROM data error: "+e.message);return}z(this)}}; +function kj(a,b){if(1==b)return a.od[0]=W[0],a.od[1]=W[7],a.od;if(2==b){var c=a.Ka.Ef;if(a.Ka===a.qa){var d=a.qa.he[0],c=d&7;d&16&&(c|=8);18!=a.qa.he[1]&&(c|=32)}a.od[0]=W[c&15];c=c&32?Qi:Pi;for(d=0;dsa||!L?sa:8,ud=Xh.createImageData(n.sc,n.tc),ta=0;256>ta;ta++){for(Sa= +0;Sa=sa-2,ok=Ra[Sa>(8<=tb&&176<=ta&&223>=ta?7:tb)?s:Lb;nj(ud,Yh,Zh,$h);C&&nj(ud,Yh+1,Zh,$h)}Xh.putImageData(ud,(ta&15)*n.sc,(ta>>4)*n.tc)}n.Pe[w]="#"+ca(s[0])+ca(s[1])+ca(s[2]);n.Lj[w]=s;n.Hh[w]=vc;n=!0}}a.Fd[b]=t;return n}function oj(a){0a.re&&(a.re=0):a.re=-1} +function jj(a){if(a.Vb){for(var b=10;15>=b;b++)if(null==a.Ka.rc[b])return;var c=a.Ka.rc[10],b=c&31,d=a.Ka.rc[11]&31,e=a.Ka.rc[9]&31,f=!1;a.Ka===a.qa&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)pj(a);else{c=a.Ka.rc[15]+((a.Ka.rc[14]&63)<<8);a.Lc!=c&&(pj(a),a.Lc=c);d=d-b+1;if(a.Sl!=b||a.Yj!=d)a.Sl=b,a.Yj=d;a.Od=e+1;oj(a)}}} +function pj(a){if(0<=a.Lc){if(void 0!==a.ic){var b=a.ic[a.Lc];if(b&131072){var b=b&-131073,c=a.Lc%a.Ib,d=Math.floor(a.Lc/a.Ib);a.Vb&&a.Fd[a.Vb]&&(a.Ye&&qj(a,c,d,b,a.Ye),qj(a,c,d,b));a.ic[a.Lc]=b}}a.Lc=-1}} +function rj(a){var b;a=a.Ka;var c=a.Qe[5];if(null!=c){b=2;var d=512,e=a.Qe[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.hd=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}k.He=function(a){var b=this.Ka;null!=a&&b&&a!=b.si&&(b.Bh(a),this.ua.Bh(b.ab,b.Ob,b.yf))}; +function ij(a,b){var c,d=a.Xd,e=a.Ka;if(e)if(1==e.bh)d=Ki;else if(5==e.bh){var d=null,f=e.Tc>>2,g=32768f&&(d=c?13:14):c&&(d-=2));c=rj(a)}}else e.Cc&8&&(e.Cc&2?(d=e.Cc&16?6:5,e.Cc&4||(d-=1)):(d=e.Cc&1?3:1,e.Cc&4&&(d-= +1)));else a.Xd=null,null==d&&(d=a.jd);if(!hj(a,d,b))return!1;a.He(c);return!0} +function hj(a,b,c){if(null!=b&&(b!=a.Xd||c)){a.$l=0;a.Xd=b;b=a.Ka||(b==Ki?a.Sc:a.jc);if(b!=a.Ka||b.ab!=a.ab||b.Ob!=a.Ob){pj(a);if(a.ab){if(!ab(a.ua,a.ab,a.Ob))return!1;a.Ka&&(a.Ka.Vc=!1)}a.Ka=b;b.Vc=!0;a.ab=b.ab;a.Ob=b.Ob;if(!Za(a.ua,b.ab,b.Ob,!1,b===a.qa?b:null))return!1}a.Vb=0;a.Ib=a.kh;a.wc=a.Ai;a.ui=V[Ki][2];b=0;var d=V[a.Xd];d&&(a.Ib=d[0],a.wc=d[1],a.ui=d[2],b=d[3]||0,a.Vb=d[4],4==a.Yd&&a.Ka===a.qa&&3==a.Vb&&(7==a.qa.rc[9]?a.wc=43:a.Vb=5));a.vk=a.Ib*a.wc;a.hh=a.vk/a.ui;a.Th=(a.hh<<1)+b;a.Wj= +b?a.Th+b>>1:0;13<=a.Xd&&(a.hh<<=1);a.Fd.length&&(a.ud=Math.floor(a.td/a.Ib),a.vd=Math.floor(a.Pd/a.wc),a.Vb?(b=a.Fd[a.Vb],d=a.Fd[a.Vb<<1],a.pm&&80==a.Ib?d&&a.ud>=3*d.sc>>2&&(a.Vb<<=1,b=d):(d&&a.ud>=d.sc&&(a.Vb<<=1,b=d),b&&(a.ud=b.sc,a.vd=b.tc)),a.Gf=a.Hf=0,b&&(a.Gf=a.Ib*b.sc,a.Hf=a.wc*b.tc)):(a.ud=a.vd=1,a.Gf=a.Ib,a.Hf=a.wc),a.dh=a.Uc.createImageData(a.Gf,a.Hf),a.We=window.document.createElement("canvas"),a.We.width=a.Gf,a.We.height=a.Hf,a.Ye=a.We.getContext("2d"),a.Dj=a.Ej=0,a.Wh=a.td,a.Xh=a.Pd, +b=a.td-a.Ib*a.ud,d=a.Pd-a.wc*a.vd,0>1,a.Wh-=b),0>1,a.Xh-=d),b||d)&&(a.Uc.fillStyle=a.Df.style.backgroundColor,a.Uc.fillRect(0,0,a.td,a.Pd));!1!==c?ob(a,!0):sj(a,!0)}return!0}function nj(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b+0]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function sj(a,b){var c;if(b){if(c=a.hh,void 0===a.ic||a.ic.length!=c)a.ic=Array(c)}else{if(void 0===a.ic)return;c=a.ic.length}for(var d=0;d>8;d=g&15;var h=a.Fd[a.Vb];h.vf&&(d=h.vf[d]);var m=g>>4&15;h.vf&&(m=h.vf[m]);e?(b*=h.sc,c*=h.tc,e.fillStyle=h.Pe[m],e.fillRect(b,c,h.sc,h.tc)):(b=b*a.ud+a.Dj,c=c*a.vd+a.Ej,a.Uc.fillStyle=h.Pe[m],a.Uc.fillRect(b,c,a.ud,a.vd));g&256&&(m=(f&15)*h.sc,f=(f>>4)*h.tc,e?e.drawImage(h.Hh[d],m,f,h.sc,h.tc,b,c,h.sc,h.tc):a.Uc.drawImage(h.Hh[d],m,f,h.sc,h.tc,b,c,a.ud,a.vd));g&512&&(f=a.Sl,g=a.Yj,e?(a.Od&&a.Od!==h.tc&&(f=Math.floor(f*h.tc/a.Od),g=Math.floor(g*h.tc/a.Od)), +e.fillStyle=h.Pe[d],e.fillRect(b,c+f,h.sc,g)):(a.Od&&a.Od!==a.vd&&(f=Math.floor(f*a.vd/a.Od),g=Math.floor(g*a.vd/a.Od)),a.Uc.fillStyle=h.Pe[d],a.Uc.fillRect(b,c+f,a.ud,g)))} +function ob(a,b){if(a.oa.Ub){var c=!1;a.Ka&&(a.Ka===a.qa?a.qa.Ae&32&&(c=!0):a.Ka.Cc&8&&(c=!0));if(c||b){if(b)sj(a,!0);else if(void 0===a.ic)return;var d=!1;!(b||++a.$l&15)&&0<=a.re&&(a.re++,d=!0);var e=0,f=a.vk,c=a.Ka.ab,g=c+a.Ka.Ob,h=(a.Ka.rc[12]<<8)+a.Ka.rc[13];a.Vb&&(h<<=1);var c=c+h,m=a.Th;c+m>g&&(m=g-c,0>m&&(m=0));g=c+m;if(h=!b){for(var h=a.ua,n=!0,r=c>>h.Cb;0a.Lc)return;e=a.Lc;f= +e+1}}if(a.Vb){if(a.Fd[a.Vb]){d=0;h=a.qe=0;m=1048575;a.Ka.Cc&32&&(h=32768,m&=~h,a.re&2||(m&=-65537));for(c+=e<<1;c>8|(t&255)<<8;s=h;var sa=16;r>=m))>>(sa-=m);nj(a.dh,r++,w,n[Lb])}r>J&&(J=r);w=Q&&(Q=w+1)}e+=2;g++;if(r>=a.Ib){r=0;w+=2;if(w>a.wc)break;w==a.wc&&(w=1,e=c+a.Wj)}}CL;L++)Q= +J&2155905152,0>Q&&(Q+=4294967296),Q=X[Q]||0,nj(a.dh,h++,m,g[Q]),J<<=1;h>r&&(r=h);m=C&&(C=m+1)}e++;if(h>=a.Ib&&(h=0,++m>a.wc))break}n>2),a=this.qa.Aj&-17|(this.Bg&1<e&&(e=0);e%b.xi>b.Cn&&(c|=1);e%=b.yk;e>b.En&&(c|=8);b.Ei=d-e;b===a.qa?(c|=b.ng&48^48,b.Qd=!1):c=(b.ng^=9)|240;return b.ng=c} +var $i={948:U.prototype.bn,949:U.prototype.an,952:U.prototype.cn,954:U.prototype.dn,980:U.prototype.Km,981:U.prototype.Jm,984:U.prototype.Lm,985:U.prototype.Im,986:U.prototype.Mm},aj={948:U.prototype.po,949:U.prototype.oo,952:U.prototype.qo,980:U.prototype.Xn,981:U.prototype.Wn,984:U.prototype.Yn,985:U.prototype.Vn},bj={960:U.prototype.rk,961:U.prototype.rk,962:U.prototype.on,964:U.prototype.nn,965:U.prototype.mn,970:U.prototype.Vm,972:U.prototype.Um,974:U.prototype.Tm,975:U.prototype.Sm},cj={954:U.prototype.Bl, +960:U.prototype.Al,961:U.prototype.Al,962:U.prototype.so,964:U.prototype.zo,965:U.prototype.yo,970:U.prototype.ko,972:U.prototype.jo,974:U.prototype.io,975:U.prototype.ho,986:U.prototype.Bl}; za(function(){for(var a=y(window.document,"pcjs","video"),b=0;bMissing <canvas> support; try a new web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height=c.style.height="auto";0<=(window?window.navigator.userAgent:"").indexOf("MSIE")&&(e.style.height=(c.clientWidth* -d.screenHeight/d.screenWidth|0)+"px",c.onresize=function(a,b,c,d){return function(){b.style.height=(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight));c.appendChild(e);var f=window.document.createElement("textarea");f.setAttribute("style","position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; border:0; padding:0; line-height:0;");sa("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.style.clear="both";c.style.position="relative";c.appendChild(f); -var g=e.getContext("2d"),d=new U(d,e,g,f);Na(d,c)}});function Z(a){this.ck=a.adapter;switch(this.ck){case 1:this.hj=1016;this.Nf=4;break;case 2:this.hj=760;this.Nf=3;break;default:q("Unrecognized serial adapter #"+this.ck);return}this.Ed=null;u.call(this,"SerialPort",a,Z);var b=a.binding,c;a=wj;b&&(void 0===c&&(c="Panel"),(c=Ma(c,this.id))&&(b=c.sa[b])&&this.Gb(null,a,b))}v(u,Z);var wj="buffer";k=Z.prototype;k.Cj=function(a,b){return a==this.ei?(this.Nd=b,this):null}; -k.Gb=function(a,b,c){var d=this;switch(b){case wj:return this.sa[b]=this.Ed=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;8===b&&(a.preventDefault&&a.preventDefault(),xj(d,[b]))},c.onkeypress=function(a){a=a||window.event;xj(d,[a.which||a.keyCode])},!0}return!1};k.xc=function(a,b,c,d){this.ra=b;this.ka=c;this.Wa=d;this.la=Sa(a,"ChipSet");fb(b,this,yj,this.hj);hb(b,this,zj,this.hj);z(this)};k.ac=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0}; -k.$b=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.Ld()};k.save=function(){var a=new H(this),b=0,c=[];c[b++]=this.Gh;c[b++]=this.Hj;c[b++]=this.De;c[b++]=this.sg;c[b++]=this.Ad;c[b++]=this.fe;c[b++]=this.Uc;c[b++]=this.Bc;c[b++]=this.Fj;c[b]=this.mf;a.set(0,c);return a.data()};k.restore=function(a){return this.Ld(a[0])}; -k.Ld=function(a){var b=0;void 0===a&&(a=[0,0,384,0,1,0,0,96,48,[]]);this.Gh=a[b++];this.Hj=a[b++];this.De=a[b++];this.sg=a[b++];this.Ad=a[b++];this.fe=a[b++];this.Uc=a[b++];this.Bc=a[b++];this.Fj=a[b++];this.mf=a[b];return!0};function xj(a,b){a.mf=a.mf.concat(b);Aj(a)}function Aj(a){0>8:this.sg};k.Mm=function(){return this.Ad};k.Nm=function(){return this.fe};k.Pm=function(){return this.Uc};k.Om=function(){return this.Bc};k.Vm=function(){return this.Fj}; -k.po=function(a,b){if(this.fe&128)this.De=this.De&-256|b;else{this.Hj=b;this.Bc&=-97;var c;this.Ed?(13!=b&&(8==b?this.Ed.value=this.Ed.value.slice(0,-1):(this.Ed.value+=String.fromCharCode(b),this.Ed.scrollTop=this.Ed.scrollHeight)),c=!0):c=!1;c&&(this.Bc|=96)}};k.Zn=function(a,b){this.fe&128?this.De=this.De&255|b<<8:this.sg=b};k.$n=function(a,b){this.fe=b}; -k.ao=function(a,b){var c=this.Uc;this.Uc=b;if(this.Nd&&(c^b)&3){var c=this.Nd,d=this.Uc,e=3==(d&3);if(e){if(!c.Pc){var f=!1;c.Uc&2||(c.reset(),c.hc("serial mouse reset"),f=!0);c.Uc&1||(c.hc("serial mouse ID requested"),f=!0);f&&(xj(c.vf,[77,77]),c.hc("serial mouse ID sent"));Bj(c,c.Ga);c.setActive(e)}}else c.Pc&&(c.hc("serial mouse inactive"),Cj(c.Ga),c.setActive(e));c.Uc=d}}; -var yj={0:Z.prototype.$m,1:Z.prototype.Lm,2:Z.prototype.Mm,3:Z.prototype.Nm,4:Z.prototype.Pm,5:Z.prototype.Om,6:Z.prototype.Vm},zj={0:Z.prototype.po,1:Z.prototype.Zn,3:Z.prototype.$n,4:Z.prototype.ao};za(function(){for(var a=y(window.document,"pcjs","serial"),b=0;ba.eg||0>a.fg)a.eg=b.clientX,a.fg=b.clientY;a.Mg?(a.Ee=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.Fe=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.Ee=b.clientX-a.eg,a.Fe=b.clientY-a.fg);(a.Ee||a.Fe)&&Ej(a);a.eg=b.clientX;a.fg=b.clientY}},!1),b.addEventListener("mousedown",function(b){Fj(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Fj(a,b.button,!1)},!1),a.Th=!0),b.style.cursor= -"none")}function Cj(a){a&&(a.style.cursor="auto")}function Fj(a,b,c){if(a.Pc&&a.ka&&a.ka.ma.Hb){var d;!(d=!1!==a.Mg)&&(d=a.uh)&&(d=a.uh,d=d.$l?d.Ze(!0):!1);d||(a.Mg=null);switch(b){case 0:a.Hg!=c&&(a.Hg=c,Ej(a));break;case 2:a.Ig!=c&&(a.Ig=c,Ej(a))}}}function Ej(a){xj(a.vf,[64|(a.Hg?32:0)|(a.Ig?16:0)|(a.Fe&192)>>4|(a.Ee&192)>>6,a.Ee&63,a.Fe&63]);a.Ee=a.Fe=0}za(function(){for(var a=y(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.cb=Array(g.rb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Kj(this,b),this.Ng=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f= -ma()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.Te?"":d)+"&format=json")),la(f,!0,null,this,this.Vl,b)}; -k.Vl=function(a,b,c,d){var e=null;this.Ue=!1;var f=0>c&&this.Ta&&!this.Ta.ma.Pb;if(this.Ng)c?this.ea.Aa('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.od=!0,e=this);else if(c)this.ea.Aa('Unable to load disk "'+this.cd+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& -'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)q(h[0]);else{this.rb=h.length;this.sb=h[0].length;this.wb=h[0][0].length;var m=h[0][0][0];this.gb=m&&m.length||512;for(b=a=0;b>2,r=m.pattern;void 0===r&&(r=m.pattern=0);var s=m.data;if(void 0===s){var t=m.bytes;if(void 0!==t&&t.length){for(var f= -n<<2,w=t.length;wb&&(b=0);2E3>8:this.Cg};k.Xm=function(){return this.Id};k.Ym=function(){return this.oe};k.$m=function(){return this.bd};k.Zm=function(){return this.Gc};k.fn=function(){return this.Qj}; +k.Ao=function(a,b){if(this.oe&128)this.Me=this.Me&-256|b;else{this.Sj=b;this.Gc&=-97;var c;this.Md?(13!=b&&(8==b?this.Md.value=this.Md.value.slice(0,-1):(this.Md.value+=String.fromCharCode(b),this.Md.scrollTop=this.Md.scrollHeight)),c=!0):c=!1;c&&(this.Gc|=96)}};k.lo=function(a,b){this.oe&128?this.Me=this.Me&255|b<<8:this.Cg=b};k.mo=function(a,b){this.oe=b}; +k.no=function(a,b){var c=this.bd;this.bd=b;if(this.Vd&&(c^b)&3){var c=this.Vd,d=this.bd,e=3==(d&3);if(e){if(!c.Vc){var f=!1;c.bd&2||(c.reset(),c.mc("serial mouse reset"),f=!0);c.bd&1||(c.mc("serial mouse ID requested"),f=!0);f&&(xj(c.Ff,[77,77]),c.mc("serial mouse ID sent"));Bj(c,c.La);c.setActive(e)}}else c.Vc&&(c.mc("serial mouse inactive"),Cj(c.La),c.setActive(e));c.bd=d}}; +var yj={0:Z.prototype.ln,1:Z.prototype.Wm,2:Z.prototype.Xm,3:Z.prototype.Ym,4:Z.prototype.$m,5:Z.prototype.Zm,6:Z.prototype.fn},zj={0:Z.prototype.Ao,1:Z.prototype.lo,3:Z.prototype.mo,4:Z.prototype.no};za(function(){for(var a=y(window.document,"pcjs","serial"),b=0;ba.og||0>a.pg)a.og=b.clientX,a.pg=b.clientY;a.Wg?(a.Ne=b.movementX||b.mozMovementX||b.webkitMovementX||0,a.Oe=b.movementY||b.mozMovementY||b.webkitMovementY||0):(a.Ne=b.clientX-a.og,a.Oe=b.clientY-a.pg);(a.Ne||a.Oe)&&Ej(a);a.og=b.clientX;a.pg=b.clientY}},!1),b.addEventListener("mousedown",function(b){Fj(a,b.button,!0)},!1),b.addEventListener("mouseup",function(b){Fj(a,b.button,!1)},!1),a.di=!0),b.style.cursor= +"none")}function Cj(a){a&&(a.style.cursor="auto")}function Fj(a,b,c){if(a.Vc&&a.ma&&a.ma.oa.Mb){var d;!(d=!1!==a.Wg)&&(d=a.Eh)&&(d=a.Eh,d=d.km?d.hf(!0):!1);d||(a.Wg=null);switch(b){case 0:a.Rg!=c&&(a.Rg=c,Ej(a));break;case 2:a.Sg!=c&&(a.Sg=c,Ej(a))}}}function Ej(a){xj(a.Ff,[64|(a.Rg?32:0)|(a.Sg?16:0)|(a.Oe&192)>>4|(a.Ne&192)>>6,a.Ne&63,a.Oe&63]);a.Ne=a.Oe=0}za(function(){for(var a=y(window.document,"pcjs","mouse"),b=0;b>2;var e=d=0,a=new DataView(a,0,c);g.hb=Array(g.vb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=fa(b),"json"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=Kj(this,b),this.Xg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):-1!==b.indexOf("/",b.length-1)&&(c="dir"),f= +ma()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.bf?"":d)+"&format=json")),la(f,!0,null,this,this.fm,b)}; +k.fm=function(a,b,c,d){var e=null;this.cf=!1;var f=0>c&&this.Xa&&!this.Xa.oa.Ub;if(this.Xg)c?this.ga.Da('Unable to connect to disk "'+d+'" (error '+c+": "+b+")",f):(this.wd=!0,e=this);else if(c)this.ga.Da('Unable to load disk "'+this.ld+'" (error '+c+")",f);else try{if(0g&&0b.indexOf("0x")&& +'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");if(h.length)if(1==h.length)q(h[0]);else{this.vb=h.length;this.wb=h[0].length;this.Ab=h[0][0].length;var m=h[0][0][0];this.lb=m&&m.length||512;for(b=a=0;b>2,r=m.pattern;void 0===r&&(r=m.pattern=0);var t=m.data;if(void 0===t){var s=m.bytes;if(void 0!==s&&s.length){for(var f= +n<<2,w=s.length;wb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function Pj(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c} -k.write=function(a,b,c){if(this.Ue)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.vc?f=a.Qc+a.vc&&(a.vc+=f-(a.Qc+a.vc)+1):(a.Qc=f,a.vc=1);d[f]=d[f]&~(255<=this.cb.length||m>=this.cb[h].length||n>=this.cb[h][m].length){c="sector (CHS="+h+":"+m+":"+n+") out of range ("+ -b+" changes applied)";b=-1;break}if(this.Ue){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.cb[h][m][n]){for(m=h.data.length;mb&&this.ea.Aa("unable to restore disk '"+this.cd+": "+c);return b}; -function Qj(a){u.call(this,"FDC",a,Qj);this.dmaRead=this.Oh;this.dmaWrite=this.Ph;this.dmaFormat=this.Sl;this.je=null;if(a.autoMount&&(this.je=a.autoMount,"string"==typeof this.je))try{this.je=eval("("+a.autoMount+")")}catch(b){q("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.je=null}this.sc=[];this.Uj=!sa("Mobi")&&window&&"FileReader"in window}v(u,Qj);l={};aa={}; -var Rj={3:{kd:3,Dd:0,name:aa.lp},4:{kd:2,Dd:1,name:aa.jp},5:{kd:9,Dd:7,name:aa.xp},6:{kd:9,Dd:7,name:aa.dp},7:{kd:2,Dd:0,name:aa.fp},8:{kd:1,Dd:2,name:aa.kp},10:{kd:2,Dd:7,name:aa.ep},13:{kd:6,Dd:7,name:aa.Qo},15:{kd:3,Dd:0,name:aa.ip}};k=Qj.prototype; -k.Gb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.sa[b]=c,c.onchange=function(){var a=d.sa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){q("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.sa[b]=c,c.onchange=function(){var a;a=c.value;var b=10,g;if(a){b||(b=16); -if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var m,h=a;(b&&10!=b?16==b?null!==h.match(/^[0-9a-f]+$/i):1:null!==h.match(/^[0-9]+$/))&&!isNaN(m=parseInt(a,b))&&(g=m)}a=g;null!=a&&Sj(d,a)},!0;case "loadDrive":return this.sa[b]=c,c.onclick=function(){var a=d.sa.listDisks;a&&Tj(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.Uj? -(this.sa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Tj(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.xc=function(a,b,c,d){this.ra=b;this.ka=c;this.Wa=d;this.Ta=a;this.la=Sa(a,"ChipSet");this.qd();fb(b,this,Uj);hb(b,this,Vj);this.Uj&&Wj(this,"Local Disk","?");Wj(this,"Remote Disk","??");this.pf()||z(this)}; -k.ac=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Ta.Wh){this.sc=[];for(var c=0;ca.va.restore(g)&&(e=!1);e&&a.va&&void 0!==a.Ra&&(a.Na=a.va.seek(a.ub,a.Pa,a.eb));return e};k.nj=function(){for(var a=0,b=[],c=0;ca.rb||f[1]>a.sb)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.fb)),b=null);b?(a.va=b,a.xl=c,a.xe=d,ak(this,c,d,b),f=b.info(),this.Vd|=128,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.fb),a.oe||e),a.ah=f[0],a.Lf=f[1],a.Mf=f[2]):a.Se=!1;a.oe&&(a.oe=!1,--this.ge||z(this));Sj(this,a.fb)}; -function Wj(a,b,c){if(a=a.sa.listDisks){for(var d=0;d=this.ib&&(this.xa&=-81,this.yb=this.ib=0);return a}; -k.Tn=function(a,b){this.ib=Rj[c].kd){var d=!1;this.yb=0;var c=this.Ma(),e,f,g,h,m,n=c&31;switch(n){case 3:this.Ma(l.mp);this.Ma(l.To);this.Nb();break;case 4:f=this.Ma(l.hf);this.fb=f&3;e=this.Ca[this.fb];this.Nb();this.bc((e.ab&4278190080)>>>24,l.pp);break;case 5:case 6:f=this.Ma(l.hf);d=f>>2&1;this.fb=f&3;e=this.Ca[this.fb];e.Pa=d;f=e.ub=this.Ma(l.uj);g=this.Ma(l.vj);h=e.eb=this.Ma(l.xj);m=this.Ma(l.wh);e.qb=128<< -m;e.Bd=this.Ma(l.Oo);this.Ma(l.Jl);this.Ma(l.No);6==n?(n=e,n.ab=72,n.va&&(n.Na=null,n.ab=0,this.la&&(Sh(this.la,2,this,"dmaRead",n),Oh(this.la,2)))):(n=e,n.ab=72,n.va&&(n.va.Ue?n.ab=576:(n.Na=null,n.ab=0,this.la&&(Sh(this.la,2,this,"dmaWrite",n),Oh(this.la,2)))));bk(this,e,c,d,f,g,h,m);d=!0;break;case 7:f=this.Ma(l.hf);this.fb=f&3;e=this.Ca[this.fb];e.ub=e.zd=0;e.ab=268435488;this.Nb();d=!0;break;case 8:e=this.Ca[this.fb];e.Pa=0;this.Nb();this.bc(e.fb|e.Pa<<2|e.ab&255,l.Ll);this.bc(e.ub,l.bp);this.fb= -this.fb+1&3;break;case 10:f=this.Ma(l.hf);d=f>>2&1;this.fb=f&3;e=this.Ca[this.fb];f=e.ub;g=e.Pa=d;h=e.eb=1;m=0;e.ab=0;e.va&&(e.Na=e.va.seek(e.ub,e.Pa,e.eb))?m=e.Na.length:e.ab=72;bk(this,e,c,d,f,g,h,m);d=!0;break;case 13:f=this.Ma(l.hf);d=f>>2&1;this.fb=f&3;e=this.Ca[this.fb];f=e.ub;g=e.Pa=d;h=1;m=this.Ma(l.wh);e.qb=128<>2&1,f=this.Ma(l.Zo),e.ub+=f-e.zd,0>e.ub&&(e.ub=0),e.ub>=e.rb&&(e.ub=e.rb-1),e.zd=f,e.ab=32,e.ub||(e.ab|=268435456),this.Nb(),d=!0}0>>8,l.np);a.bc((b.ab&16711680)>>>16,l.op);var m=0;if(e!=b.ub||f!=b.Pa)m=g=1;c&128&&(f^=m,d||(m=0));a.bc(e+m,l.uj);a.bc(f,l.vj);a.bc(g,l.xj);a.bc(h,l.wh)}k.Ma=function(){var a=this.cc[this.yb];this.yb++;return a};k.Nb=function(){this.yb=this.ib=0};k.bc=function(a){this.cc[this.ib++]=a};k.Oh=function(a,b,c){void 0===b||0>b?this.jc(a,c):c(-1,!1)};k.Ph=function(a,b){return void 0!==b&&0<=b?this.lc(a,b):-1}; -k.Sl=function(a,b){return void 0!==b&&0<=b?this.rj(a,b):-1};k.jc=function(a,b){var c=-1,d=null,e=0;if(!a.ab&&a.va){do{if(a.Na&&(e=a.Ra,0<=(c=Pj(a.Na,a.Ra++)))){d=a.Na;break}a.Na=a.va.seek(a.ub,a.Pa,a.eb);if(!a.Na){a.ab=1088;break}a.Ra=0;this.nf(a)}while(1)}b(c,!1,d,e)};k.lc=function(a,b){if(a.ab||!a.va)return-1;do{if(a.Na&&a.va.write(a.Na,a.Ra++,b))break;a.Na=a.va.seek(a.ub,a.Pa,a.eb);if(!a.Na){a.ab=8256;b=-1;break}a.Ra=0;this.nf(a)}while(1);return b}; -k.nf=function(a){a.eb++;a.eb>=a.Mf+1&&(a.eb=1,a.Pa++,a.Pa>=a.Lf&&(a.Pa=0,a.ub++))};k.rj=function(a,b){if(a.ab)return-1;a.zc[a.Oe++]=b;if(a.Oe==a.zc.length){a.ub=a.zc[0];a.Pa=a.zc[1];a.eb=a.zc[2];a.qb=128<this.lc(a,a.Ej))return-1;a.Cg++}a.Cg>=a.Bd&&(b=-1);return b};var Uj={1012:Qj.prototype.Gm,1013:Qj.prototype.Em,1015:Qj.prototype.Fm},Vj={1010:Qj.prototype.Un,1013:Qj.prototype.Tn,1015:Qj.prototype.Sn}; -za(function(){for(var a=y(window.document,"pcjs","fdc"),b=0;b=e&&(this.Zf|=(f.type&3)<<(1-e<<1))}return d}; -k.lj=function(){var a=0,b=[];this.ne?(b[a++]=this.Ud,b[a++]=this.wl,b[a++]=this.Wd,b[a++]=this.nh,b[a++]=this.lh,b[a++]=this.kh,b[a++]=this.ff,b[a++]=this.xa,b[a++]=this.jj,b[a++]=this.mh):(b[a++]=this.Zf,b[a++]=this.xa,b[a++]=this.cc,b[a++]=this.yb,b[a++]=this.ib,b[a++]=this.vl,b[a++]=this.ul,b[a++]=this.tl,b[a++]=this.We);b[a]=this.nj();return b}; -k.fi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.fb=a;b.errorCode=d[f++];b.Bl=d[f++];b.Te=d[f++];b.Ie=d[f++];b.Je=d[f++];b.Pa=d[f++];b.sb=d[f++];b.Zd=d[f++];b.eb=d[f++];b.Bd=d[f++];b.qb=d[f++];b.yg=this.ne?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Kd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===ck[this.Cf][b.type])b.type=this.km;c=ck[this.Cf][b.type]; -b.wb=c[2]||17;b.gb=c[3]||512;if(e&&this.la&&(e=this.la,c=b.type,e.ja)){var h=e.ja[18],h=a?h&240|c:h&15|c<<4;e.ja&&(e.ja[18]=h,xh(e))}void 0===b.va&&(b.va=null,this.Aa("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));hk(this,b);b.Ra=d[f++];b.Na=null;b.va&&(a=d[f],void 0!==a&&0>b.va.restore(a)&&(g=!1),g&&void 0!==b.Ra&&(b.Na=b.va.seek(b.Zd,b.Pa,b.eb+b.yg)));return g};k.nj=function(){for(var a=0,b=[],c=0;c=this.ib&&(this.yb=this.ib=0,this.xa&=-15);return a};k.ro=function(a,b){this.ib=c&&(this.xa|=2,this.xa&=-2,ik(this))}; -k.gn=function(){var a=this.xa;this.yb=this.Qa.gb?(b.xa=136,this.jc(this.Qa,function(a){0<=a?(jk(b),b.xa=80):(b.xa=1,b.Ud=16)},!1)):this.xa=80)}return a}; -k.En=function(a,b){this.Qa&&this.Qa.qb>=this.Qa.gb&&(0>this.lc(this.Qa,b)?(this.xa=1,this.Ud=16):1!=this.Qa.Ra&&this.Qa.Ra==this.Qa.gb&&(this.Qa.qb-=this.Qa.gb,this.Wd=this.Wd-1&255,jk(this),this.xa=80,this.Qa.qb>=this.Qa.gb&&(this.xa|=8)))};k.tm=function(){return this.Ud};k.Jn=function(a,b){this.wl=b};k.um=function(){return this.Wd};k.Hn=function(a,b){this.Wd=b};k.vm=function(){return this.nh};k.In=function(a,b){this.nh=b};k.qm=function(){return this.lh};k.Dn=function(a,b){this.lh=b};k.pm=function(){return this.kh}; -k.Cn=function(a,b){this.kh=b};k.sm=function(){return this.ff};k.Fn=function(a,b){this.ff=b;this.xa=this.Ca[this.ff&16?1:0]?this.xa|64:this.xa&-65};k.wm=function(){return this.xa};k.Bn=function(a,b){this.jj=b;this.la&&Zh(this.la,14);kk(this)};k.Gn=function(a,b){this.mh&4&&!(b&4)&&(this.Ud=1);this.mh=b}; -function kk(a){var b=!1,c=a.jj,d=a.ff&16?1:0,e=a.ff&15,f=a.lh|(a.kh&3)<<8,g=a.nh,h=a.Wd||256;a.Qa=null;a.Ud=0;a.xa=80;(d=a.Ca[d])?(d.Zd=f,d.Pa=e,d.eb=g,d.qb=h*d.gb,c=144<=c?c:c&240,d.Na=null,d.Ra=0,d.errorCode=0,a.Qa=d):c=-1;switch(c&240){case 32:a.xa=136;a.jc(d,function(b){0<=b&&a.la?(jk(a),a.xa=80):(a.xa=1,a.Ud=16)},!1);break;case 48:a.xa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.Ud=1;b=!0;break;case 145:d.sb=e+1,d.wb=h,b=!0}b&&jk(a)} -function jk(a){!a.la||a.mh&2||Yh(a.la,14,120)} -function ik(a){a.yb=0;var b=a.Ma(),c=a.Ma(),d=c&32,e=d>>5,f=c&31,g=a.Ma(),h=a.Ma(),m=g<<2&768|h,n=g&63,r=a.Ma(),s=a.Ma(),t=a.Ca[e];t&&(t.Zd=m,t.Pa=f,t.eb=n,t.qb=r*t.gb);switch(b){case 3:a.Nb(t?t.errorCode:4);a.bc(c);a.bc(g);a.bc(h);a.bc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Ma());)t&&cb?this.jc(a,c):c(-1,!1)}; -k.Ph=function(a,b){return void 0!==b&&0<=b?this.lc(a,b):-1};k.Tl=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Ra=a.wb+b&&(a.eb=b,a.Pa++,a.Pa>=a.sb&&(a.Pa=0,a.Zd++))}; -k.rj=function(a,b){if(a.errorCode)return-1;a.zc[a.Oe++]=b;if(a.Oe==a.zc.length){a.Zd=a.zc[0];a.Pa=a.zc[1];a.eb=a.zc[2];a.qb=128<this.lc(a,a.Ej))return-1;a.Cg++}a.Cg>=a.Bd&&(b=-1);return b};k.hn=function(){var a=this.ka.K&255;!(this.ka.H>>8)&&128>8)||(a=!this.la)||(a=!(this.la.Wb[0].Tc&64));return a?!0:!1}; -var ek={800:$.prototype.fn,801:$.prototype.gn,802:$.prototype.en},dk={496:$.prototype.rm,497:$.prototype.tm,498:$.prototype.um,499:$.prototype.vm,500:$.prototype.qm,501:$.prototype.pm,502:$.prototype.sm,503:$.prototype.wm},gk={800:$.prototype.ro,801:$.prototype.uo,802:$.prototype.to,803:$.prototype.so,807:$.prototype.ej,811:$.prototype.ej,815:$.prototype.ej},fk={496:$.prototype.En,497:$.prototype.Jn,498:$.prototype.Hn,499:$.prototype.In,500:$.prototype.Dn,501:$.prototype.Cn,502:$.prototype.Fn,503:$.prototype.Bn, -1014:$.prototype.Gn};za(function(){for(var a=y(window.document,"pcjs","hdc"),b=0;b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.zc?f=a.Wc+a.zc&&(a.zc+=f-(a.Wc+a.zc)+1):(a.Wc=f,a.zc=1);d[f]=d[f]&~(255<=this.hb.length||m>=this.hb[h].length||n>=this.hb[h][m].length){c="sector (CHS="+h+":"+m+":"+n+") out of range ("+ +b+" changes applied)";b=-1;break}if(this.cf){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.hb[h][m][n]){for(m=h.data.length;mb&&this.ga.Da("unable to restore disk '"+this.ld+": "+c);return b}; +function Qj(a){u.call(this,"FDC",a,Qj);this.dmaRead=this.Yh;this.dmaWrite=this.Zh;this.dmaFormat=this.cm;this.se=null;if(a.autoMount&&(this.se=a.autoMount,"string"==typeof this.se))try{this.se=eval("("+a.autoMount+")")}catch(b){q("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.se=null}this.xc=[];this.ek=!ua("Mobi")&&window&&"FileReader"in window}v(u,Qj);l={};aa={}; +var Rj={3:{sd:3,Ld:0,name:aa.yp},4:{sd:2,Ld:1,name:aa.wp},5:{sd:9,Ld:7,name:aa.Kp},6:{sd:9,Ld:7,name:aa.qp},7:{sd:2,Ld:0,name:aa.sp},8:{sd:1,Ld:2,name:aa.xp},10:{sd:2,Ld:7,name:aa.rp},13:{sd:6,Ld:7,name:aa.cp},15:{sd:3,Ld:0,name:aa.vp}};k=Qj.prototype; +k.Lb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.va[b]=c,c.onchange=function(){var a=d.va.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(h){q("FDC option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b=''+b+"");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.va[b]=c,c.onchange=function(){var a;a=c.value;var b=10,g;if(a){b||(b=16); +if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var h=a.charAt(a.length-1).toLowerCase();"h"==h?(b=16,h=null):"."==h&&(b=10,h=null);null===h&&(a=a.substr(0,a.length-1))}var m,h=a;(b&&10!=b?16==b?null!==h.match(/^[0-9a-f]+$/i):1:null!==h.match(/^[0-9]+$/))&&!isNaN(m=parseInt(a,b))&&(g=m)}a=g;null!=a&&Sj(d,a)},!0;case "loadDrive":return this.va[b]=c,c.onclick=function(){var a=d.va.listDisks;a&&Tj(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.ek? +(this.va[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Tj(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};k.Bc=function(a,b,c,d){this.ua=b;this.ma=c;this.$a=d;this.Xa=a;this.na=Ua(a,"ChipSet");this.yd();fb(b,this,Uj);hb(b,this,Vj);this.ek&&Wj(this,"Local Disk","?");Wj(this,"Remote Disk","??");this.zf()||z(this)}; +k.fc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.Xa.gi){this.xc=[];for(var c=0;ca.ya.restore(g)&&(e=!1);e&&a.ya&&void 0!==a.Va&&(a.Ra=a.ya.seek(a.yb,a.Ta,a.jb));return e};k.yj=function(){for(var a=0,b=[],c=0;ca.vb||f[1]>a.wb)&&(this.Da('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.kb)),b=null);b?(a.ya=b,a.Il=c,a.Ge=d,ak(this,c,d,b),f=b.info(),this.ce|=128,this.Da('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.kb),a.xe||e),a.lh=f[0],a.Vf=f[1],a.Wf=f[2]):a.af=!1;a.xe&&(a.xe=!1,--this.pe||z(this));Sj(this,a.kb)}; +function Wj(a,b,c){if(a=a.va.listDisks){for(var d=0;d=this.nb&&(this.Aa&=-81,this.Db=this.nb=0);return a}; +k.eo=function(a,b){this.nb=Rj[c].sd){var d=!1;this.Db=0;var c=this.Qa(),e,f,g,h,m,n=c&31;switch(n){case 3:this.Qa(l.zp);this.Qa(l.fp);this.Sb();break;case 4:f=this.Qa(l.sf);this.kb=f&3;e=this.Fa[this.kb];this.Sb();this.gc((e.fb&4278190080)>>>24,l.Cp);break;case 5:case 6:f=this.Qa(l.sf);d=f>>2&1;this.kb=f&3;e=this.Fa[this.kb];e.Ta=d;f=e.yb=this.Qa(l.Fj);g=this.Qa(l.Gj);h=e.jb=this.Qa(l.Ij);m=this.Qa(l.Gh);e.ub=128<< +m;e.Jd=this.Qa(l.ap);this.Qa(l.Ul);this.Qa(l.$o);6==n?(n=e,n.fb=72,n.ya&&(n.Ra=null,n.fb=0,this.na&&(Th(this.na,2,this,"dmaRead",n),Ph(this.na,2)))):(n=e,n.fb=72,n.ya&&(n.ya.cf?n.fb=576:(n.Ra=null,n.fb=0,this.na&&(Th(this.na,2,this,"dmaWrite",n),Ph(this.na,2)))));bk(this,e,c,d,f,g,h,m);d=!0;break;case 7:f=this.Qa(l.sf);this.kb=f&3;e=this.Fa[this.kb];e.yb=e.Hd=0;e.fb=268435488;this.Sb();d=!0;break;case 8:e=this.Fa[this.kb];e.Ta=0;this.Sb();this.gc(e.kb|e.Ta<<2|e.fb&255,l.Wl);this.gc(e.yb,l.op);this.kb= +this.kb+1&3;break;case 10:f=this.Qa(l.sf);d=f>>2&1;this.kb=f&3;e=this.Fa[this.kb];f=e.yb;g=e.Ta=d;h=e.jb=1;m=0;e.fb=0;e.ya&&(e.Ra=e.ya.seek(e.yb,e.Ta,e.jb))?m=e.Ra.length:e.fb=72;bk(this,e,c,d,f,g,h,m);d=!0;break;case 13:f=this.Qa(l.sf);d=f>>2&1;this.kb=f&3;e=this.Fa[this.kb];f=e.yb;g=e.Ta=d;h=1;m=this.Qa(l.Gh);e.ub=128<>2&1,f=this.Qa(l.lp),e.yb+=f-e.Hd,0>e.yb&&(e.yb=0),e.yb>=e.vb&&(e.yb=e.vb-1),e.Hd=f,e.fb=32,e.yb||(e.fb|=268435456),this.Sb(),d=!0}0>>8,l.Ap);a.gc((b.fb&16711680)>>>16,l.Bp);var m=0;if(e!=b.yb||f!=b.Ta)m=g=1;c&128&&(f^=m,d||(m=0));a.gc(e+m,l.Fj);a.gc(f,l.Gj);a.gc(g,l.Ij);a.gc(h,l.Gh)}k.Qa=function(){var a=this.hc[this.Db];this.Db++;return a};k.Sb=function(){this.Db=this.nb=0};k.gc=function(a){this.hc[this.nb++]=a};k.Yh=function(a,b,c){void 0===b||0>b?this.oc(a,c):c(-1,!1)};k.Zh=function(a,b){return void 0!==b&&0<=b?this.qc(a,b):-1}; +k.cm=function(a,b){return void 0!==b&&0<=b?this.Cj(a,b):-1};k.oc=function(a,b){var c=-1,d=null,e=0;if(!a.fb&&a.ya){do{if(a.Ra&&(e=a.Va,0<=(c=Pj(a.Ra,a.Va++)))){d=a.Ra;break}a.Ra=a.ya.seek(a.yb,a.Ta,a.jb);if(!a.Ra){a.fb=1088;break}a.Va=0;this.xf(a)}while(1)}b(c,!1,d,e)};k.qc=function(a,b){if(a.fb||!a.ya)return-1;do{if(a.Ra&&a.ya.write(a.Ra,a.Va++,b))break;a.Ra=a.ya.seek(a.yb,a.Ta,a.jb);if(!a.Ra){a.fb=8256;b=-1;break}a.Va=0;this.xf(a)}while(1);return b}; +k.xf=function(a){a.jb++;a.jb>=a.Wf+1&&(a.jb=1,a.Ta++,a.Ta>=a.Vf&&(a.Ta=0,a.yb++))};k.Cj=function(a,b){if(a.fb)return-1;a.Ec[a.Xe++]=b;if(a.Xe==a.Ec.length){a.yb=a.Ec[0];a.Ta=a.Ec[1];a.jb=a.Ec[2];a.ub=128<this.qc(a,a.Pj))return-1;a.Mg++}a.Mg>=a.Jd&&(b=-1);return b};var Uj={1012:Qj.prototype.Rm,1013:Qj.prototype.Pm,1015:Qj.prototype.Qm},Vj={1010:Qj.prototype.fo,1013:Qj.prototype.eo,1015:Qj.prototype.co}; +za(function(){for(var a=y(window.document,"pcjs","fdc"),b=0;b=e&&(this.ig|=(f.type&3)<<(1-e<<1))}return d}; +k.wj=function(){var a=0,b=[];this.we?(b[a++]=this.be,b[a++]=this.Hl,b[a++]=this.de,b[a++]=this.xh,b[a++]=this.vh,b[a++]=this.uh,b[a++]=this.qf,b[a++]=this.Aa,b[a++]=this.uj,b[a++]=this.wh):(b[a++]=this.ig,b[a++]=this.Aa,b[a++]=this.hc,b[a++]=this.Db,b[a++]=this.nb,b[a++]=this.Gl,b[a++]=this.Fl,b[a++]=this.El,b[a++]=this.ef);b[a]=this.yj();return b}; +k.qi=function(a,b,c,d,e){var f=0,g=!0;void 0===d&&(d=[0,0,!1,Array(8)]);b.kb=a;b.errorCode=d[f++];b.Ml=d[f++];b.bf=d[f++];b.Re=d[f++];b.Se=d[f++];b.Ta=d[f++];b.wb=d[f++];b.ge=d[f++];b.jb=d[f++];b.Jd=d[f++];b.ub=d[f++];b.Ig=this.we?0:1;b.name=c.name;void 0===b.name&&(b.name="Hard Drive");b.path=c.path;b.mode=c.mode||(b.path?"preload":"local");"demandro"!=b.mode&&"demandrw"!=b.mode||this.Sd()||(b.mode="local");b.type=c.type;if(void 0===b.type||void 0===ck[this.Mf][b.type])b.type=this.vm;c=ck[this.Mf][b.type]; +b.Ab=c[2]||17;b.lb=c[3]||512;if(e&&this.na&&(e=this.na,c=b.type,e.la)){var h=e.la[18],h=a?h&240|c:h&15|c<<4;e.la&&(e.la[18]=h,yh(e))}void 0===b.ya&&(b.ya=null,this.Da("Type "+b.type+' "'+b.name+'" is fixed disk '+a,!0));hk(this,b);b.Va=d[f++];b.Ra=null;b.ya&&(a=d[f],void 0!==a&&0>b.ya.restore(a)&&(g=!1),g&&void 0!==b.Va&&(b.Ra=b.ya.seek(b.ge,b.Ta,b.jb+b.Ig)));return g};k.yj=function(){for(var a=0,b=[],c=0;c=this.nb&&(this.Db=this.nb=0,this.Aa&=-15);return a};k.Co=function(a,b){this.nb=c&&(this.Aa|=2,this.Aa&=-2,ik(this))}; +k.sn=function(){var a=this.Aa;this.Db=this.Ua.lb?(b.Aa=136,this.oc(this.Ua,function(a){0<=a?(jk(b),b.Aa=80):(b.Aa=1,b.be=16)},!1)):this.Aa=80)}return a}; +k.Pn=function(a,b){this.Ua&&this.Ua.ub>=this.Ua.lb&&(0>this.qc(this.Ua,b)?(this.Aa=1,this.be=16):1!=this.Ua.Va&&this.Ua.Va==this.Ua.lb&&(this.Ua.ub-=this.Ua.lb,this.de=this.de-1&255,jk(this),this.Aa=80,this.Ua.ub>=this.Ua.lb&&(this.Aa|=8)))};k.Em=function(){return this.be};k.Un=function(a,b){this.Hl=b};k.Fm=function(){return this.de};k.Sn=function(a,b){this.de=b};k.Gm=function(){return this.xh};k.Tn=function(a,b){this.xh=b};k.Bm=function(){return this.vh};k.On=function(a,b){this.vh=b};k.Am=function(){return this.uh}; +k.Nn=function(a,b){this.uh=b};k.Dm=function(){return this.qf};k.Qn=function(a,b){this.qf=b;this.Aa=this.Fa[this.qf&16?1:0]?this.Aa|64:this.Aa&-65};k.Hm=function(){return this.Aa};k.Mn=function(a,b){this.uj=b;this.na&&di(this.na,14);kk(this)};k.Rn=function(a,b){this.wh&4&&!(b&4)&&(this.be=1);this.wh=b}; +function kk(a){var b=!1,c=a.uj,d=a.qf&16?1:0,e=a.qf&15,f=a.vh|(a.uh&3)<<8,g=a.xh,h=a.de||256;a.Ua=null;a.be=0;a.Aa=80;(d=a.Fa[d])?(d.ge=f,d.Ta=e,d.jb=g,d.ub=h*d.lb,c=144<=c?c:c&240,d.Ra=null,d.Va=0,d.errorCode=0,a.Ua=d):c=-1;switch(c&240){case 32:a.Aa=136;a.oc(d,function(b){0<=b&&a.na?(jk(a),a.Aa=80):(a.Aa=1,a.be=16)},!1);break;case 48:a.Aa=8;break;case 16:b=!0;break;case 64:b=!0;break;case 144:a.be=1;b=!0;break;case 145:d.wb=e+1,d.Ab=h,b=!0}b&&jk(a)} +function jk(a){!a.na||a.wh&2||ci(a.na,14,120)} +function ik(a){a.Db=0;var b=a.Qa(),c=a.Qa(),d=c&32,e=d>>5,f=c&31,g=a.Qa(),h=a.Qa(),m=g<<2&768|h,n=g&63,r=a.Qa(),t=a.Qa(),s=a.Fa[e];s&&(s.ge=m,s.Ta=f,s.jb=n,s.ub=r*s.lb);switch(b){case 3:a.Sb(s?s.errorCode:4);a.gc(c);a.gc(g);a.gc(h);a.gc(0|d);b=-1;break;case 12:for(c=0;0<=(b=a.Qa());)s&&cb?this.oc(a,c):c(-1,!1)}; +k.Zh=function(a,b){return void 0!==b&&0<=b?this.qc(a,b):-1};k.dm=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.Va=a.Ab+b&&(a.jb=b,a.Ta++,a.Ta>=a.wb&&(a.Ta=0,a.ge++))}; +k.Cj=function(a,b){if(a.errorCode)return-1;a.Ec[a.Xe++]=b;if(a.Xe==a.Ec.length){a.ge=a.Ec[0];a.Ta=a.Ec[1];a.jb=a.Ec[2];a.ub=128<this.qc(a,a.Pj))return-1;a.Mg++}a.Mg>=a.Jd&&(b=-1);return b};k.tn=function(){var a=this.ma.L&255;!(this.ma.H>>8)&&128>8)||(a=!this.na)||(a=!(this.na.ac[0].ad&64));return a?!0:!1}; +var ek={800:$.prototype.rn,801:$.prototype.sn,802:$.prototype.qn},dk={496:$.prototype.Cm,497:$.prototype.Em,498:$.prototype.Fm,499:$.prototype.Gm,500:$.prototype.Bm,501:$.prototype.Am,502:$.prototype.Dm,503:$.prototype.Hm},gk={800:$.prototype.Co,801:$.prototype.Fo,802:$.prototype.Eo,803:$.prototype.Do,807:$.prototype.pj,811:$.prototype.pj,815:$.prototype.pj},fk={496:$.prototype.Pn,497:$.prototype.Un,498:$.prototype.Sn,499:$.prototype.Tn,500:$.prototype.On,501:$.prototype.Nn,502:$.prototype.Qn,503:$.prototype.Mn, +1014:$.prototype.Rn};za(function(){for(var a=y(window.document,"pcjs","hdc"),b=0;buk){if(d.load(this.bg)){this.Be=new H(this,"1.16.5","failsafe");this.Be.load()&&(yk(this,d),a=2,rk(this.Be));this.Be.set("timestamp",ja());sk(this.Be);var e=this.Hc&&!this.Pg;if(1==a||na("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== -f&&"no machine state"!=g?(this.Aa("Error: "+g),"unable to verify user"==g&&(ra("user",""),this.Ic=null)):this.ic(f+": "+g),rk(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&xk(this,c?d:null)}else 2==a&&d.clear()}else xk(this);delete this.bg;delete this.th}e=Ka(this.id);for(f=0;fa[1];a=a[2];this.ma.Pb=!0;this.Tj||(this.ic("PCjs v1.16.5\nCopyright \u00a9 2012-2015 Jeff Parsons \nLicense: GPL version 3 or later "),this.Tj=!0);this.ka&&zk(this,this.ka,b,c,a);this.Xj&&(yk(this,b),b.clear());!c&&this.Be&&(this.Be.clear(),delete this.Be)}; -function yk(a,b){if(na("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Kd(),d=b.toString(),e={app:"PCjs",ver:"1.16.5"};e.url=a.url;e.user=c;e.type="bug";e.data=d;la("http://www.pcjs.org/api/v1/report",!0,e)}} -function Ak(a,b,c){var d,e="none",f=new H(a,"1.16.5"),g=new H(a,"1.16.5","validate"),h=ja();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.16.5");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.ka&&a.ka.$b&&(c&&B(a.ka),d=a.ka.$b(b,c),"object"===typeof d&&f.set(a.ka.id,d),c&&(a.ka.ma.Pb=!1,!1===d&&(e=null)));for(var h=Ka(a.id),m=0;muk){if(d.load(this.lg)){this.Ke=new H(this,"1.17.0","failsafe");this.Ke.load()&&(yk(this,d),a=2,rk(this.Ke));this.Ke.set("timestamp",ja());sk(this.Ke);var e=this.Mc&&!this.Zg;if(1==a||na("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=d.parse()){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"== +f&&"no machine state"!=g?(this.Da("Error: "+g),"unable to verify user"==g&&(ra("user",""),this.Nc=null)):this.nc(f+": "+g),rk(d),d.load()?(c=d.parse(),e=!0):c=!1))}e&&xk(this,c?d:null)}else 2==a&&d.clear()}else xk(this);delete this.lg;delete this.Dh}e=Ka(this.id);for(f=0;fa[1];a=a[2];this.oa.Ub=!0;this.dk||(this.nc("PCjs v1.17.0\nCopyright \u00a9 2012-2015 Jeff Parsons \nLicense: GPL version 3 or later "),this.dk=!0);this.ma&&zk(this,this.ma,b,c,a);this.hk&&(yk(this,b),b.clear());!c&&this.Ke&&(this.Ke.clear(),delete this.Ke)}; +function yk(a,b){if(na("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.Sd(),d=b.toString(),e={app:"PCjs",ver:"1.17.0"};e.url=a.url;e.user=c;e.type="bug";e.data=d;la("http://www.pcjs.org/api/v1/report",!0,e)}} +function Ak(a,b,c){var d,e="none",f=new H(a,"1.17.0"),g=new H(a,"1.17.0","validate"),h=ja();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.17.0");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.ma&&a.ma.ec&&(c&&B(a.ma),d=a.ma.ec(b,c),"object"===typeof d&&f.set(a.ma.id,d),c&&(a.ma.oa.Ub=!1,!1===d&&(e=null)));for(var h=Ka(a.id),m=0;mh.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(s){h= -null,a=s.message}else a="unrecognized XML: "+(255h.indexOf("/")&&(h=window.location.pathname+h);a=a.replace(/(]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" state=$2"+d+"$2":"")+(h?" url=$2"+h+"$2":""))}h=null;if("<"==a.charAt(0))try{window.ActiveXObject||"ActiveXObject"in window?(e||(a=a.replace(/\s*/g,"")),h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){h= +null,a=t.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");la(e,!0,null,null,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var m=h[0],n,r=/( [a-z]+=)(['"])(.*?)\2/g;n=r.exec(f);)m=0>m.indexOf(n[1])?m.replace(">",n[0]+">"):m.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=m&&(g=g.replace(h[0],m))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);Gk(a,b,c)}})}else c(a,null)} -function Hk(a,b,c,d){function e(a){if(void 0===h){var b=g&&y(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function f(a){e("Error: "+a);m&&(--Dk||Ba(!0));m=!1}var g,h,m=!0;Dk++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.16.5/components.xsl");var n=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--Dk||Ba(!0)):f("transformNodeToObject failed")}else window.document.implementation&& +function Hk(a,b,c,d){function e(a){if(void 0===h){var b=g&&y(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=ha(a))}function f(a){e("Error: "+a);m&&(--Dk||Ba(!0));m=!1}var g,h,m=!0;Dk++;try{if(g=window.document.getElementById(a)){c||(c="/versions/pcjs/1.17.0/components.xsl");var n=function(a,d){if(d){var h=function(a,h){if(h)if(h)if(e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var m=d.transformNode(h);m?(g.outerHTML=m,--Dk||Ba(!0)):f("transformNodeToObject failed")}else window.document.implementation&& window.document.implementation.createDocument?(m=new XSLTProcessor,m.importStylesheet(h),(m=m.transformToFragment(d,window.document))?(g.parentNode.replaceChild(m,g),--Dk||Ba(!0)):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f("failed to load XSL file: "+c);else f(a)};d?Ek(c,null,null,!1,e,h):f("failed to load XML file: "+b)}else f(a)};"<"!=b.charAt(0)?Ek(b,a,d,!0,e,n):Fk(b,null,a,d,!1,e,n)}else f("failed to find machine element: "+a)}catch(r){f(r.message)}return m} window.embedPC=function(a,b,c,d){Ba(!1);return Hk(a,b,c,d)};window.enableEvents=Ba;window.sendEvent=Ca;})(); diff --git a/modules/pcjs/bin/x86gen.js b/modules/pcjs/bin/x86gen.js index 21e531b6d..ea99d742c 100644 --- a/modules/pcjs/bin/x86gen.js +++ b/modules/pcjs/bin/x86gen.js @@ -140,11 +140,11 @@ if (!fGenMods) { print(" /**"); print(" * @this {X86CPU}"); print(" *"); - print(" * op=0x" + toHex(op, 2) + " (" + sOpCode.toLowerCase() + " AX," + sDst + ")"); + print(" * op=0x" + toHex(op, 2) + " (" + sOpCode.toLowerCase() + " EAX," + sDst + ")"); print(" */"); sOp = "op" + sOpCode + sDst; print(" " + sOp + ": function() {"); - print(" var temp = this.regAX; this.regAX = " + sDstReg + "; " + sDstReg + " = temp;"); + print(" var temp = this.regEAX; this.regEAX = " + sDstReg + "; " + sDstReg + " = temp;"); print(" },"); if (sOps) sOps += ((cOps % 4)? ", " : ",\n"); sOps += " this." + sOp; @@ -279,46 +279,46 @@ function genMode(d, w, mrm, sGroup, sRO) { if (!w) { switch (reg) { case 0: - sRegGet = "this.regAX & 0xff"; - sRegSet = "this.regAX = (this.regAX & ~0xff) | "; + sRegGet = "this.regEAX & 0xff"; + sRegSet = "this.regEAX = (this.regEAX & ~0xff) | "; sRegBTLo = "this.backTrack.btiAL"; break; case 1: - sRegGet = "this.regCX & 0xff"; - sRegSet = "this.regCX = (this.regCX & ~0xff) | "; + sRegGet = "this.regECX & 0xff"; + sRegSet = "this.regECX = (this.regECX & ~0xff) | "; sRegBTLo = "this.backTrack.btiCL"; break; case 2: - sRegGet = "this.regDX & 0xff"; - sRegSet = "this.regDX = (this.regDX & ~0xff) | "; + sRegGet = "this.regEDX & 0xff"; + sRegSet = "this.regEDX = (this.regEDX & ~0xff) | "; sRegBTLo = "this.backTrack.btiDL"; break; case 3: - sRegGet = "this.regBX & 0xff"; - sRegSet = "this.regBX = (this.regBX & ~0xff) | "; + sRegGet = "this.regEBX & 0xff"; + sRegSet = "this.regEBX = (this.regEBX & ~0xff) | "; sRegBTLo = "this.backTrack.btiBL"; break; case 4: - sRegGet = "this.regAX >> 8"; - sRegSet = "this.regAX = (this.regAX & 0xff) | "; + sRegGet = "(this.regEAX >> 8) & 0xff"; + sRegSet = "this.regEAX = (this.regEAX & ~0xff00) | "; sRegSetEnd = " << 8"; sRegBTLo = "this.backTrack.btiAH"; break; case 5: - sRegGet = "this.regCX >> 8"; - sRegSet = "this.regCX = (this.regCX & 0xff) | "; + sRegGet = "(this.regECX >> 8) & 0xff"; + sRegSet = "this.regECX = (this.regECX & ~0xff00) | "; sRegSetEnd = " << 8"; sRegBTLo = "this.backTrack.btiCH"; break; case 6: - sRegGet = "this.regDX >> 8"; - sRegSet = "this.regDX = (this.regDX & 0xff) | "; + sRegGet = "(this.regEDX >> 8) & 0xff"; + sRegSet = "this.regEDX = (this.regEDX & ~0xff00) | "; sRegSetEnd = " << 8"; sRegBTLo = "this.backTrack.btiDH"; break; case 7: - sRegGet = "this.regBX >> 8"; - sRegSet = "this.regBX = (this.regBX & 0xff) | "; + sRegGet = "(this.regEBX >> 8) & 0xff"; + sRegSet = "this.regEBX = (this.regEBX & ~0xff00) | "; sRegSetEnd = " << 8"; sRegBTLo = "this.backTrack.btiBH"; break; @@ -330,42 +330,50 @@ function genMode(d, w, mrm, sGroup, sRO) { else { switch (reg) { case 0: - sRegGet = "this.regAX"; + sRegGet = "this.regEAX & this.opMask"; + sRegSet = "this.regEAX = (this.regEAX & this.opMaskClear) | "; sRegBTLo = "this.backTrack.btiAL"; sRegBTHi = "this.backTrack.btiAH"; break; case 1: - sRegGet = "this.regCX"; + sRegGet = "this.regECX & this.opMask"; + sRegSet = "this.regECX = (this.regECX & this.opMaskClear) | "; sRegBTLo = "this.backTrack.btiCL"; sRegBTHi = "this.backTrack.btiCH"; break; case 2: - sRegGet = "this.regDX"; + sRegGet = "this.regEDX & this.opMask"; + sRegSet = "this.regEDX = (this.regEDX & this.opMaskClear) | "; sRegBTLo = "this.backTrack.btiDL"; sRegBTHi = "this.backTrack.btiDH"; break; case 3: - sRegGet = "this.regBX"; + sRegGet = "this.regEBX & this.opMask"; + sRegSet = "this.regEBX = (this.regEBX & this.opMaskClear) | "; sRegBTLo = "this.backTrack.btiBL"; sRegBTHi = "this.backTrack.btiBH"; break; case 4: - sRegGet = "this.regSP"; + sRegGet = "this.regESP & this.opMask"; + sRegSet = "this.regESP = (this.regESP & this.opMaskClear) | "; sRegBTLo = "X86.BACKTRACK.SP_LO"; sRegBTHi = "X86.BACKTRACK.SP_HI"; break; case 5: - sRegGet = "this.regBP"; + sRegGet = "this.regEBP & this.opMask"; + sRegSet = "this.regEBP = (this.regEBP & this.opMaskClear) | "; sRegBTLo = "this.backTrack.btiBPLo"; sRegBTHi = "this.backTrack.btiBPHi"; break; case 6: - sRegGet = "this.regSI"; + sRegGet = "this.regESI & this.opMask"; + sRegSet = "this.regESI = (this.regESI & this.opMaskClear) | "; sRegBTLo = "this.backTrack.btiSILo"; sRegBTHi = "this.backTrack.btiSIHi"; break; case 7: - sRegGet = "this.regDI"; + sRegGet = "this.regEDI & this.opMask"; + sRegSet = "this.regEDI = (this.regEDI & this.opMaskClear) | "; sRegBTLo = "this.backTrack.btiDILo"; sRegBTHi = "this.backTrack.btiDIHi"; break; @@ -394,34 +402,34 @@ function genMode(d, w, mrm, sGroup, sRO) { case 0: switch (r_m) { case 0: - sModAddr = "this.regBX + this.regSI"; + sModAddr = "this.regEBX + this.regESI"; sModFunc = "BXSI"; nCycles = "this.CYCLES.nEACyclesBaseIndex"; // 8086: 7 break; case 1: - sModAddr = "this.regBX + this.regDI"; + sModAddr = "this.regEBX + this.regEDI"; sModFunc = "BXDI"; nCycles = "this.CYCLES.nEACyclesBaseIndexExtra"; // 8086: 8 break; case 2: - sModAddr = "this.regBP + this.regSI"; + sModAddr = "this.regEBP + this.regESI"; sModFunc = "BPSI"; sModRegSeg = "this.segStack"; nCycles = "this.CYCLES.nEACyclesBaseIndexExtra"; // 8086: 8 break; case 3: - sModAddr = "this.regBP + this.regDI"; + sModAddr = "this.regEBP + this.regEDI"; sModFunc = "BPDI"; sModRegSeg = "this.segStack"; nCycles = "this.CYCLES.nEACyclesBaseIndex"; // 8086: 7 break; case 4: - sModAddr = "this.regSI"; + sModAddr = "this.regESI"; sModFunc = "SI"; nCycles = "this.CYCLES.nEACyclesBase"; // 8086: 5 break; case 5: - sModAddr = "this.regDI"; + sModAddr = "this.regEDI"; sModFunc = "DI"; nCycles = "this.CYCLES.nEACyclesBase"; // 8086: 5 break; @@ -431,7 +439,7 @@ function genMode(d, w, mrm, sGroup, sRO) { nCycles = "this.CYCLES.nEACyclesDisp"; // 8086: 6 break; case 7: - sModAddr = "this.regBX"; + sModAddr = "this.regEBX"; sModFunc = "BX"; nCycles = "this.CYCLES.nEACyclesBase"; // 8086: 5 break; @@ -443,45 +451,45 @@ function genMode(d, w, mrm, sGroup, sRO) { case 1: switch (r_m) { case 0: - sModAddr = "this.regBX + this.regSI + this.getIPDisp()"; + sModAddr = "this.regEBX + this.regESI + this.getIPDisp()"; sModFunc = "BXSID8"; nCycles = "this.CYCLES.nEACyclesBaseIndexDisp"; // 8086: 11 break; case 1: - sModAddr = "this.regBX + this.regDI + this.getIPDisp()"; + sModAddr = "this.regEBX + this.regEDI + this.getIPDisp()"; sModFunc = "BXDID8"; nCycles = "this.CYCLES.nEACyclesBaseIndexDispExtra"; // 8086: 12 break; case 2: - sModAddr = "this.regBP + this.regSI + this.getIPDisp()"; + sModAddr = "this.regEBP + this.regESI + this.getIPDisp()"; sModFunc = "BPSID8"; sModRegSeg = "this.segStack"; nCycles = "this.CYCLES.nEACyclesBaseIndexDispExtra"; // 8086: 12 break; case 3: - sModAddr = "this.regBP + this.regDI + this.getIPDisp()"; + sModAddr = "this.regEBP + this.regEDI + this.getIPDisp()"; sModFunc = "BPDID8"; sModRegSeg = "this.segStack"; nCycles = "this.CYCLES.nEACyclesBaseIndexDisp"; // 8086: 11 break; case 4: - sModAddr = "this.regSI + this.getIPDisp()"; + sModAddr = "this.regESI + this.getIPDisp()"; sModFunc = "SID8"; nCycles = "this.CYCLES.nEACyclesBaseDisp"; // 8086: 9 break; case 5: - sModAddr = "this.regDI + this.getIPDisp()"; + sModAddr = "this.regEDI + this.getIPDisp()"; sModFunc = "DID8"; nCycles = "this.CYCLES.nEACyclesBaseDisp"; // 8086: 9 break; case 6: - sModAddr = "this.regBP + this.getIPDisp()"; + sModAddr = "this.regEBP + this.getIPDisp()"; sModFunc = "BPD8"; sModRegSeg = "this.segStack"; nCycles = "this.CYCLES.nEACyclesBaseDisp"; // 8086: 9 break; case 7: - sModAddr = "this.regBX + this.getIPDisp()"; + sModAddr = "this.regEBX + this.getIPDisp()"; sModFunc = "BXD8"; nCycles = "this.CYCLES.nEACyclesBaseDisp"; // 8086: 9 break; @@ -493,45 +501,45 @@ function genMode(d, w, mrm, sGroup, sRO) { case 2: switch (r_m) { case 0: - sModAddr = "this.regBX + this.regSI + this.getIPWord()"; + sModAddr = "this.regEBX + this.regESI + this.getIPWord()"; sModFunc = "BXSID16"; nCycles = "this.CYCLES.nEACyclesBaseIndexDisp"; // 8086: 11 break; case 1: - sModAddr = "this.regBX + this.regDI + this.getIPWord()"; + sModAddr = "this.regEBX + this.regEDI + this.getIPWord()"; sModFunc = "BXDID16"; nCycles = "this.CYCLES.nEACyclesBaseIndexDispExtra"; // 8086: 12 break; case 2: - sModAddr = "this.regBP + this.regSI + this.getIPWord()"; + sModAddr = "this.regEBP + this.regESI + this.getIPWord()"; sModFunc = "BPSID16"; sModRegSeg = "this.segStack"; nCycles = "this.CYCLES.nEACyclesBaseIndexDispExtra"; // 8086: 12 break; case 3: - sModAddr = "this.regBP + this.regDI + this.getIPWord()"; + sModAddr = "this.regEBP + this.regEDI + this.getIPWord()"; sModFunc = "BPDID16"; sModRegSeg = "this.segStack"; nCycles = "this.CYCLES.nEACyclesBaseIndexDisp"; // 8086: 11 break; case 4: - sModAddr = "this.regSI + this.getIPWord()"; + sModAddr = "this.regESI + this.getIPWord()"; sModFunc = "SID16"; nCycles = "this.CYCLES.nEACyclesBaseDisp"; // 8086: 9 break; case 5: - sModAddr = "this.regDI + this.getIPWord()"; + sModAddr = "this.regEDI + this.getIPWord()"; sModFunc = "DID16"; nCycles = "this.CYCLES.nEACyclesBaseDisp"; // 8086: 9 break; case 6: - sModAddr = "this.regBP + this.getIPWord()"; + sModAddr = "this.regEBP + this.getIPWord()"; sModFunc = "BPD16"; sModRegSeg = "this.segStack"; nCycles = "this.CYCLES.nEACyclesBaseDisp"; // 8086: 9 break; case 7: - sModAddr = "this.regBX + this.getIPWord()"; + sModAddr = "this.regEBX + this.getIPWord()"; sModFunc = "BXD16"; nCycles = "this.CYCLES.nEACyclesBaseDisp"; // 8086: 9 break; @@ -544,46 +552,46 @@ function genMode(d, w, mrm, sGroup, sRO) { if (!w) { switch (r_m) { case 0: - sModRegGet = "this.regAX & 0xff"; - sModRegSet = "this.regAX = (this.regAX & ~0xff) | "; + sModRegGet = "this.regEAX & 0xff"; + sModRegSet = "this.regEAX = (this.regEAX & ~0xff) | "; sModRegBTLo = "this.backTrack.btiAL"; break; case 1: - sModRegGet = "this.regCX & 0xff"; - sModRegSet = "this.regCX = (this.regCX & ~0xff) | "; + sModRegGet = "this.regECX & 0xff"; + sModRegSet = "this.regECX = (this.regECX & ~0xff) | "; sModRegBTLo = "this.backTrack.btiCL"; break; case 2: - sModRegGet = "this.regDX & 0xff"; - sModRegSet = "this.regDX = (this.regDX & ~0xff) | "; + sModRegGet = "this.regEDX & 0xff"; + sModRegSet = "this.regEDX = (this.regEDX & ~0xff) | "; sModRegBTLo = "this.backTrack.btiDL"; break; case 3: - sModRegGet = "this.regBX & 0xff"; - sModRegSet = "this.regBX = (this.regBX & ~0xff) | "; + sModRegGet = "this.regEBX & 0xff"; + sModRegSet = "this.regEBX = (this.regEBX & ~0xff) | "; sModRegBTLo = "this.backTrack.btiBL"; break; case 4: - sModRegGet = "this.regAX >> 8"; - sModRegSet = "this.regAX = (this.regAX & 0xff) | "; + sModRegGet = "(this.regEAX >> 8) & 0xff"; + sModRegSet = "this.regEAX = (this.regEAX & ~0xff00) | "; sModRegSetEnd = " << 8"; sModRegBTLo = "this.backTrack.btiAH"; break; case 5: - sModRegGet = "this.regCX >> 8"; - sModRegSet = "this.regCX = (this.regCX & 0xff) | "; + sModRegGet = "(this.regECX >> 8) & 0xff"; + sModRegSet = "this.regECX = (this.regECX & ~0xff00) | "; sModRegSetEnd = " << 8"; sModRegBTLo = "this.backTrack.btiCH"; break; case 6: - sModRegGet = "this.regDX >> 8"; - sModRegSet = "this.regDX = (this.regDX & 0xff) | "; + sModRegGet = "(this.regEDX >> 8) & 0xff"; + sModRegSet = "this.regEDX = (this.regEDX & ~0xff00) | "; sModRegSetEnd = " << 8"; sModRegBTLo = "this.backTrack.btiDH"; break; case 7: - sModRegGet = "this.regBX >> 8"; - sModRegSet = "this.regBX = (this.regBX & 0xff) | "; + sModRegGet = "(this.regEBX >> 8) & 0xff"; + sModRegSet = "this.regEBX = (this.regEBX & ~0xff00) | "; sModRegSetEnd = " << 8"; sModRegBTLo = "this.backTrack.btiBH"; break; @@ -595,42 +603,50 @@ function genMode(d, w, mrm, sGroup, sRO) { else { switch (r_m) { case 0: - sModRegGet = "this.regAX"; + sModRegGet = "this.regEAX & this.opMask"; + sModRegSet = "this.regEAX = (this.regEAX & this.opMaskClear) | "; sModRegBTLo = "this.backTrack.btiAL"; sModRegBTHi = "this.backTrack.btiAH"; break; case 1: - sModRegGet = "this.regCX"; + sModRegGet = "this.regECX & this.opMask"; + sModRegSet = "this.regECX = (this.regECX & this.opMaskClear) | "; sModRegBTLo = "this.backTrack.btiCL"; sModRegBTHi = "this.backTrack.btiCH"; break; case 2: - sModRegGet = "this.regDX"; + sModRegGet = "this.regEDX & this.opMask"; + sModRegSet = "this.regEDX = (this.regEDX & this.opMaskClear) | "; sModRegBTLo = "this.backTrack.btiDL"; sModRegBTHi = "this.backTrack.btiDH"; break; case 3: - sModRegGet = "this.regBX"; + sModRegGet = "this.regEBX & this.opMask"; + sModRegSet = "this.regEBX = (this.regEBX & this.opMaskClear) | "; sModRegBTLo = "this.backTrack.btiBL"; sModRegBTHi = "this.backTrack.btiBH"; break; case 4: - sModRegGet = "this.regSP"; + sModRegGet = "this.regESP & this.opMask"; + sModRegSet = "this.regESP = (this.regESP & this.opMaskClear) | "; sModRegBTLo = "X86.BACKTRACK.SP_LO"; sModRegBTHi = "X86.BACKTRACK.SP_HI"; break; case 5: - sModRegGet = "this.regBP"; + sModRegGet = "this.regEBP & this.opMask"; + sModRegSet = "this.regEBP = (this.regEBP & this.opMaskClear) | "; sModRegBTLo = "this.backTrack.btiBPLo"; sModRegBTHi = "this.backTrack.btiBPHi"; break; case 6: - sModRegGet = "this.regSI"; + sModRegGet = "this.regESI & this.opMask"; + sModRegSet = "this.regESI = (this.regESI & this.opMaskClear) | "; sModRegBTLo = "this.backTrack.btiSILo"; sModRegBTHi = "this.backTrack.btiSIHi"; break; case 7: - sModRegGet = "this.regDI"; + sModRegGet = "this.regEDI & this.opMask"; + sModRegSet = "this.regEDI = (this.regEDI & this.opMaskClear) | "; sModRegBTLo = "this.backTrack.btiDILo"; sModRegBTHi = "this.backTrack.btiDIHi"; break; @@ -670,10 +686,10 @@ function genMode(d, w, mrm, sGroup, sRO) { print(" * @param {Array.} afnGrp"); print(" * @param {function()} fnSrc"); print(" */"); - print(" " + sOpMod + ": function(afnGrp, fnSrc) {"); + print(" " + sOpMod.replace("Byte","").replace("Word","") + ": function " + sOpMod + "(afnGrp, fnSrc) {"); if (sModAddr) { - if (sModAddr.indexOf("+") > 0) { + if (sModAddr.indexOf("+") > 0 || sModAddr.indexOf("regE") >= 0) { sModAddr = "((" + sModAddr + ") & 0xffff)"; } if (!d) { @@ -734,10 +750,10 @@ function genMode(d, w, mrm, sGroup, sRO) { } if (sModRegBTLo) { if (!sModRegBTHi) { - print(" if (BACKTRACK) " + sModRegBTLo + " = this.backTrack.btiMemLo;"); + print(" if (BACKTRACK) " + sModRegBTLo + " = this.backTrack.btiEALo;"); } else { print(" if (BACKTRACK) {"); - print(" " + sModRegBTLo + " = this.backTrack.btiMemLo; " + sModRegBTHi + " = this.backTrack.btiMemHi;"); + print(" " + sModRegBTLo + " = this.backTrack.btiEALo; " + sModRegBTHi + " = this.backTrack.btiEAHi;"); print(" }"); } } @@ -762,11 +778,11 @@ function genMode(d, w, mrm, sGroup, sRO) { print(" * @this {X86CPU}"); print(" * @param {function(number,number)} fn (dst,src)"); print(" */"); - print(" " + sOpMod + ": function(fn) {"); + print(" " + sOpMod.replace("Byte","").replace("Word","") + ": function " + sOpMod + "(fn) {"); if (sModAddr && sRegGet) { - if (sModAddr.indexOf("+") > 0) { + if (sModAddr.indexOf("+") > 0 || sModAddr.indexOf("regE") >= 0) { sModAddr = "((" + sModAddr + ") & 0xffff)"; } if (!d) { @@ -775,10 +791,10 @@ function genMode(d, w, mrm, sGroup, sRO) { print(" var " + sTemp + " = fn.call(this, this.modEA" + aSize[w] + "(" + sModRegSeg + ", " + sModAddr + "), " + sRegGet + ");"); if (sRegBTLo) { if (!sRegBTHi) { - print(" if (BACKTRACK) this.backTrack.btiMemLo = " + sRegBTLo + ";"); + print(" if (BACKTRACK) this.backTrack.btiEALo = " + sRegBTLo + ";"); } else { print(" if (BACKTRACK) {"); - print(" this.backTrack.btiMemLo = " + sRegBTLo + "; this.backTrack.btiMemHi = " + sRegBTHi + ";"); + print(" this.backTrack.btiEALo = " + sRegBTLo + "; this.backTrack.btiEAHi = " + sRegBTHi + ";"); print(" }"); } } @@ -795,10 +811,10 @@ function genMode(d, w, mrm, sGroup, sRO) { print(" var " + sTemp + " = fn.call(this, this.modEA" + aSize[w] + "(this.regEAWrite), " + sRegGet + ");"); if (sRegBTLo) { if (!sRegBTHi) { - print(" if (BACKTRACK) this.backTrack.btiMemLo = " + sRegBTLo + ";"); + print(" if (BACKTRACK) this.backTrack.btiEALo = " + sRegBTLo + ";"); } else { print(" if (BACKTRACK) {"); - print(" this.backTrack.btiMemLo = " + sRegBTLo + "; this.backTrack.btiMemHi = " + sRegBTHi + ";"); + print(" this.backTrack.btiEALo = " + sRegBTLo + "; this.backTrack.btiEAHi = " + sRegBTHi + ";"); print(" }"); } } @@ -844,10 +860,10 @@ function genMode(d, w, mrm, sGroup, sRO) { } if (sRegBTLo && sRegBTLo.indexOf("this.") >= 0) { if (!sRegBTHi) { - print(" if (BACKTRACK) " + sRegBTLo + " = this.backTrack.btiMemLo;"); + print(" if (BACKTRACK) " + sRegBTLo + " = this.backTrack.btiEALo;"); } else { print(" if (BACKTRACK) {"); - print(" " + sRegBTLo + " = this.backTrack.btiMemLo; " + sRegBTHi + " = this.backTrack.btiMemHi;"); + print(" " + sRegBTLo + " = this.backTrack.btiEALo; " + sRegBTHi + " = this.backTrack.btiEAHi;"); print(" }"); } } diff --git a/modules/pcjs/lib/chipset.js b/modules/pcjs/lib/chipset.js index ba5bf211f..7ff0f4772 100644 --- a/modules/pcjs/lib/chipset.js +++ b/modules/pcjs/lib/chipset.js @@ -3323,7 +3323,7 @@ ChipSet.prototype.getIRRVector = function(iPIC) var nIRQ = pic.nIRQBase + nIRL; if (DEBUG && this.messageEnabled(this.messageBitsIRQ(nIRQ))) { - this.printMessage("getIRRVector(): IRQ " + nIRQ + " interrupting @" + str.toHexAddr(this.cpu.regIP, this.cpu.segCS.sel) + " stack=" + str.toHexAddr(this.cpu.regSP, this.cpu.segSS.sel), true); + this.printMessage("getIRRVector(): IRQ " + nIRQ + " interrupting @" + str.toHexAddr(this.cpu.regIP, this.cpu.segCS.sel) + " stack=" + str.toHexAddr(this.cpu.regESP, this.cpu.segSS.sel), true); } if (MAXDEBUG && DEBUGGER) { this.acInterrupts[nIRQ]++; @@ -4721,19 +4721,19 @@ ChipSet.prototype.intBIOSRTC = function(addr) * By computing AH now, we get the incoming AH value; if we computed it below, along with * the rest of the register values, we'd get the outgoing AH value, which is not what we want. */ - var AH = this.cpu.regAX >> 8; + var AH = this.cpu.regEAX >> 8; this.cpu.addIntReturn(addr, function(chipset, nCycles) { return function onBIOSRTCReturn(nLevel) { nCycles = chipset.cpu.getCycles() - nCycles; var sResult; - var CL = chipset.cpu.regDX & 0xff; - var CH = chipset.cpu.regDX >> 8; - var DL = chipset.cpu.regDX & 0xff; - var DH = chipset.cpu.regDX >> 8; + var CL = chipset.cpu.regEDX & 0xff; + var CH = chipset.cpu.regEDX >> 8; + var DL = chipset.cpu.regEDX & 0xff; + var DH = chipset.cpu.regEDX >> 8; if (AH == 0x02 || AH == 0x03) { sResult = " CH(hour)=" + str.toHexWord(CH) + " CL(min)=" + str.toHexByte(CL) + " DH(sec)=" + str.toHexByte(DH); } else if (AH == 0x04 || AH == 0x05) { - sResult = " CX(year)=" + str.toHexWord(chipset.cpu.regCX) + " DH(month)=" + str.toHexByte(DH) + " DL(day)=" + str.toHexByte(DL); + sResult = " CX(year)=" + str.toHexWord(chipset.cpu.regECX) + " DH(month)=" + str.toHexByte(DH) + " DL(day)=" + str.toHexByte(DL); } chipset.dbg.messageIntReturn(Interrupts.RTC.VECTOR, nLevel, nCycles, sResult); }; diff --git a/modules/pcjs/lib/debugger.js b/modules/pcjs/lib/debugger.js index 8ed2e4c60..225a1bdfb 100644 --- a/modules/pcjs/lib/debugger.js +++ b/modules/pcjs/lib/debugger.js @@ -1560,22 +1560,22 @@ if (DEBUGGER) { Debugger.prototype.messageRegs = function() { var cpu = this.cpu; var asRegs = Debugger.asRegs; - this.aMessageRegs[asRegs[0]] = str.toHexByte(cpu.regAX & 0xff); - this.aMessageRegs[asRegs[1]] = str.toHexByte(cpu.regCX & 0xff); - this.aMessageRegs[asRegs[2]] = str.toHexByte(cpu.regDX & 0xff); - this.aMessageRegs[asRegs[3]] = str.toHexByte(cpu.regBX & 0xff); - this.aMessageRegs[asRegs[4]] = str.toHexByte(cpu.regAX >> 8); - this.aMessageRegs[asRegs[5]] = str.toHexByte(cpu.regCX >> 8); - this.aMessageRegs[asRegs[6]] = str.toHexByte(cpu.regDX >> 8); - this.aMessageRegs[asRegs[7]] = str.toHexByte(cpu.regBX >> 8); - this.aMessageRegs[asRegs[8]] = str.toHexWord(cpu.regAX); - this.aMessageRegs[asRegs[9]] = str.toHexWord(cpu.regCX); - this.aMessageRegs[asRegs[10]] = str.toHexWord(cpu.regDX); - this.aMessageRegs[asRegs[11]] = str.toHexWord(cpu.regBX); - this.aMessageRegs[asRegs[12]] = str.toHexWord(cpu.regSP); - this.aMessageRegs[asRegs[13]] = str.toHexWord(cpu.regBP); - this.aMessageRegs[asRegs[14]] = str.toHexWord(cpu.regSI); - this.aMessageRegs[asRegs[15]] = str.toHexWord(cpu.regDI); + this.aMessageRegs[asRegs[0]] = str.toHexByte(cpu.regEAX & 0xff); + this.aMessageRegs[asRegs[1]] = str.toHexByte(cpu.regECX & 0xff); + this.aMessageRegs[asRegs[2]] = str.toHexByte(cpu.regEDX & 0xff); + this.aMessageRegs[asRegs[3]] = str.toHexByte(cpu.regEBX & 0xff); + this.aMessageRegs[asRegs[4]] = str.toHexByte(cpu.regEAX >> 8); + this.aMessageRegs[asRegs[5]] = str.toHexByte(cpu.regECX >> 8); + this.aMessageRegs[asRegs[6]] = str.toHexByte(cpu.regEDX >> 8); + this.aMessageRegs[asRegs[7]] = str.toHexByte(cpu.regEBX >> 8); + this.aMessageRegs[asRegs[8]] = str.toHexWord(cpu.regEAX); + this.aMessageRegs[asRegs[9]] = str.toHexWord(cpu.regECX); + this.aMessageRegs[asRegs[10]] = str.toHexWord(cpu.regEDX); + this.aMessageRegs[asRegs[11]] = str.toHexWord(cpu.regEBX); + this.aMessageRegs[asRegs[12]] = str.toHexWord(cpu.regESP); + this.aMessageRegs[asRegs[13]] = str.toHexWord(cpu.regEBP); + this.aMessageRegs[asRegs[14]] = str.toHexWord(cpu.regESI); + this.aMessageRegs[asRegs[15]] = str.toHexWord(cpu.regEDI); this.aMessageRegs[asRegs[16]] = str.toHexWord(cpu.segES.sel); this.aMessageRegs[asRegs[17]] = str.toHexWord(cpu.segCS.sel); this.aMessageRegs[asRegs[18]] = str.toHexWord(cpu.segSS.sel); @@ -1632,7 +1632,7 @@ if (DEBUGGER) { var fMessage = false; var nCategory = Debugger.INT_MESSAGES[nInt]; if (nCategory) { - AH = this.cpu.regAX >> 8; + AH = this.cpu.regEAX >> 8; if (this.messageEnabled(nCategory)) { fMessage = true; } else { @@ -1640,7 +1640,7 @@ if (DEBUGGER) { } } if (fMessage) { - var DL = this.cpu.regDX & 0xff; + var DL = this.cpu.regEDX & 0xff; if (nInt == Interrupts.DOS.VECTOR && AH == 0x0b || nCategory == Messages.FDC && DL >= 0x80 || nCategory == Messages.HDC && DL < 0x80) { fMessage = false; @@ -3034,14 +3034,14 @@ if (DEBUGGER) { if (fProt === undefined) { fProt = !!(this.cpu.regMSW & X86.MSW.PE); } - var s = "AX=" + str.toHexWord(this.cpu.regAX) + - " BX=" + str.toHexWord(this.cpu.regBX) + - " CX=" + str.toHexWord(this.cpu.regCX) + - " DX=" + str.toHexWord(this.cpu.regDX) + - " SP=" + str.toHexWord(this.cpu.regSP) + - " BP=" + str.toHexWord(this.cpu.regBP) + - " SI=" + str.toHexWord(this.cpu.regSI) + - " DI=" + str.toHexWord(this.cpu.regDI) + '\n'; + var s = "AX=" + str.toHexWord(this.cpu.regEAX) + + " BX=" + str.toHexWord(this.cpu.regEBX) + + " CX=" + str.toHexWord(this.cpu.regECX) + + " DX=" + str.toHexWord(this.cpu.regEDX) + + " SP=" + str.toHexWord(this.cpu.regESP) + + " BP=" + str.toHexWord(this.cpu.regEBP) + + " SI=" + str.toHexWord(this.cpu.regESI) + + " DI=" + str.toHexWord(this.cpu.regEDI) + '\n'; s += this.getSegStr(this.cpu.segDS, fProt) + ' ' + this.getSegStr(this.cpu.segES, fProt) + ' ' + this.getSegStr(this.cpu.segSS, fProt); s += (fProt? '\n' : ' '); s += this.getSegStr(this.cpu.segCS, fProt) + " IP=" + str.toHexWord(this.cpu.regIP) + @@ -3134,28 +3134,28 @@ if (DEBUGGER) { sValue = sValue.toUpperCase(); switch (sValue) { case "AX": - value = this.cpu.regAX; + value = this.cpu.regEAX; break; case "BX": - value = this.cpu.regBX; + value = this.cpu.regEBX; break; case "CX": - value = this.cpu.regCX; + value = this.cpu.regECX; break; case "DX": - value = this.cpu.regDX; + value = this.cpu.regEDX; break; case "SI": - value = this.cpu.regSI; + value = this.cpu.regESI; break; case "DI": - value = this.cpu.regDI; + value = this.cpu.regEDI; break; case "BP": - value = this.cpu.regBP; + value = this.cpu.regEBP; break; case "SP": - value = this.cpu.regSP; + value = this.cpu.regESP; break; case "CS": value = this.cpu.segCS.sel; @@ -4283,52 +4283,52 @@ if (DEBUGGER) { sReg = sReg.toUpperCase(); switch (sReg) { case "AL": - this.cpu.regAX = (this.cpu.regAX & 0xff00) | (w & 0xff); + this.cpu.regEAX = (this.cpu.regEAX & 0xff00) | (w & 0xff); break; case "AH": - this.cpu.regAX = (this.cpu.regAX & 0x00ff) | ((w << 8) & 0xff); + this.cpu.regEAX = (this.cpu.regEAX & 0x00ff) | ((w << 8) & 0xff); break; case "AX": - this.cpu.regAX = (w & 0xffff); + this.cpu.regEAX = (w & 0xffff); break; case "BL": - this.cpu.regBX = (this.cpu.regBX & 0xff00) | (w & 0xff); + this.cpu.regEBX = (this.cpu.regEBX & 0xff00) | (w & 0xff); break; case "BH": - this.cpu.regBX = (this.cpu.regBX & 0x00ff) | ((w << 8) & 0xff); + this.cpu.regEBX = (this.cpu.regEBX & 0x00ff) | ((w << 8) & 0xff); break; case "BX": - this.cpu.regBX = (w & 0xffff); + this.cpu.regEBX = (w & 0xffff); break; case "CL": - this.cpu.regCX = (this.cpu.regCX & 0xff00) | (w & 0xff); + this.cpu.regECX = (this.cpu.regECX & 0xff00) | (w & 0xff); break; case "CH": - this.cpu.regCX = (this.cpu.regCX & 0x00ff) | ((w << 8) & 0xff); + this.cpu.regECX = (this.cpu.regECX & 0x00ff) | ((w << 8) & 0xff); break; case "CX": - this.cpu.regCX = (w & 0xffff); + this.cpu.regECX = (w & 0xffff); break; case "DL": - this.cpu.regDX = (this.cpu.regDX & 0xff00) | (w & 0xff); + this.cpu.regEDX = (this.cpu.regEDX & 0xff00) | (w & 0xff); break; case "DH": - this.cpu.regDX = (this.cpu.regDX & 0x00ff) | ((w << 8) & 0xff); + this.cpu.regEDX = (this.cpu.regEDX & 0x00ff) | ((w << 8) & 0xff); break; case "DX": - this.cpu.regDX = (w & 0xffff); + this.cpu.regEDX = (w & 0xffff); break; case "SP": - this.cpu.regSP = (w & 0xffff); + this.cpu.regESP = (w & 0xffff); break; case "BP": - this.cpu.regBP = (w & 0xffff); + this.cpu.regEBP = (w & 0xffff); break; case "SI": - this.cpu.regSI = (w & 0xffff); + this.cpu.regESI = (w & 0xffff); break; case "DI": - this.cpu.regDI = (w & 0xffff); + this.cpu.regEDI = (w & 0xffff); break; case "DS": this.cpu.setDS(w); @@ -4746,7 +4746,7 @@ if (DEBUGGER) { if (this.cmp) this.cmp.reset(); return true; case "ver": - this.println((APPNAME || "PCjs") + " version " + APPVERSION + " (" + (COMPILED? "RELEASE" : (DEBUG? "DEBUG" : "NODEBUG")) + (PREFETCH? ",PREFETCH" : ",NOPREFETCH") + (EAFUNCS? "EAFUNCS" : ",EATESTS") + (TYPEDARRAYS? ",TYPEDARRAYS" : (FATARRAYS? ",FATARRAYS" : ",DWORDARRAYS")) + ")"); + this.println((APPNAME || "PCjs") + " version " + APPVERSION + " (" + (COMPILED? "RELEASE" : (DEBUG? "DEBUG" : "NODEBUG")) + (PREFETCH? ",PREFETCH" : ",NOPREFETCH") + (EAFUNCS? "EAFUNCS" : ",EATESTS") + (TYPEDARRAYS? ",TYPEDARRAYS" : (FATARRAYS? ",FATARRAYS" : ",DWORDARRAYS")) + (BACKTRACK? ",BACKTRACK" : "") + ")"); return true; default: ch0 = sCmd.charAt(0); diff --git a/modules/pcjs/lib/hdc.js b/modules/pcjs/lib/hdc.js index 56e67cb54..2cf47dfa9 100644 --- a/modules/pcjs/lib/hdc.js +++ b/modules/pcjs/lib/hdc.js @@ -2733,8 +2733,8 @@ HDC.prototype.writeFormat = function(drive, b) */ HDC.prototype.intBIOSDisk = function(addr) { - var AH = this.cpu.regAX >> 8; - var DL = this.cpu.regDX & 0xff; + var AH = this.cpu.regEAX >> 8; + var DL = this.cpu.regEDX & 0xff; if (!AH && DL > 0x80) this.iDriveAllowFail = DL - 0x80; return true; }; @@ -2770,7 +2770,7 @@ HDC.prototype.intBIOSDisk = function(addr) */ HDC.prototype.intBIOSDiskette = function(addr) { - var AH = this.cpu.regAX >> 8; + var AH = this.cpu.regEAX >> 8; if ((!AH && this.chipset && this.chipset.checkIMR(ChipSet.IRQ.FDC))) { if (DEBUG) this.printMessage("HDC.intBIOSDiskette(): skipping useless INT 0x40 diskette reset"); return false; diff --git a/modules/pcjs/lib/x86.js b/modules/pcjs/lib/x86.js index c63012189..611bea80a 100644 --- a/modules/pcjs/lib/x86.js +++ b/modules/pcjs/lib/x86.js @@ -41,6 +41,7 @@ var X86 = { MODEL_80186: 80186, MODEL_80188: 80188, MODEL_80286: 80286, + MODEL_80386: 80386, /* * This constant is used to mark points in the code where the physical address being returned @@ -148,7 +149,15 @@ var X86 = { OFFSET: 0x6, LIMIT1619: 0x000f, AVAIL: 0x0010, // NOTE: set in various descriptors in OS/2 - DEFSIZE: 0x0040, // clear if default operand/address size is 16-bit, set if 32-bit + /* + * The BIG bit is known as the D bit for code segments; when set, all addresses and operands + * in that code segment are assumed to be 32-bit. + * + * The BIG bit is known as the B bit for data segments; when set, it indicates: 1) all pushes, + * pops, calls and returns use ESP instead of SP, and 2) the upper bound of an expand-down segment + * is 0xffffffff instead of 0xffff. + */ + BIG: 0x0040, // clear if default operand/address size is 16-bit, set if 32-bit GRANULARITY: 0x0080, // clear if limit is bytes, set if limit is 4Kb pages BASE2431: 0xff00 }, @@ -232,7 +241,7 @@ var X86 = { AUXOVF_OF: 0x08080, AUXOVF_CF: 0x10100 }, - PARITY: [ // 256-byte array with a 1 wherever the number of set bits in the array index is EVEN + PARITY: [ // 256-byte array with a 1 wherever the number of set bits in the array index is EVEN 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, diff --git a/modules/pcjs/lib/x86cpu.js b/modules/pcjs/lib/x86cpu.js index ff770735d..a73b9bf26 100644 --- a/modules/pcjs/lib/x86cpu.js +++ b/modules/pcjs/lib/x86cpu.js @@ -44,7 +44,8 @@ if (typeof module !== 'undefined') { var X86Seg = require("./x86seg"); var X86Grps = require("./x86grps"); var X86Help = require("./x86help"); - var X86Mods = require("./x86mods"); + var X86ModB = require("./x86modb"); + var X86ModW = require("./x86modw"); var X86OpXX = require("./x86opxx"); var X86Op0F = require("./x86op0f"); } @@ -97,6 +98,9 @@ function X86CPU(parmsCPU) { case X86.MODEL_80286: nCyclesDefault = 6000000; break; + case X86.MODEL_80386: + nCyclesDefault = 16000000; + break; } CPU.call(this, parmsCPU, nCyclesDefault); @@ -795,14 +799,14 @@ X86CPU.prototype.reset = function() */ X86CPU.prototype.resetRegs = function() { - this.regAX = 0; - this.regBX = 0; - this.regCX = 0; - this.regDX = 0; - this.regSP = 0; - this.regBP = 0; - this.regSI = 0; - this.regDI = 0; + this.regEAX = 0; + this.regEBX = 0; + this.regECX = 0; + this.regEDX = 0; + this.regESP = 0; + this.regEBP = 0; + this.regESI = 0; + this.regEDI = 0; /* * NOTE: Even though the MSW and IDTR are 80286-specific, we initialize them for ALL CPUs, so that @@ -825,10 +829,15 @@ X86CPU.prototype.resetRegs = function() * segment number and base physical address, respectively), but all segment registers are now defined * as X86Seg objects. */ - this.segCS = new X86Seg(this, X86Seg.ID.CODE, "CS"); - this.segDS = new X86Seg(this, X86Seg.ID.DATA, "DS"); - this.segES = new X86Seg(this, X86Seg.ID.DATA, "ES"); - this.segSS = new X86Seg(this, X86Seg.ID.STACK, "SS"); + this.segCS = new X86Seg(this, X86Seg.ID.CODE, "CS"); + this.segDS = new X86Seg(this, X86Seg.ID.DATA, "DS"); + this.segES = new X86Seg(this, X86Seg.ID.DATA, "ES"); + this.segSS = new X86Seg(this, X86Seg.ID.STACK, "SS"); + if (this.model >= X86.MODEL_80386) { + this.segFS = new X86Seg(this, X86Seg.ID.DATA, "FS"); + this.segGS = new X86Seg(this, X86Seg.ID.DATA, "GS"); + } + this.segNULL = new X86Seg(this, X86Seg.ID.NULL, "NULL"); this.setCSIP(0, 0xFFFF); // this should be called before the first setPS() call @@ -937,6 +946,18 @@ X86CPU.prototype.resetRegs = function() this.segData = this.segDS; this.segStack = this.segSS; this.opFlags = this.opPrefixes = 0; + this.opSize = 2; + this.opMask = 0xffff; + this.opMaskClear = ~this.opMask; + this.addrSize = 2; + this.addrMask = 0xffff; + this.addrMaskClear = ~this.addrMask; + this.aOpModMemByte = X86ModB.aOpModMem; + this.aOpModRegByte = X86ModB.aOpModReg; + this.aOpModGrpByte = X86ModB.aOpModGrp; + this.aOpModMemWord = X86ModW.aOpModMem; + this.aOpModRegWord = X86ModW.aOpModReg; + this.aOpModGrpWord = X86ModW.aOpModGrp; }; /** @@ -947,7 +968,7 @@ X86CPU.prototype.resetRegs = function() */ X86CPU.prototype.getChecksum = function() { - var sum = (this.regAX + this.regBX + this.regCX + this.regDX + this.regSP + this.regBP + this.regSI + this.regDI) | 0; + var sum = (this.regEAX + this.regEBX + this.regECX + this.regEDX + this.regESP + this.regEBP + this.regESI + this.regEDI) | 0; sum = (sum + this.regIP + this.segCS.sel + this.segDS.sel + this.segSS.sel + this.segES.sel + this.getPS()) | 0; return sum; }; @@ -1138,7 +1159,7 @@ X86CPU.prototype.restoreProtMode = function(a) X86CPU.prototype.save = function() { var state = new State(this); - state.set(0, [this.regAX, this.regBX, this.regCX, this.regDX, this.regSP, this.regBP, this.regSI, this.regDI, this.nIOPL]); + state.set(0, [this.regEAX, this.regEBX, this.regECX, this.regEDX, this.regESP, this.regEBP, this.regESI, this.regEDI, this.nIOPL]); state.set(1, [this.regIP, this.segCS.save(), this.segDS.save(), this.segSS.save(), this.segES.save(), this.saveProtMode(), this.getPS()]); state.set(2, [this.segData.sName, this.segStack.sName, this.opFlags, this.opPrefixes, this.intFlags, this.regEA, this.regEAWrite]); state.set(3, [0, this.nTotalCycles, this.getSpeed()]); @@ -1159,14 +1180,14 @@ X86CPU.prototype.restore = function(data) { var a; a = data[0]; - this.regAX = a[0]; - this.regBX = a[1]; - this.regCX = a[2]; - this.regDX = a[3]; - this.regSP = a[4]; - this.regBP = a[5]; - this.regSI = a[6]; - this.regDI = a[7]; + this.regEAX = a[0]; + this.regEBX = a[1]; + this.regECX = a[2]; + this.regEDX = a[3]; + this.regESP = a[4]; + this.regEBP = a[5]; + this.regESI = a[6]; + this.regEDI = a[7]; this.nIOPL = a[8] || 0; a = data[1]; this.segCS.restore(a[1]); @@ -1176,8 +1197,12 @@ X86CPU.prototype.restore = function(data) this.restoreProtMode(a[5]); this.setPS(a[6]); this.setIP(a[0]); + if (this.model >= X86.MODEL_80386) { + this.segFS.restore(a[7]); + this.segGS.restore(a[8]); + } a = data[2]; - this.segData = a[0] != null && this.getSeg(a[0]) || this.segDS; + this.segData = a[0] != null && this.getSeg(a[0]) || this.segDS; this.segStack = a[1] != null && this.getSeg(a[1]) || this.segSS; this.opFlags = a[2]; this.opPrefixes = a[3]; @@ -1222,8 +1247,8 @@ X86CPU.prototype.setMemoryEnabled = function() */ X86CPU.prototype.verifyMemoryEnabled = function() { - this.assert(!(this.regAX & 0xffff0000) && !(this.regBX & 0xffff0000) && !(this.regCX & 0xffff0000) && !(this.regDX & 0xffff0000)); - this.assert(!(this.regSI & 0xffff0000) && !(this.regDI & 0xffff0000) && !(this.regBP & 0xffff0000) && !(this.regSP & 0xffff0000)); + this.assert(!(this.regEAX & 0xffff0000) && !(this.regEBX & 0xffff0000) && !(this.regECX & 0xffff0000) && !(this.regEDX & 0xffff0000)); + this.assert(!(this.regESI & 0xffff0000) && !(this.regEDI & 0xffff0000) && !(this.regEBP & 0xffff0000) && !(this.regESP & 0xffff0000)); this.assert((this.getEAByte == this.getEAByteEnabled && this.getEAWord == this.getEAWordEnabled && this.modEAByte == this.modEAByteEnabled && this.modEAWord == this.modEAWordEnabled && this.setEAByte == this.setEAByteEnabled && this.setEAWord == this.setEAWordEnabled), "verifyMemoryEnabled() failed"); }; @@ -1270,7 +1295,7 @@ X86CPU.prototype.getSeg = function(sName) */ X86CPU.prototype.setCS = function(sel) { - this.regEIP = this.segCS.load(sel) + this.regIP; + this.regEIP = this.segCS.load(sel & 0xffff) + this.regIP; this.opFlags |= this.OPFLAG_NOINTR8086; if (PREFETCH) this.flushPrefetch(this.regEIP); }; @@ -1283,7 +1308,7 @@ X86CPU.prototype.setCS = function(sel) */ X86CPU.prototype.setDS = function(sel) { - this.segDS.load(sel); + this.segDS.load(sel & 0xffff); this.opFlags |= this.OPFLAG_NOINTR8086; }; @@ -1295,7 +1320,9 @@ X86CPU.prototype.setDS = function(sel) */ X86CPU.prototype.setSS = function(sel) { - this.segSS.load(sel); + this.segSS.load(sel & 0xffff); + this.segSS.addrMask = (this.model >= X86.MODEL_80386 && (this.segSS.ext & X86.DESC.EXT.BIG))? 0xffffffff : 0xffff; + this.segSS.addrMaskClear = ~this.segSS.addrMask; this.opFlags |= X86.OPFLAG.NOINTR; }; @@ -1307,7 +1334,7 @@ X86CPU.prototype.setSS = function(sel) */ X86CPU.prototype.setES = function(sel) { - this.segES.load(sel); + this.segES.load(sel & 0xffff); this.opFlags |= this.OPFLAG_NOINTR8086; }; @@ -2310,9 +2337,9 @@ X86CPU.prototype.getIPWord = function() */ X86CPU.prototype.popWord = function() { - var regSP = this.regSP; - this.regSP = (this.regSP + 2) & 0xffff; - return this.getSOWord(this.segSS, regSP); + var regESP = this.regESP; + this.regESP = (this.regESP + 2) & 0xffff; + return this.getSOWord(this.segSS, regESP); }; /** @@ -2324,7 +2351,7 @@ X86CPU.prototype.popWord = function() X86CPU.prototype.pushWord = function(w) { this.assert((w & 0xffff) == w); - this.setSOWord(this.segSS, (this.regSP = (this.regSP - 2) & 0xffff), w); + this.setSOWord(this.segSS, (this.regESP = (this.regESP - 2) & 0xffff), w); }; /** @@ -2478,14 +2505,14 @@ X86CPU.prototype.delayINTR = function() X86CPU.prototype.displayStatus = function(fForce) { if (fForce || !this.aFlags.fRunning || this.aFlags.fDisplayLiveRegs) { - this.displayReg("AX", this.regAX); - this.displayReg("BX", this.regBX); - this.displayReg("CX", this.regCX); - this.displayReg("DX", this.regDX); - this.displayReg("SP", this.regSP); - this.displayReg("BP", this.regBP); - this.displayReg("SI", this.regSI); - this.displayReg("DI", this.regDI); + this.displayReg("AX", this.regEAX); + this.displayReg("BX", this.regEBX); + this.displayReg("CX", this.regECX); + this.displayReg("DX", this.regEDX); + this.displayReg("SP", this.regESP); + this.displayReg("BP", this.regEBP); + this.displayReg("SI", this.regESI); + this.displayReg("DI", this.regEDI); this.displayReg("CS", this.segCS.sel); this.displayReg("DS", this.segDS.sel); this.displayReg("SS", this.segSS.sel); @@ -2741,7 +2768,6 @@ if (typeof APP_PCJS !== 'undefined') { APP_PCJS.X86.X86Seg = X86Seg; APP_PCJS.X86.X86Grps = X86Grps; APP_PCJS.X86.X86Help = X86Help; - APP_PCJS.X86.X86Mods = X86Mods; APP_PCJS.X86.X86Op0F = X86Op0F; APP_PCJS.X86.X86OpXX = X86OpXX; } diff --git a/modules/pcjs/lib/x86grps.js b/modules/pcjs/lib/x86grps.js index c75923006..064fec1ed 100644 --- a/modules/pcjs/lib/x86grps.js +++ b/modules/pcjs/lib/x86grps.js @@ -723,14 +723,14 @@ var X86Grps = { * @return {number} (we return dst unchanged, since it's actually AX that's modified) */ opGrpMULb: function(dst, src) { - this.regAX = this.regMD16 = (this.resultValue = (src = this.regAX & 0xff) * dst) & 0xffff; + this.regEAX = this.regMD16 = (this.resultValue = (src = this.regEAX & 0xff) * dst) & 0xffff; this.resultAuxOverflow = this.resultParitySign = this.resultValue; this.resultSize = X86.RESULT.SIZE_BYTE; /* * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, * but it somewhat defeats the purpose of the indirect result variables that we've set above. */ - if (this.regAX & 0xff00) { + if (this.regEAX & 0xff00) { this.setCF(); this.setOF(); } else { this.clearCF(); this.clearOF(); @@ -766,8 +766,8 @@ var X86Grps = { * @return {number} (we return dst unchanged, since it's actually AX that's modified) */ opGrpIMULb: function(dst, src) { - var result = (((src = this.regAX) << 24) >> 24) * ((dst << 24) >> 24); - this.regAX = this.regMD16 = result & 0xffff; + var result = (((src = this.regEAX) << 24) >> 24) * ((dst << 24) >> 24); + this.regEAX = this.regMD16 = result & 0xffff; this.resultValue = this.resultAuxOverflow = this.resultParitySign = result; this.resultSize = X86.RESULT.SIZE_BYTE; /* @@ -807,12 +807,12 @@ var X86Grps = { /* * Detect small divisor (quotient overflow) */ - var uQuotient = ((src = this.regAX) / dst); + var uQuotient = ((src = this.regEAX) / dst); if (uQuotient > 0xff) { X86Help.opHelpDIVOverflow.call(this); return dst; } - this.regMD16 = this.regAX = (uQuotient & 0xff) | (((this.regAX % dst) & 0xff) << 8); + this.regMD16 = this.regEAX = (uQuotient & 0xff) | (((this.regEAX % dst) & 0xff) << 8); /* * TODO: Verify that all of the arithmetic flags are "undefined" after DIV, and that this code unnecessary */ @@ -854,12 +854,12 @@ var X86Grps = { /* * Detect small divisor (quotient overflow) */ - var lQuotient = ((((src = this.regAX) << 16) >> 16) / ((dst << 24) >> 24)); + var lQuotient = ((((src = this.regEAX) << 16) >> 16) / ((dst << 24) >> 24)); if (lQuotient > ((lQuotient << 24) >> 24) & 0xffff) { X86Help.opHelpDIVOverflow.call(this); return dst; } - this.regMD16 = this.regAX = (lQuotient & 0xff) | (((((this.regAX << 16) >> 16) % ((dst << 24) >> 24)) & 0xff) << 8); + this.regMD16 = this.regEAX = (lQuotient & 0xff) | (((((this.regEAX << 16) >> 16) % ((dst << 24) >> 24)) & 0xff) << 8); /* * TODO: Verify that all of the arithmetic flags are "undefined" after IDIV, and that this code unnecessary */ @@ -883,15 +883,15 @@ var X86Grps = { * @return {number} (we return dst unchanged, since it's actually DX:AX that's modified) */ opGrpMULw: function(dst, src) { - this.regMD16 = this.regAX = (this.resultValue = (src = this.regAX) * dst) & 0xffff; - this.regMD32 = this.regDX = (this.resultValue >> 16) & 0xffff; + this.regMD16 = this.regEAX = (this.resultValue = (src = this.regEAX) * dst) & 0xffff; + this.regMD32 = this.regEDX = (this.resultValue >> 16) & 0xffff; this.resultAuxOverflow = this.resultParitySign = this.resultValue; this.resultSize = X86.RESULT.SIZE_WORD; /* * TODO: Look into a more efficient way of setting/synchronizing CF and OF; this code works, * but it somewhat defeats the purpose of the indirect result variables that we've set above. */ - if (this.regDX) { + if (this.regEDX) { this.setCF(); this.setOF(); } else { this.clearCF(); this.clearOF(); @@ -927,9 +927,9 @@ var X86Grps = { * @return {number} (we return dst unchanged, since it's actually DX:AX that's modified) */ opGrpIMULw: function(dst, src) { - var result = (((src = this.regAX) << 16) >> 16) * ((dst << 16) >> 16); - this.regAX = this.regMD16 = result & 0xffff; - this.regDX = this.regMD32 = (result >> 16) & 0xffff; + var result = (((src = this.regEAX) << 16) >> 16) * ((dst << 16) >> 16); + this.regEAX = this.regMD16 = result & 0xffff; + this.regEDX = this.regMD32 = (result >> 16) & 0xffff; this.resultValue = this.resultAuxOverflow = this.resultParitySign = result; this.resultSize = X86.RESULT.SIZE_WORD; /* @@ -969,18 +969,18 @@ var X86Grps = { /* * Detect small divisor (quotient overflow) * - * WARNING: We CANNOT simply do "src = (this.regDX << 16) | this.regAX", because if bit 15 of DX + * WARNING: We CANNOT simply do "src = (this.regEDX << 16) | this.regEAX", because if bit 15 of DX * is set, JavaScript will create a negative 32-bit number. So we instead use non-bit-wise operators * to force JavaScript to create a floating-point value that won't suffer from 32-bit-math side-effects. */ - src = this.regAX + this.regDX * X86.RESULT.SIZE_WORD; + src = this.regEAX + this.regEDX * X86.RESULT.SIZE_WORD; var uQuotient = Math.floor(src / dst); if (uQuotient >= X86.RESULT.SIZE_WORD) { X86Help.opHelpDIVOverflow.call(this); return dst; } - this.regMD16 = this.regAX = (uQuotient & 0xffff); - this.regMD32 = this.regDX = (src % dst) & 0xffff; + this.regMD16 = this.regEAX = (uQuotient & 0xffff); + this.regMD32 = this.regEDX = (src % dst) & 0xffff; /* * TODO: Verify that all of the arithmetic flags are "undefined" after DIV, and that this code unnecessary */ @@ -1023,14 +1023,14 @@ var X86Grps = { * Detect small divisor (quotient overflow) */ var lDivisor = ((dst << 16) >> 16); - src = (this.regDX << 16) | this.regAX; + src = (this.regEDX << 16) | this.regEAX; var lQuotient = Math.floor(src / lDivisor); if (lQuotient != ((lQuotient & 0xffff) << 16) >> 16) { X86Help.opHelpDIVOverflow.call(this); return dst; } - this.regMD16 = this.regAX = (lQuotient & 0xffff); - this.regMD32 = this.regDX = (src % lDivisor) & 0xffff; + this.regMD16 = this.regEAX = (lQuotient & 0xffff); + this.regMD32 = this.regEDX = (src % lDivisor) & 0xffff; /* * TODO: Verify that all of the arithmetic flags are "undefined" after IDIV, and that this code unnecessary */ @@ -1200,7 +1200,7 @@ var X86Grps = { * @return {number} */ opGrp2CountCL: function() { - var count = this.regCX & this.nShiftCountMask; + var count = this.regECX & this.nShiftCountMask; this.nStepCycles -= (this.regEA < 0? this.CYCLES.nOpCyclesShiftCR : this.CYCLES.nOpCyclesShiftCM) + (count << this.CYCLES.nOpCyclesShiftCS); return count; }, @@ -1261,7 +1261,7 @@ var X86Grps = { * * Opcodes Intel PCjs PC Mag TechRef * ------- ----- ---- -------------- - * 0x80-0x83 Grp1 Grp1b, Grp1w, Grp1b, and Grp1sw Group A + * 0x80-0x83 Grp1 Grp1b and Grp1w Group A * 0xC0-0xC1 Grp2 Grp2b and Grp2w (opGrp2bi/wi) Group B * 0xD0-0xD3 Grp2 Grp2b and Grp2w (opGrp2b1/w1 and opGrp2bCL/wCL) Group B * 0xF6-0xF7 Grp3 Grp3b and Grp3w Group C diff --git a/modules/pcjs/lib/x86help.js b/modules/pcjs/lib/x86help.js index bf0db788b..a678e1dfc 100644 --- a/modules/pcjs/lib/x86help.js +++ b/modules/pcjs/lib/x86help.js @@ -353,28 +353,28 @@ var X86Help = { // switch (this.bModRM & 0x7) { case 0x0: // AL - this.regAX = (this.regAX & ~0xff) | dst; + this.regEAX = (this.regEAX & ~0xff) | dst; break; case 0x1: // CL - this.regCX = (this.regCX & ~0xff) | dst; + this.regECX = (this.regECX & ~0xff) | dst; break; case 0x2: // DL - this.regDX = (this.regDX & ~0xff) | dst; + this.regEDX = (this.regEDX & ~0xff) | dst; break; case 0x3: // BL - this.regBX = (this.regBX & ~0xff) | dst; + this.regEBX = (this.regEBX & ~0xff) | dst; break; case 0x4: // AH - this.regAX = (this.regAX & 0xff) | (dst << 8); + this.regEAX = (this.regEAX & 0xff) | (dst << 8); break; case 0x5: // CH - this.regCX = (this.regCX & 0xff) | (dst << 8); + this.regECX = (this.regECX & 0xff) | (dst << 8); break; case 0x6: // DH - this.regDX = (this.regDX & 0xff) | (dst << 8); + this.regEDX = (this.regEDX & 0xff) | (dst << 8); break; case 0x7: // BH - this.regBX = (this.regBX & 0xff) | (dst << 8); + this.regEBX = (this.regEBX & 0xff) | (dst << 8); break; default: break; // there IS no other case, but JavaScript inspections don't know that @@ -415,28 +415,28 @@ var X86Help = { // switch (this.bModRM & 0x7) { case 0x0: // AX - this.regAX = dst; + this.regEAX = dst; break; case 0x1: // CX - this.regCX = dst; + this.regECX = dst; break; case 0x2: // DX - this.regDX = dst; + this.regEDX = dst; break; case 0x3: // BX - this.regBX = dst; + this.regEBX = dst; break; case 0x4: // SP - this.regSP = dst; + this.regESP = dst; break; case 0x5: // BP - this.regBP = dst; + this.regEBP = dst; break; case 0x6: // SI - this.regSI = dst; + this.regESI = dst; break; case 0x7: // DI - this.regDI = dst; + this.regEDI = dst; break; default: break; // there IS no other case, but JavaScript inspections don't know that @@ -508,9 +508,9 @@ var X86Help = { opHelpRETF: function(n) { var regIP = this.popWord(); var regCS = this.popWord(); - if (n) this.regSP = (this.regSP + n) & 0xffff; + if (n) this.regESP = (this.regESP + n) & 0xffff; if (this.setCSIP(regIP, regCS, false)) { - if (n) this.regSP = (this.regSP + n) & 0xffff; + if (n) this.regESP = (this.regESP + n) & 0xffff; /* * As per Intel documentation: "If any of [the DS or ES] registers refer to segments whose DPL is * less than the new CPL (excluding conforming code segments), the segment register is loaded with diff --git a/modules/pcjs/lib/x86modb.js b/modules/pcjs/lib/x86modb.js new file mode 100644 index 000000000..e8f29f95f --- /dev/null +++ b/modules/pcjs/lib/x86modb.js @@ -0,0 +1,8619 @@ +/** + * @fileoverview Implements PCjs 8086 mode-byte decoding. + * @author Jeff Parsons + * @version 1.0 + * Created 2012-Sep-05 + * + * Copyright © 2012-2015 Jeff Parsons + * + * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines) + * at and . + * + * PCjs is free software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with PCjs. If not, + * see . + * + * You are required to include the above copyright notice in every source code file of every + * copy or modified version of this work, and to display that copyright notice on every screen + * that loads or runs any version of this software (see Computer.sCopyright). + * + * Some PCjs files also attempt to load external resource files, such as character-image files, + * ROM files, and disk image files. Those external resource files are not considered part of the + * PCjs program for purposes of the GNU General Public License, and the author does not claim + * any copyright as to their contents. + */ + +"use strict"; + +if (typeof module !== 'undefined') { + var X86 = require("./x86"); +} + +var X86ModB = { + /** + * opModMemByte00(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem00: function opModMemByte00(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte01(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem01: function opModMemByte01(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte02(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem02: function opModMemByte02(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte03(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem03: function opModMemByte03(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte04(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem04: function opModMemByte04(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte05(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem05: function opModMemByte05(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte06(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem06: function opModMemByte06(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemByte07(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem07: function opModMemByte07(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte08(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem08: function opModMemByte08(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte09(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem09: function opModMemByte09(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte0A(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem0A: function opModMemByte0A(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte0B(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem0B: function opModMemByte0B(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte0C(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem0C: function opModMemByte0C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte0D(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem0D: function opModMemByte0D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte0E(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem0E: function opModMemByte0E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemByte0F(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem0F: function opModMemByte0F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte10(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem10: function opModMemByte10(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte11(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem11: function opModMemByte11(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte12(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem12: function opModMemByte12(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte13(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem13: function opModMemByte13(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte14(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem14: function opModMemByte14(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte15(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem15: function opModMemByte15(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte16(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem16: function opModMemByte16(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemByte17(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem17: function opModMemByte17(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte18(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem18: function opModMemByte18(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte19(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem19: function opModMemByte19(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte1A(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem1A: function opModMemByte1A(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte1B(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem1B: function opModMemByte1B(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte1C(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem1C: function opModMemByte1C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte1D(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem1D: function opModMemByte1D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte1E(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem1E: function opModMemByte1E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemByte1F(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem1F: function opModMemByte1F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte20(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem20: function opModMemByte20(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte21(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem21: function opModMemByte21(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte22(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem22: function opModMemByte22(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte23(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem23: function opModMemByte23(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte24(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem24: function opModMemByte24(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte25(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem25: function opModMemByte25(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte26(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem26: function opModMemByte26(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemByte27(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem27: function opModMemByte27(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte28(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem28: function opModMemByte28(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte29(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem29: function opModMemByte29(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte2A(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem2A: function opModMemByte2A(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte2B(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem2B: function opModMemByte2B(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte2C(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem2C: function opModMemByte2C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte2D(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem2D: function opModMemByte2D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte2E(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem2E: function opModMemByte2E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemByte2F(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem2F: function opModMemByte2F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte30(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem30: function opModMemByte30(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte31(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem31: function opModMemByte31(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte32(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem32: function opModMemByte32(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte33(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem33: function opModMemByte33(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte34(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem34: function opModMemByte34(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte35(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem35: function opModMemByte35(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte36(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem36: function opModMemByte36(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemByte37(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem37: function opModMemByte37(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte38(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem38: function opModMemByte38(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte39(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem39: function opModMemByte39(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte3A(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem3A: function opModMemByte3A(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemByte3B(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem3B: function opModMemByte3B(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemByte3C(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem3C: function opModMemByte3C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte3D(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem3D: function opModMemByte3D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte3E(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem3E: function opModMemByte3E(fn) { + var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemByte3F(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem3F: function opModMemByte3F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemByte40(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem40: function opModMemByte40(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte41(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem41: function opModMemByte41(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte42(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem42: function opModMemByte42(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte43(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem43: function opModMemByte43(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte44(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem44: function opModMemByte44(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte45(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem45: function opModMemByte45(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte46(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem46: function opModMemByte46(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte47(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem47: function opModMemByte47(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte48(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem48: function opModMemByte48(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte49(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem49: function opModMemByte49(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte4A(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem4A: function opModMemByte4A(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte4B(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem4B: function opModMemByte4B(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte4C(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem4C: function opModMemByte4C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte4D(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem4D: function opModMemByte4D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte4E(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem4E: function opModMemByte4E(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte4F(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem4F: function opModMemByte4F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte50(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem50: function opModMemByte50(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte51(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem51: function opModMemByte51(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte52(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem52: function opModMemByte52(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte53(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem53: function opModMemByte53(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte54(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem54: function opModMemByte54(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte55(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem55: function opModMemByte55(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte56(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem56: function opModMemByte56(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte57(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem57: function opModMemByte57(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte58(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem58: function opModMemByte58(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte59(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem59: function opModMemByte59(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte5A(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem5A: function opModMemByte5A(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte5B(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem5B: function opModMemByte5B(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte5C(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem5C: function opModMemByte5C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte5D(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem5D: function opModMemByte5D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte5E(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem5E: function opModMemByte5E(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte5F(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem5F: function opModMemByte5F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte60(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem60: function opModMemByte60(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte61(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem61: function opModMemByte61(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte62(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem62: function opModMemByte62(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte63(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem63: function opModMemByte63(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte64(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem64: function opModMemByte64(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte65(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem65: function opModMemByte65(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte66(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem66: function opModMemByte66(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte67(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem67: function opModMemByte67(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte68(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem68: function opModMemByte68(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte69(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem69: function opModMemByte69(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte6A(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem6A: function opModMemByte6A(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte6B(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem6B: function opModMemByte6B(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte6C(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem6C: function opModMemByte6C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte6D(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem6D: function opModMemByte6D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte6E(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem6E: function opModMemByte6E(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte6F(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem6F: function opModMemByte6F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte70(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem70: function opModMemByte70(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte71(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem71: function opModMemByte71(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte72(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem72: function opModMemByte72(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte73(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem73: function opModMemByte73(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte74(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem74: function opModMemByte74(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte75(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem75: function opModMemByte75(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte76(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem76: function opModMemByte76(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte77(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem77: function opModMemByte77(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte78(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem78: function opModMemByte78(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte79(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem79: function opModMemByte79(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte7A(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem7A: function opModMemByte7A(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte7B(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem7B: function opModMemByte7B(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte7C(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem7C: function opModMemByte7C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte7D(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem7D: function opModMemByte7D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte7E(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem7E: function opModMemByte7E(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte7F(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem7F: function opModMemByte7F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte80(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem80: function opModMemByte80(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte81(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem81: function opModMemByte81(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte82(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem82: function opModMemByte82(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte83(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem83: function opModMemByte83(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte84(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem84: function opModMemByte84(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte85(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem85: function opModMemByte85(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte86(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem86: function opModMemByte86(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte87(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem87: function opModMemByte87(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEAX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte88(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem88: function opModMemByte88(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte89(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem89: function opModMemByte89(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte8A(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem8A: function opModMemByte8A(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte8B(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem8B: function opModMemByte8B(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte8C(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem8C: function opModMemByte8C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte8D(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem8D: function opModMemByte8D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte8E(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem8E: function opModMemByte8E(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte8F(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem8F: function opModMemByte8F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regECX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte90(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem90: function opModMemByte90(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte91(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem91: function opModMemByte91(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte92(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem92: function opModMemByte92(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte93(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem93: function opModMemByte93(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte94(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem94: function opModMemByte94(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte95(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem95: function opModMemByte95(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte96(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem96: function opModMemByte96(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte97(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem97: function opModMemByte97(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEDX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte98(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem98: function opModMemByte98(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte99(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem99: function opModMemByte99(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte9A(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem9A: function opModMemByte9A(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByte9B(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem9B: function opModMemByte9B(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByte9C(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem9C: function opModMemByte9C(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte9D(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem9D: function opModMemByte9D(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte9E(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem9E: function opModMemByte9E(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByte9F(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem9F: function opModMemByte9F(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEBX & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteA0(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA0: function opModMemByteA0(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByteA1(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA1: function opModMemByteA1(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByteA2(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA2: function opModMemByteA2(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByteA3(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA3: function opModMemByteA3(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByteA4(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA4: function opModMemByteA4(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteA5(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA5: function opModMemByteA5(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteA6(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA6: function opModMemByteA6(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteA7(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA7: function opModMemByteA7(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), (this.regEAX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteA8(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA8: function opModMemByteA8(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByteA9(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA9: function opModMemByteA9(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByteAA(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemAA: function opModMemByteAA(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByteAB(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemAB: function opModMemByteAB(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByteAC(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemAC: function opModMemByteAC(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteAD(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemAD: function opModMemByteAD(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteAE(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemAE: function opModMemByteAE(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteAF(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemAF: function opModMemByteAF(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), (this.regECX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteB0(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB0: function opModMemByteB0(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByteB1(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB1: function opModMemByteB1(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByteB2(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB2: function opModMemByteB2(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByteB3(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB3: function opModMemByteB3(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByteB4(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB4: function opModMemByteB4(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteB5(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB5: function opModMemByteB5(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteB6(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB6: function opModMemByteB6(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteB7(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB7: function opModMemByteB7(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), (this.regEDX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteB8(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB8: function opModMemByteB8(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByteB9(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB9: function opModMemByteB9(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByteBA(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemBA: function opModMemByteBA(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemByteBB(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemBB: function opModMemByteBB(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemByteBC(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemBC: function opModMemByteBC(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteBD(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemBD: function opModMemByteBD(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteBE(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemBE: function opModMemByteBE(fn) { + var b = fn.call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemByteBF(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemBF: function opModMemByteBF(fn) { + var b = fn.call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), (this.regEBX >> 8) & 0xff); + if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte00(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg00: function opModRegByte00(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte01(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg01: function opModRegByte01(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte02(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg02: function opModRegByte02(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte03(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg03: function opModRegByte03(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte04(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg04: function opModRegByte04(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte05(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg05: function opModRegByte05(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte06(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg06: function opModRegByte06(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegByte07(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg07: function opModRegByte07(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte08(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg08: function opModRegByte08(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte09(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg09: function opModRegByte09(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte0A(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg0A: function opModRegByte0A(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte0B(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg0B: function opModRegByte0B(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte0C(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg0C: function opModRegByte0C(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte0D(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg0D: function opModRegByte0D(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte0E(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg0E: function opModRegByte0E(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegByte0F(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg0F: function opModRegByte0F(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte10(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg10: function opModRegByte10(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte11(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg11: function opModRegByte11(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte12(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg12: function opModRegByte12(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte13(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg13: function opModRegByte13(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte14(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg14: function opModRegByte14(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte15(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg15: function opModRegByte15(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte16(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg16: function opModRegByte16(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegByte17(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg17: function opModRegByte17(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte18(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg18: function opModRegByte18(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte19(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg19: function opModRegByte19(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte1A(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg1A: function opModRegByte1A(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte1B(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg1B: function opModRegByte1B(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte1C(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg1C: function opModRegByte1C(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte1D(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg1D: function opModRegByte1D(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte1E(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg1E: function opModRegByte1E(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegByte1F(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg1F: function opModRegByte1F(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte20(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg20: function opModRegByte20(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte21(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg21: function opModRegByte21(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte22(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg22: function opModRegByte22(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte23(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg23: function opModRegByte23(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte24(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg24: function opModRegByte24(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte25(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg25: function opModRegByte25(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte26(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg26: function opModRegByte26(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegByte27(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg27: function opModRegByte27(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte28(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg28: function opModRegByte28(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte29(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg29: function opModRegByte29(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte2A(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg2A: function opModRegByte2A(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte2B(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg2B: function opModRegByte2B(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte2C(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg2C: function opModRegByte2C(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte2D(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg2D: function opModRegByte2D(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte2E(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg2E: function opModRegByte2E(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegByte2F(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg2F: function opModRegByte2F(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte30(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg30: function opModRegByte30(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte31(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg31: function opModRegByte31(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte32(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg32: function opModRegByte32(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte33(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg33: function opModRegByte33(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte34(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg34: function opModRegByte34(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte35(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg35: function opModRegByte35(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte36(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg36: function opModRegByte36(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegByte37(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg37: function opModRegByte37(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte38(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg38: function opModRegByte38(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte39(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg39: function opModRegByte39(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte3A(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg3A: function opModRegByte3A(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegByte3B(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg3B: function opModRegByte3B(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegByte3C(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg3C: function opModRegByte3C(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regESI & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte3D(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg3D: function opModRegByte3D(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEDI & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte3E(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg3E: function opModRegByte3E(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, this.getIPWord())); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegByte3F(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg3F: function opModRegByte3F(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, (this.regEBX & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegByte40(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg40: function opModRegByte40(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte41(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg41: function opModRegByte41(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte42(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg42: function opModRegByte42(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte43(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg43: function opModRegByte43(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte44(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg44: function opModRegByte44(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte45(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg45: function opModRegByte45(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte46(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg46: function opModRegByte46(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte47(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg47: function opModRegByte47(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte48(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg48: function opModRegByte48(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte49(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg49: function opModRegByte49(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte4A(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg4A: function opModRegByte4A(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte4B(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg4B: function opModRegByte4B(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte4C(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg4C: function opModRegByte4C(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte4D(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg4D: function opModRegByte4D(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte4E(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg4E: function opModRegByte4E(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte4F(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg4F: function opModRegByte4F(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte50(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg50: function opModRegByte50(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte51(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg51: function opModRegByte51(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte52(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg52: function opModRegByte52(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte53(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg53: function opModRegByte53(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte54(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg54: function opModRegByte54(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte55(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg55: function opModRegByte55(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte56(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg56: function opModRegByte56(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte57(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg57: function opModRegByte57(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte58(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg58: function opModRegByte58(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte59(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg59: function opModRegByte59(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte5A(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg5A: function opModRegByte5A(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte5B(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg5B: function opModRegByte5B(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte5C(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg5C: function opModRegByte5C(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte5D(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg5D: function opModRegByte5D(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte5E(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg5E: function opModRegByte5E(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte5F(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg5F: function opModRegByte5F(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte60(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg60: function opModRegByte60(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte61(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg61: function opModRegByte61(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte62(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg62: function opModRegByte62(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte63(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg63: function opModRegByte63(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte64(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg64: function opModRegByte64(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte65(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg65: function opModRegByte65(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte66(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg66: function opModRegByte66(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte67(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg67: function opModRegByte67(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte68(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg68: function opModRegByte68(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte69(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg69: function opModRegByte69(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte6A(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg6A: function opModRegByte6A(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte6B(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg6B: function opModRegByte6B(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte6C(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg6C: function opModRegByte6C(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte6D(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg6D: function opModRegByte6D(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte6E(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg6E: function opModRegByte6E(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte6F(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg6F: function opModRegByte6F(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte70(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg70: function opModRegByte70(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte71(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg71: function opModRegByte71(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte72(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg72: function opModRegByte72(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte73(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg73: function opModRegByte73(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte74(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg74: function opModRegByte74(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte75(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg75: function opModRegByte75(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte76(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg76: function opModRegByte76(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte77(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg77: function opModRegByte77(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte78(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg78: function opModRegByte78(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte79(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg79: function opModRegByte79(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte7A(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg7A: function opModRegByte7A(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte7B(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg7B: function opModRegByte7B(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte7C(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg7C: function opModRegByte7C(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte7D(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg7D: function opModRegByte7D(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte7E(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg7E: function opModRegByte7E(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte7F(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg7F: function opModRegByte7F(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte80(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg80: function opModRegByte80(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte81(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg81: function opModRegByte81(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte82(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg82: function opModRegByte82(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte83(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg83: function opModRegByte83(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte84(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg84: function opModRegByte84(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte85(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg85: function opModRegByte85(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte86(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg86: function opModRegByte86(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte87(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg87: function opModRegByte87(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte88(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg88: function opModRegByte88(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte89(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg89: function opModRegByte89(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte8A(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg8A: function opModRegByte8A(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte8B(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg8B: function opModRegByte8B(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte8C(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg8C: function opModRegByte8C(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte8D(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg8D: function opModRegByte8D(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte8E(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg8E: function opModRegByte8E(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte8F(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg8F: function opModRegByte8F(fn) { + var b = fn.call(this, this.regECX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte90(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg90: function opModRegByte90(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte91(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg91: function opModRegByte91(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte92(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg92: function opModRegByte92(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte93(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg93: function opModRegByte93(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte94(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg94: function opModRegByte94(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte95(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg95: function opModRegByte95(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte96(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg96: function opModRegByte96(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte97(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg97: function opModRegByte97(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte98(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg98: function opModRegByte98(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte99(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg99: function opModRegByte99(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte9A(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg9A: function opModRegByte9A(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByte9B(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg9B: function opModRegByte9B(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByte9C(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg9C: function opModRegByte9C(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte9D(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg9D: function opModRegByte9D(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte9E(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg9E: function opModRegByte9E(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByte9F(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg9F: function opModRegByte9F(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteA0(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA0: function opModRegByteA0(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByteA1(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA1: function opModRegByteA1(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByteA2(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA2: function opModRegByteA2(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByteA3(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA3: function opModRegByteA3(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByteA4(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA4: function opModRegByteA4(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteA5(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA5: function opModRegByteA5(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteA6(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA6: function opModRegByteA6(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteA7(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA7: function opModRegByteA7(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteA8(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA8: function opModRegByteA8(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByteA9(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA9: function opModRegByteA9(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByteAA(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegAA: function opModRegByteAA(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByteAB(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegAB: function opModRegByteAB(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByteAC(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegAC: function opModRegByteAC(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteAD(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegAD: function opModRegByteAD(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteAE(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegAE: function opModRegByteAE(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteAF(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegAF: function opModRegByteAF(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteB0(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB0: function opModRegByteB0(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByteB1(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB1: function opModRegByteB1(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByteB2(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB2: function opModRegByteB2(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByteB3(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB3: function opModRegByteB3(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByteB4(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB4: function opModRegByteB4(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteB5(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB5: function opModRegByteB5(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteB6(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB6: function opModRegByteB6(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteB7(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB7: function opModRegByteB7(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteB8(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB8: function opModRegByteB8(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByteB9(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB9: function opModRegByteB9(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByteBA(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegBA: function opModRegByteBA(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegByteBB(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegBB: function opModRegByteBB(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegByteBC(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegBC: function opModRegByteBC(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteBD(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegBD: function opModRegByteBD(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteBE(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegBE: function opModRegByteBE(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteBF(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegBF: function opModRegByteBF(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.getEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegByteC0(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC0: function opModRegByteC0(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.regEAX & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + }, + /** + * opModRegByteC1(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC1: function opModRegByteC1(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.regECX & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiCL; + }, + /** + * opModRegByteC2(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC2: function opModRegByteC2(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.regEDX & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiDL; + }, + /** + * opModRegByteC3(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC3: function opModRegByteC3(fn) { + var b = fn.call(this, this.regEAX & 0xff, this.regEBX & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiBL; + }, + /** + * opModRegByteC4(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC4: function opModRegByteC4(fn) { + var b = fn.call(this, this.regEAX & 0xff, (this.regEAX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiAH; + }, + /** + * opModRegByteC5(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC5: function opModRegByteC5(fn) { + var b = fn.call(this, this.regEAX & 0xff, (this.regECX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiCH; + }, + /** + * opModRegByteC6(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC6: function opModRegByteC6(fn) { + var b = fn.call(this, this.regEAX & 0xff, (this.regEDX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiDH; + }, + /** + * opModRegByteC7(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC7: function opModRegByteC7(fn) { + var b = fn.call(this, this.regEAX & 0xff, (this.regEBX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiBH; + }, + /** + * opModRegByteC8(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC8: function opModRegByteC8(fn) { + var b = fn.call(this, this.regECX & 0xff, this.regEAX & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiAL; + }, + /** + * opModRegByteC9(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC9: function opModRegByteC9(fn) { + var b = fn.call(this, this.regECX & 0xff, this.regECX & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + }, + /** + * opModRegByteCA(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegCA: function opModRegByteCA(fn) { + var b = fn.call(this, this.regECX & 0xff, this.regEDX & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiDL; + }, + /** + * opModRegByteCB(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegCB: function opModRegByteCB(fn) { + var b = fn.call(this, this.regECX & 0xff, this.regEBX & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiBL; + }, + /** + * opModRegByteCC(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegCC: function opModRegByteCC(fn) { + var b = fn.call(this, this.regECX & 0xff, (this.regEAX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiAH; + }, + /** + * opModRegByteCD(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegCD: function opModRegByteCD(fn) { + var b = fn.call(this, this.regECX & 0xff, (this.regECX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiCH; + }, + /** + * opModRegByteCE(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegCE: function opModRegByteCE(fn) { + var b = fn.call(this, this.regECX & 0xff, (this.regEDX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiDH; + }, + /** + * opModRegByteCF(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegCF: function opModRegByteCF(fn) { + var b = fn.call(this, this.regECX & 0xff, (this.regEBX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiBH; + }, + /** + * opModRegByteD0(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD0: function opModRegByteD0(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.regEAX & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiAL; + }, + /** + * opModRegByteD1(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD1: function opModRegByteD1(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.regECX & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiCL; + }, + /** + * opModRegByteD2(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD2: function opModRegByteD2(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.regEDX & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + }, + /** + * opModRegByteD3(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD3: function opModRegByteD3(fn) { + var b = fn.call(this, this.regEDX & 0xff, this.regEBX & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiBL; + }, + /** + * opModRegByteD4(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD4: function opModRegByteD4(fn) { + var b = fn.call(this, this.regEDX & 0xff, (this.regEAX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiAH; + }, + /** + * opModRegByteD5(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD5: function opModRegByteD5(fn) { + var b = fn.call(this, this.regEDX & 0xff, (this.regECX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiCH; + }, + /** + * opModRegByteD6(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD6: function opModRegByteD6(fn) { + var b = fn.call(this, this.regEDX & 0xff, (this.regEDX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiDH; + }, + /** + * opModRegByteD7(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD7: function opModRegByteD7(fn) { + var b = fn.call(this, this.regEDX & 0xff, (this.regEBX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiBH; + }, + /** + * opModRegByteD8(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD8: function opModRegByteD8(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.regEAX & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiAL; + }, + /** + * opModRegByteD9(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD9: function opModRegByteD9(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.regECX & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiCL; + }, + /** + * opModRegByteDA(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegDA: function opModRegByteDA(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.regEDX & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiDL; + }, + /** + * opModRegByteDB(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegDB: function opModRegByteDB(fn) { + var b = fn.call(this, this.regEBX & 0xff, this.regEBX & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + }, + /** + * opModRegByteDC(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegDC: function opModRegByteDC(fn) { + var b = fn.call(this, this.regEBX & 0xff, (this.regEAX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiAH; + }, + /** + * opModRegByteDD(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegDD: function opModRegByteDD(fn) { + var b = fn.call(this, this.regEBX & 0xff, (this.regECX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiCH; + }, + /** + * opModRegByteDE(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegDE: function opModRegByteDE(fn) { + var b = fn.call(this, this.regEBX & 0xff, (this.regEDX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiDH; + }, + /** + * opModRegByteDF(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegDF: function opModRegByteDF(fn) { + var b = fn.call(this, this.regEBX & 0xff, (this.regEBX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiBH; + }, + /** + * opModRegByteE0(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE0: function opModRegByteE0(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.regEAX & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiAL; + }, + /** + * opModRegByteE1(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE1: function opModRegByteE1(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.regECX & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiCL; + }, + /** + * opModRegByteE2(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE2: function opModRegByteE2(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.regEDX & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiDL; + }, + /** + * opModRegByteE3(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE3: function opModRegByteE3(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, this.regEBX & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiBL; + }, + /** + * opModRegByteE4(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE4: function opModRegByteE4(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, (this.regEAX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + }, + /** + * opModRegByteE5(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE5: function opModRegByteE5(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, (this.regECX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiCH; + }, + /** + * opModRegByteE6(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE6: function opModRegByteE6(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, (this.regEDX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiDH; + }, + /** + * opModRegByteE7(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE7: function opModRegByteE7(fn) { + var b = fn.call(this, (this.regEAX >> 8) & 0xff, (this.regEBX >> 8) & 0xff); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiBH; + }, + /** + * opModRegByteE8(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE8: function opModRegByteE8(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.regEAX & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiAL; + }, + /** + * opModRegByteE9(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE9: function opModRegByteE9(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.regECX & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiCL; + }, + /** + * opModRegByteEA(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegEA: function opModRegByteEA(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.regEDX & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiDL; + }, + /** + * opModRegByteEB(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegEB: function opModRegByteEB(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, this.regEBX & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiBL; + }, + /** + * opModRegByteEC(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegEC: function opModRegByteEC(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, (this.regEAX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiAH; + }, + /** + * opModRegByteED(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegED: function opModRegByteED(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, (this.regECX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + }, + /** + * opModRegByteEE(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegEE: function opModRegByteEE(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, (this.regEDX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiDH; + }, + /** + * opModRegByteEF(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegEF: function opModRegByteEF(fn) { + var b = fn.call(this, (this.regECX >> 8) & 0xff, (this.regEBX >> 8) & 0xff); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiBH; + }, + /** + * opModRegByteF0(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF0: function opModRegByteF0(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.regEAX & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiAL; + }, + /** + * opModRegByteF1(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF1: function opModRegByteF1(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.regECX & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiCL; + }, + /** + * opModRegByteF2(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF2: function opModRegByteF2(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.regEDX & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiDL; + }, + /** + * opModRegByteF3(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF3: function opModRegByteF3(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, this.regEBX & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiBL; + }, + /** + * opModRegByteF4(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF4: function opModRegByteF4(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, (this.regEAX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiAH; + }, + /** + * opModRegByteF5(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF5: function opModRegByteF5(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, (this.regECX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiCH; + }, + /** + * opModRegByteF6(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF6: function opModRegByteF6(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, (this.regEDX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + }, + /** + * opModRegByteF7(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF7: function opModRegByteF7(fn) { + var b = fn.call(this, (this.regEDX >> 8) & 0xff, (this.regEBX >> 8) & 0xff); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiBH; + }, + /** + * opModRegByteF8(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=000 (AL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF8: function opModRegByteF8(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.regEAX & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiAL; + }, + /** + * opModRegByteF9(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=001 (CL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF9: function opModRegByteF9(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.regECX & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiCL; + }, + /** + * opModRegByteFA(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=010 (DL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegFA: function opModRegByteFA(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.regEDX & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiDL; + }, + /** + * opModRegByteFB(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=011 (BL) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegFB: function opModRegByteFB(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, this.regEBX & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiBL; + }, + /** + * opModRegByteFC(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=100 (AH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegFC: function opModRegByteFC(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, (this.regEAX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiAH; + }, + /** + * opModRegByteFD(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=101 (CH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegFD: function opModRegByteFD(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, (this.regECX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiCH; + }, + /** + * opModRegByteFE(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=110 (DH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegFE: function opModRegByteFE(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, (this.regEDX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiDH; + }, + /** + * opModRegByteFF(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=111 (BH) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegFF: function opModRegByteFF(fn) { + var b = fn.call(this, (this.regEBX >> 8) & 0xff, (this.regEBX >> 8) & 0xff); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + }, + /** + * opModGrpByte00(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp00: function opModGrpByte00(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte01(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp01: function opModGrpByte01(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte02(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp02: function opModGrpByte02(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte03(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp03: function opModGrpByte03(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte04(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp04: function opModGrpByte04(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte05(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp05: function opModGrpByte05(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte06(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp06: function opModGrpByte06(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpByte07(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp07: function opModGrpByte07(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte08(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp08: function opModGrpByte08(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte09(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp09: function opModGrpByte09(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte0A(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp0A: function opModGrpByte0A(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte0B(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp0B: function opModGrpByte0B(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte0C(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp0C: function opModGrpByte0C(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte0D(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp0D: function opModGrpByte0D(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte0E(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp0E: function opModGrpByte0E(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpByte0F(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp0F: function opModGrpByte0F(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte10(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp10: function opModGrpByte10(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte11(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp11: function opModGrpByte11(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte12(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp12: function opModGrpByte12(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte13(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp13: function opModGrpByte13(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte14(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp14: function opModGrpByte14(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte15(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp15: function opModGrpByte15(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte16(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp16: function opModGrpByte16(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpByte17(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp17: function opModGrpByte17(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte18(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp18: function opModGrpByte18(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte19(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp19: function opModGrpByte19(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte1A(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp1A: function opModGrpByte1A(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte1B(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp1B: function opModGrpByte1B(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte1C(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp1C: function opModGrpByte1C(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte1D(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp1D: function opModGrpByte1D(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte1E(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp1E: function opModGrpByte1E(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpByte1F(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp1F: function opModGrpByte1F(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte20(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp20: function opModGrpByte20(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte21(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp21: function opModGrpByte21(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte22(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp22: function opModGrpByte22(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte23(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp23: function opModGrpByte23(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte24(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp24: function opModGrpByte24(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte25(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp25: function opModGrpByte25(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte26(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp26: function opModGrpByte26(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpByte27(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp27: function opModGrpByte27(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte28(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp28: function opModGrpByte28(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte29(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp29: function opModGrpByte29(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte2A(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp2A: function opModGrpByte2A(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte2B(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp2B: function opModGrpByte2B(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte2C(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp2C: function opModGrpByte2C(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte2D(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp2D: function opModGrpByte2D(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte2E(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp2E: function opModGrpByte2E(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpByte2F(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp2F: function opModGrpByte2F(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte30(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp30: function opModGrpByte30(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte31(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp31: function opModGrpByte31(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte32(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp32: function opModGrpByte32(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte33(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp33: function opModGrpByte33(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte34(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp34: function opModGrpByte34(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte35(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp35: function opModGrpByte35(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte36(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp36: function opModGrpByte36(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpByte37(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp37: function opModGrpByte37(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte38(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp38: function opModGrpByte38(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte39(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp39: function opModGrpByte39(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte3A(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp3A: function opModGrpByte3A(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpByte3B(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp3B: function opModGrpByte3B(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpByte3C(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp3C: function opModGrpByte3C(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte3D(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp3D: function opModGrpByte3D(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte3E(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp3E: function opModGrpByte3E(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpByte3F(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp3F: function opModGrpByte3F(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpByte40(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp40: function opModGrpByte40(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte41(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp41: function opModGrpByte41(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte42(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp42: function opModGrpByte42(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte43(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp43: function opModGrpByte43(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte44(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp44: function opModGrpByte44(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte45(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp45: function opModGrpByte45(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte46(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp46: function opModGrpByte46(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte47(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp47: function opModGrpByte47(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte48(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp48: function opModGrpByte48(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte49(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp49: function opModGrpByte49(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte4A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp4A: function opModGrpByte4A(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte4B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp4B: function opModGrpByte4B(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte4C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp4C: function opModGrpByte4C(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte4D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp4D: function opModGrpByte4D(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte4E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp4E: function opModGrpByte4E(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte4F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp4F: function opModGrpByte4F(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte50(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp50: function opModGrpByte50(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte51(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp51: function opModGrpByte51(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte52(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp52: function opModGrpByte52(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte53(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp53: function opModGrpByte53(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte54(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp54: function opModGrpByte54(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte55(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp55: function opModGrpByte55(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte56(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp56: function opModGrpByte56(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte57(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp57: function opModGrpByte57(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte58(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp58: function opModGrpByte58(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte59(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp59: function opModGrpByte59(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte5A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp5A: function opModGrpByte5A(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte5B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp5B: function opModGrpByte5B(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte5C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp5C: function opModGrpByte5C(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte5D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp5D: function opModGrpByte5D(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte5E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp5E: function opModGrpByte5E(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte5F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp5F: function opModGrpByte5F(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte60(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp60: function opModGrpByte60(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte61(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp61: function opModGrpByte61(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte62(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp62: function opModGrpByte62(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte63(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp63: function opModGrpByte63(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte64(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp64: function opModGrpByte64(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte65(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp65: function opModGrpByte65(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte66(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp66: function opModGrpByte66(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte67(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp67: function opModGrpByte67(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte68(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp68: function opModGrpByte68(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte69(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp69: function opModGrpByte69(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte6A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp6A: function opModGrpByte6A(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte6B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp6B: function opModGrpByte6B(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte6C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp6C: function opModGrpByte6C(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte6D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp6D: function opModGrpByte6D(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte6E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp6E: function opModGrpByte6E(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte6F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp6F: function opModGrpByte6F(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte70(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp70: function opModGrpByte70(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte71(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp71: function opModGrpByte71(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte72(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp72: function opModGrpByte72(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte73(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp73: function opModGrpByte73(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte74(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp74: function opModGrpByte74(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte75(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp75: function opModGrpByte75(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte76(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp76: function opModGrpByte76(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte77(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp77: function opModGrpByte77(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte78(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp78: function opModGrpByte78(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte79(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp79: function opModGrpByte79(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte7A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp7A: function opModGrpByte7A(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte7B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp7B: function opModGrpByte7B(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte7C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp7C: function opModGrpByte7C(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte7D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp7D: function opModGrpByte7D(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte7E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp7E: function opModGrpByte7E(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte7F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp7F: function opModGrpByte7F(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte80(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp80: function opModGrpByte80(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte81(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp81: function opModGrpByte81(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte82(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp82: function opModGrpByte82(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte83(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp83: function opModGrpByte83(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte84(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp84: function opModGrpByte84(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte85(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp85: function opModGrpByte85(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte86(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp86: function opModGrpByte86(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte87(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp87: function opModGrpByte87(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte88(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp88: function opModGrpByte88(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte89(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp89: function opModGrpByte89(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte8A(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp8A: function opModGrpByte8A(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte8B(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp8B: function opModGrpByte8B(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte8C(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp8C: function opModGrpByte8C(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte8D(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp8D: function opModGrpByte8D(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte8E(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp8E: function opModGrpByte8E(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte8F(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp8F: function opModGrpByte8F(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte90(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp90: function opModGrpByte90(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte91(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp91: function opModGrpByte91(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte92(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp92: function opModGrpByte92(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte93(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp93: function opModGrpByte93(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte94(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp94: function opModGrpByte94(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte95(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp95: function opModGrpByte95(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte96(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp96: function opModGrpByte96(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte97(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp97: function opModGrpByte97(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte98(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp98: function opModGrpByte98(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte99(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp99: function opModGrpByte99(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte9A(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp9A: function opModGrpByte9A(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByte9B(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp9B: function opModGrpByte9B(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByte9C(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp9C: function opModGrpByte9C(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte9D(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp9D: function opModGrpByte9D(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte9E(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp9E: function opModGrpByte9E(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByte9F(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp9F: function opModGrpByte9F(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteA0(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA0: function opModGrpByteA0(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByteA1(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA1: function opModGrpByteA1(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByteA2(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA2: function opModGrpByteA2(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByteA3(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA3: function opModGrpByteA3(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByteA4(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA4: function opModGrpByteA4(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteA5(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA5: function opModGrpByteA5(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteA6(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA6: function opModGrpByteA6(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteA7(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA7: function opModGrpByteA7(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteA8(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA8: function opModGrpByteA8(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByteA9(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA9: function opModGrpByteA9(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByteAA(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpAA: function opModGrpByteAA(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByteAB(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpAB: function opModGrpByteAB(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByteAC(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpAC: function opModGrpByteAC(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteAD(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpAD: function opModGrpByteAD(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteAE(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpAE: function opModGrpByteAE(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteAF(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpAF: function opModGrpByteAF(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteB0(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB0: function opModGrpByteB0(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByteB1(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB1: function opModGrpByteB1(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByteB2(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB2: function opModGrpByteB2(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByteB3(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB3: function opModGrpByteB3(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByteB4(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB4: function opModGrpByteB4(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteB5(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB5: function opModGrpByteB5(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteB6(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB6: function opModGrpByteB6(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteB7(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB7: function opModGrpByteB7(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteB8(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB8: function opModGrpByteB8(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByteB9(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB9: function opModGrpByteB9(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByteBA(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpBA: function opModGrpByteBA(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpByteBB(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpBB: function opModGrpByteBB(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpByteBC(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpBC: function opModGrpByteBC(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteBD(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpBD: function opModGrpByteBD(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteBE(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpBE: function opModGrpByteBE(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteBF(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpBF: function opModGrpByteBF(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAByte(b); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpByteC0(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC0: function opModGrpByteC0(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteC1(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC1: function opModGrpByteC1(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteC2(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC2: function opModGrpByteC2(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteC3(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC3: function opModGrpByteC3(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteC4(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC4: function opModGrpByteC4(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteC5(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC5: function opModGrpByteC5(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteC6(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC6: function opModGrpByteC6(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteC7(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC7: function opModGrpByteC7(afnGrp, fnSrc) { + var b = afnGrp[0].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteC8(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC8: function opModGrpByteC8(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteC9(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC9: function opModGrpByteC9(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteCA(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpCA: function opModGrpByteCA(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteCB(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpCB: function opModGrpByteCB(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteCC(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpCC: function opModGrpByteCC(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteCD(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpCD: function opModGrpByteCD(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteCE(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpCE: function opModGrpByteCE(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteCF(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpCF: function opModGrpByteCF(afnGrp, fnSrc) { + var b = afnGrp[1].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteD0(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD0: function opModGrpByteD0(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteD1(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD1: function opModGrpByteD1(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteD2(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD2: function opModGrpByteD2(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteD3(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD3: function opModGrpByteD3(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteD4(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD4: function opModGrpByteD4(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteD5(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD5: function opModGrpByteD5(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteD6(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD6: function opModGrpByteD6(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteD7(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD7: function opModGrpByteD7(afnGrp, fnSrc) { + var b = afnGrp[2].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteD8(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD8: function opModGrpByteD8(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteD9(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD9: function opModGrpByteD9(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteDA(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpDA: function opModGrpByteDA(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteDB(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpDB: function opModGrpByteDB(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteDC(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpDC: function opModGrpByteDC(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteDD(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpDD: function opModGrpByteDD(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteDE(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpDE: function opModGrpByteDE(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteDF(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpDF: function opModGrpByteDF(afnGrp, fnSrc) { + var b = afnGrp[3].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteE0(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE0: function opModGrpByteE0(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteE1(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE1: function opModGrpByteE1(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteE2(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE2: function opModGrpByteE2(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteE3(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE3: function opModGrpByteE3(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteE4(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE4: function opModGrpByteE4(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteE5(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE5: function opModGrpByteE5(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteE6(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE6: function opModGrpByteE6(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteE7(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE7: function opModGrpByteE7(afnGrp, fnSrc) { + var b = afnGrp[4].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteE8(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE8: function opModGrpByteE8(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteE9(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE9: function opModGrpByteE9(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteEA(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpEA: function opModGrpByteEA(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteEB(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpEB: function opModGrpByteEB(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteEC(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpEC: function opModGrpByteEC(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteED(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpED: function opModGrpByteED(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteEE(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpEE: function opModGrpByteEE(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteEF(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpEF: function opModGrpByteEF(afnGrp, fnSrc) { + var b = afnGrp[5].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteF0(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF0: function opModGrpByteF0(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteF1(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF1: function opModGrpByteF1(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteF2(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF2: function opModGrpByteF2(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteF3(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF3: function opModGrpByteF3(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteF4(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF4: function opModGrpByteF4(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteF5(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF5: function opModGrpByteF5(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteF6(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF6: function opModGrpByteF6(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteF7(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF7: function opModGrpByteF7(afnGrp, fnSrc) { + var b = afnGrp[6].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteF8(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=000 (AL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF8: function opModGrpByteF8(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.regEAX & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteF9(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=001 (CL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF9: function opModGrpByteF9(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.regECX & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteFA(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=010 (DL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpFA: function opModGrpByteFA(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.regEDX & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteFB(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=011 (BL) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpFB: function opModGrpByteFB(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, this.regEBX & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff) | b; + if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; + }, + /** + * opModGrpByteFC(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=100 (AH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpFC: function opModGrpByteFC(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, (this.regEAX >> 8) & 0xff, fnSrc.call(this)); + this.regEAX = (this.regEAX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteFD(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=101 (CH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpFD: function opModGrpByteFD(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, (this.regECX >> 8) & 0xff, fnSrc.call(this)); + this.regECX = (this.regECX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteFE(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=110 (DH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpFE: function opModGrpByteFE(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, (this.regEDX >> 8) & 0xff, fnSrc.call(this)); + this.regEDX = (this.regEDX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; + }, + /** + * opModGrpByteFF(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=111 (BH) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpFF: function opModGrpByteFF(afnGrp, fnSrc) { + var b = afnGrp[7].call(this, (this.regEBX >> 8) & 0xff, fnSrc.call(this)); + this.regEBX = (this.regEBX & ~0xff00) | (b << 8); + if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; + } +}; + +X86ModB.aOpModMem = [ + X86ModB.opModMem00, X86ModB.opModMem01, X86ModB.opModMem02, X86ModB.opModMem03, + X86ModB.opModMem04, X86ModB.opModMem05, X86ModB.opModMem06, X86ModB.opModMem07, + X86ModB.opModMem08, X86ModB.opModMem09, X86ModB.opModMem0A, X86ModB.opModMem0B, + X86ModB.opModMem0C, X86ModB.opModMem0D, X86ModB.opModMem0E, X86ModB.opModMem0F, + X86ModB.opModMem10, X86ModB.opModMem11, X86ModB.opModMem12, X86ModB.opModMem13, + X86ModB.opModMem14, X86ModB.opModMem15, X86ModB.opModMem16, X86ModB.opModMem17, + X86ModB.opModMem18, X86ModB.opModMem19, X86ModB.opModMem1A, X86ModB.opModMem1B, + X86ModB.opModMem1C, X86ModB.opModMem1D, X86ModB.opModMem1E, X86ModB.opModMem1F, + X86ModB.opModMem20, X86ModB.opModMem21, X86ModB.opModMem22, X86ModB.opModMem23, + X86ModB.opModMem24, X86ModB.opModMem25, X86ModB.opModMem26, X86ModB.opModMem27, + X86ModB.opModMem28, X86ModB.opModMem29, X86ModB.opModMem2A, X86ModB.opModMem2B, + X86ModB.opModMem2C, X86ModB.opModMem2D, X86ModB.opModMem2E, X86ModB.opModMem2F, + X86ModB.opModMem30, X86ModB.opModMem31, X86ModB.opModMem32, X86ModB.opModMem33, + X86ModB.opModMem34, X86ModB.opModMem35, X86ModB.opModMem36, X86ModB.opModMem37, + X86ModB.opModMem38, X86ModB.opModMem39, X86ModB.opModMem3A, X86ModB.opModMem3B, + X86ModB.opModMem3C, X86ModB.opModMem3D, X86ModB.opModMem3E, X86ModB.opModMem3F, + X86ModB.opModMem40, X86ModB.opModMem41, X86ModB.opModMem42, X86ModB.opModMem43, + X86ModB.opModMem44, X86ModB.opModMem45, X86ModB.opModMem46, X86ModB.opModMem47, + X86ModB.opModMem48, X86ModB.opModMem49, X86ModB.opModMem4A, X86ModB.opModMem4B, + X86ModB.opModMem4C, X86ModB.opModMem4D, X86ModB.opModMem4E, X86ModB.opModMem4F, + X86ModB.opModMem50, X86ModB.opModMem51, X86ModB.opModMem52, X86ModB.opModMem53, + X86ModB.opModMem54, X86ModB.opModMem55, X86ModB.opModMem56, X86ModB.opModMem57, + X86ModB.opModMem58, X86ModB.opModMem59, X86ModB.opModMem5A, X86ModB.opModMem5B, + X86ModB.opModMem5C, X86ModB.opModMem5D, X86ModB.opModMem5E, X86ModB.opModMem5F, + X86ModB.opModMem60, X86ModB.opModMem61, X86ModB.opModMem62, X86ModB.opModMem63, + X86ModB.opModMem64, X86ModB.opModMem65, X86ModB.opModMem66, X86ModB.opModMem67, + X86ModB.opModMem68, X86ModB.opModMem69, X86ModB.opModMem6A, X86ModB.opModMem6B, + X86ModB.opModMem6C, X86ModB.opModMem6D, X86ModB.opModMem6E, X86ModB.opModMem6F, + X86ModB.opModMem70, X86ModB.opModMem71, X86ModB.opModMem72, X86ModB.opModMem73, + X86ModB.opModMem74, X86ModB.opModMem75, X86ModB.opModMem76, X86ModB.opModMem77, + X86ModB.opModMem78, X86ModB.opModMem79, X86ModB.opModMem7A, X86ModB.opModMem7B, + X86ModB.opModMem7C, X86ModB.opModMem7D, X86ModB.opModMem7E, X86ModB.opModMem7F, + X86ModB.opModMem80, X86ModB.opModMem81, X86ModB.opModMem82, X86ModB.opModMem83, + X86ModB.opModMem84, X86ModB.opModMem85, X86ModB.opModMem86, X86ModB.opModMem87, + X86ModB.opModMem88, X86ModB.opModMem89, X86ModB.opModMem8A, X86ModB.opModMem8B, + X86ModB.opModMem8C, X86ModB.opModMem8D, X86ModB.opModMem8E, X86ModB.opModMem8F, + X86ModB.opModMem90, X86ModB.opModMem91, X86ModB.opModMem92, X86ModB.opModMem93, + X86ModB.opModMem94, X86ModB.opModMem95, X86ModB.opModMem96, X86ModB.opModMem97, + X86ModB.opModMem98, X86ModB.opModMem99, X86ModB.opModMem9A, X86ModB.opModMem9B, + X86ModB.opModMem9C, X86ModB.opModMem9D, X86ModB.opModMem9E, X86ModB.opModMem9F, + X86ModB.opModMemA0, X86ModB.opModMemA1, X86ModB.opModMemA2, X86ModB.opModMemA3, + X86ModB.opModMemA4, X86ModB.opModMemA5, X86ModB.opModMemA6, X86ModB.opModMemA7, + X86ModB.opModMemA8, X86ModB.opModMemA9, X86ModB.opModMemAA, X86ModB.opModMemAB, + X86ModB.opModMemAC, X86ModB.opModMemAD, X86ModB.opModMemAE, X86ModB.opModMemAF, + X86ModB.opModMemB0, X86ModB.opModMemB1, X86ModB.opModMemB2, X86ModB.opModMemB3, + X86ModB.opModMemB4, X86ModB.opModMemB5, X86ModB.opModMemB6, X86ModB.opModMemB7, + X86ModB.opModMemB8, X86ModB.opModMemB9, X86ModB.opModMemBA, X86ModB.opModMemBB, + X86ModB.opModMemBC, X86ModB.opModMemBD, X86ModB.opModMemBE, X86ModB.opModMemBF, + X86ModB.opModRegC0, X86ModB.opModRegC8, X86ModB.opModRegD0, X86ModB.opModRegD8, + X86ModB.opModRegE0, X86ModB.opModRegE8, X86ModB.opModRegF0, X86ModB.opModRegF8, + X86ModB.opModRegC1, X86ModB.opModRegC9, X86ModB.opModRegD1, X86ModB.opModRegD9, + X86ModB.opModRegE1, X86ModB.opModRegE9, X86ModB.opModRegF1, X86ModB.opModRegF9, + X86ModB.opModRegC2, X86ModB.opModRegCA, X86ModB.opModRegD2, X86ModB.opModRegDA, + X86ModB.opModRegE2, X86ModB.opModRegEA, X86ModB.opModRegF2, X86ModB.opModRegFA, + X86ModB.opModRegC3, X86ModB.opModRegCB, X86ModB.opModRegD3, X86ModB.opModRegDB, + X86ModB.opModRegE3, X86ModB.opModRegEB, X86ModB.opModRegF3, X86ModB.opModRegFB, + X86ModB.opModRegC4, X86ModB.opModRegCC, X86ModB.opModRegD4, X86ModB.opModRegDC, + X86ModB.opModRegE4, X86ModB.opModRegEC, X86ModB.opModRegF4, X86ModB.opModRegFC, + X86ModB.opModRegC5, X86ModB.opModRegCD, X86ModB.opModRegD5, X86ModB.opModRegDD, + X86ModB.opModRegE5, X86ModB.opModRegED, X86ModB.opModRegF5, X86ModB.opModRegFD, + X86ModB.opModRegC6, X86ModB.opModRegCE, X86ModB.opModRegD6, X86ModB.opModRegDE, + X86ModB.opModRegE6, X86ModB.opModRegEE, X86ModB.opModRegF6, X86ModB.opModRegFE, + X86ModB.opModRegC7, X86ModB.opModRegCF, X86ModB.opModRegD7, X86ModB.opModRegDF, + X86ModB.opModRegE7, X86ModB.opModRegEF, X86ModB.opModRegF7, X86ModB.opModRegFF +]; + +X86ModB.aOpModReg = [ + X86ModB.opModReg00, X86ModB.opModReg01, X86ModB.opModReg02, X86ModB.opModReg03, + X86ModB.opModReg04, X86ModB.opModReg05, X86ModB.opModReg06, X86ModB.opModReg07, + X86ModB.opModReg08, X86ModB.opModReg09, X86ModB.opModReg0A, X86ModB.opModReg0B, + X86ModB.opModReg0C, X86ModB.opModReg0D, X86ModB.opModReg0E, X86ModB.opModReg0F, + X86ModB.opModReg10, X86ModB.opModReg11, X86ModB.opModReg12, X86ModB.opModReg13, + X86ModB.opModReg14, X86ModB.opModReg15, X86ModB.opModReg16, X86ModB.opModReg17, + X86ModB.opModReg18, X86ModB.opModReg19, X86ModB.opModReg1A, X86ModB.opModReg1B, + X86ModB.opModReg1C, X86ModB.opModReg1D, X86ModB.opModReg1E, X86ModB.opModReg1F, + X86ModB.opModReg20, X86ModB.opModReg21, X86ModB.opModReg22, X86ModB.opModReg23, + X86ModB.opModReg24, X86ModB.opModReg25, X86ModB.opModReg26, X86ModB.opModReg27, + X86ModB.opModReg28, X86ModB.opModReg29, X86ModB.opModReg2A, X86ModB.opModReg2B, + X86ModB.opModReg2C, X86ModB.opModReg2D, X86ModB.opModReg2E, X86ModB.opModReg2F, + X86ModB.opModReg30, X86ModB.opModReg31, X86ModB.opModReg32, X86ModB.opModReg33, + X86ModB.opModReg34, X86ModB.opModReg35, X86ModB.opModReg36, X86ModB.opModReg37, + X86ModB.opModReg38, X86ModB.opModReg39, X86ModB.opModReg3A, X86ModB.opModReg3B, + X86ModB.opModReg3C, X86ModB.opModReg3D, X86ModB.opModReg3E, X86ModB.opModReg3F, + X86ModB.opModReg40, X86ModB.opModReg41, X86ModB.opModReg42, X86ModB.opModReg43, + X86ModB.opModReg44, X86ModB.opModReg45, X86ModB.opModReg46, X86ModB.opModReg47, + X86ModB.opModReg48, X86ModB.opModReg49, X86ModB.opModReg4A, X86ModB.opModReg4B, + X86ModB.opModReg4C, X86ModB.opModReg4D, X86ModB.opModReg4E, X86ModB.opModReg4F, + X86ModB.opModReg50, X86ModB.opModReg51, X86ModB.opModReg52, X86ModB.opModReg53, + X86ModB.opModReg54, X86ModB.opModReg55, X86ModB.opModReg56, X86ModB.opModReg57, + X86ModB.opModReg58, X86ModB.opModReg59, X86ModB.opModReg5A, X86ModB.opModReg5B, + X86ModB.opModReg5C, X86ModB.opModReg5D, X86ModB.opModReg5E, X86ModB.opModReg5F, + X86ModB.opModReg60, X86ModB.opModReg61, X86ModB.opModReg62, X86ModB.opModReg63, + X86ModB.opModReg64, X86ModB.opModReg65, X86ModB.opModReg66, X86ModB.opModReg67, + X86ModB.opModReg68, X86ModB.opModReg69, X86ModB.opModReg6A, X86ModB.opModReg6B, + X86ModB.opModReg6C, X86ModB.opModReg6D, X86ModB.opModReg6E, X86ModB.opModReg6F, + X86ModB.opModReg70, X86ModB.opModReg71, X86ModB.opModReg72, X86ModB.opModReg73, + X86ModB.opModReg74, X86ModB.opModReg75, X86ModB.opModReg76, X86ModB.opModReg77, + X86ModB.opModReg78, X86ModB.opModReg79, X86ModB.opModReg7A, X86ModB.opModReg7B, + X86ModB.opModReg7C, X86ModB.opModReg7D, X86ModB.opModReg7E, X86ModB.opModReg7F, + X86ModB.opModReg80, X86ModB.opModReg81, X86ModB.opModReg82, X86ModB.opModReg83, + X86ModB.opModReg84, X86ModB.opModReg85, X86ModB.opModReg86, X86ModB.opModReg87, + X86ModB.opModReg88, X86ModB.opModReg89, X86ModB.opModReg8A, X86ModB.opModReg8B, + X86ModB.opModReg8C, X86ModB.opModReg8D, X86ModB.opModReg8E, X86ModB.opModReg8F, + X86ModB.opModReg90, X86ModB.opModReg91, X86ModB.opModReg92, X86ModB.opModReg93, + X86ModB.opModReg94, X86ModB.opModReg95, X86ModB.opModReg96, X86ModB.opModReg97, + X86ModB.opModReg98, X86ModB.opModReg99, X86ModB.opModReg9A, X86ModB.opModReg9B, + X86ModB.opModReg9C, X86ModB.opModReg9D, X86ModB.opModReg9E, X86ModB.opModReg9F, + X86ModB.opModRegA0, X86ModB.opModRegA1, X86ModB.opModRegA2, X86ModB.opModRegA3, + X86ModB.opModRegA4, X86ModB.opModRegA5, X86ModB.opModRegA6, X86ModB.opModRegA7, + X86ModB.opModRegA8, X86ModB.opModRegA9, X86ModB.opModRegAA, X86ModB.opModRegAB, + X86ModB.opModRegAC, X86ModB.opModRegAD, X86ModB.opModRegAE, X86ModB.opModRegAF, + X86ModB.opModRegB0, X86ModB.opModRegB1, X86ModB.opModRegB2, X86ModB.opModRegB3, + X86ModB.opModRegB4, X86ModB.opModRegB5, X86ModB.opModRegB6, X86ModB.opModRegB7, + X86ModB.opModRegB8, X86ModB.opModRegB9, X86ModB.opModRegBA, X86ModB.opModRegBB, + X86ModB.opModRegBC, X86ModB.opModRegBD, X86ModB.opModRegBE, X86ModB.opModRegBF, + X86ModB.opModRegC0, X86ModB.opModRegC1, X86ModB.opModRegC2, X86ModB.opModRegC3, + X86ModB.opModRegC4, X86ModB.opModRegC5, X86ModB.opModRegC6, X86ModB.opModRegC7, + X86ModB.opModRegC8, X86ModB.opModRegC9, X86ModB.opModRegCA, X86ModB.opModRegCB, + X86ModB.opModRegCC, X86ModB.opModRegCD, X86ModB.opModRegCE, X86ModB.opModRegCF, + X86ModB.opModRegD0, X86ModB.opModRegD1, X86ModB.opModRegD2, X86ModB.opModRegD3, + X86ModB.opModRegD4, X86ModB.opModRegD5, X86ModB.opModRegD6, X86ModB.opModRegD7, + X86ModB.opModRegD8, X86ModB.opModRegD9, X86ModB.opModRegDA, X86ModB.opModRegDB, + X86ModB.opModRegDC, X86ModB.opModRegDD, X86ModB.opModRegDE, X86ModB.opModRegDF, + X86ModB.opModRegE0, X86ModB.opModRegE1, X86ModB.opModRegE2, X86ModB.opModRegE3, + X86ModB.opModRegE4, X86ModB.opModRegE5, X86ModB.opModRegE6, X86ModB.opModRegE7, + X86ModB.opModRegE8, X86ModB.opModRegE9, X86ModB.opModRegEA, X86ModB.opModRegEB, + X86ModB.opModRegEC, X86ModB.opModRegED, X86ModB.opModRegEE, X86ModB.opModRegEF, + X86ModB.opModRegF0, X86ModB.opModRegF1, X86ModB.opModRegF2, X86ModB.opModRegF3, + X86ModB.opModRegF4, X86ModB.opModRegF5, X86ModB.opModRegF6, X86ModB.opModRegF7, + X86ModB.opModRegF8, X86ModB.opModRegF9, X86ModB.opModRegFA, X86ModB.opModRegFB, + X86ModB.opModRegFC, X86ModB.opModRegFD, X86ModB.opModRegFE, X86ModB.opModRegFF +]; + +X86ModB.aOpModGrp = [ + X86ModB.opModGrp00, X86ModB.opModGrp01, X86ModB.opModGrp02, X86ModB.opModGrp03, + X86ModB.opModGrp04, X86ModB.opModGrp05, X86ModB.opModGrp06, X86ModB.opModGrp07, + X86ModB.opModGrp08, X86ModB.opModGrp09, X86ModB.opModGrp0A, X86ModB.opModGrp0B, + X86ModB.opModGrp0C, X86ModB.opModGrp0D, X86ModB.opModGrp0E, X86ModB.opModGrp0F, + X86ModB.opModGrp10, X86ModB.opModGrp11, X86ModB.opModGrp12, X86ModB.opModGrp13, + X86ModB.opModGrp14, X86ModB.opModGrp15, X86ModB.opModGrp16, X86ModB.opModGrp17, + X86ModB.opModGrp18, X86ModB.opModGrp19, X86ModB.opModGrp1A, X86ModB.opModGrp1B, + X86ModB.opModGrp1C, X86ModB.opModGrp1D, X86ModB.opModGrp1E, X86ModB.opModGrp1F, + X86ModB.opModGrp20, X86ModB.opModGrp21, X86ModB.opModGrp22, X86ModB.opModGrp23, + X86ModB.opModGrp24, X86ModB.opModGrp25, X86ModB.opModGrp26, X86ModB.opModGrp27, + X86ModB.opModGrp28, X86ModB.opModGrp29, X86ModB.opModGrp2A, X86ModB.opModGrp2B, + X86ModB.opModGrp2C, X86ModB.opModGrp2D, X86ModB.opModGrp2E, X86ModB.opModGrp2F, + X86ModB.opModGrp30, X86ModB.opModGrp31, X86ModB.opModGrp32, X86ModB.opModGrp33, + X86ModB.opModGrp34, X86ModB.opModGrp35, X86ModB.opModGrp36, X86ModB.opModGrp37, + X86ModB.opModGrp38, X86ModB.opModGrp39, X86ModB.opModGrp3A, X86ModB.opModGrp3B, + X86ModB.opModGrp3C, X86ModB.opModGrp3D, X86ModB.opModGrp3E, X86ModB.opModGrp3F, + X86ModB.opModGrp40, X86ModB.opModGrp41, X86ModB.opModGrp42, X86ModB.opModGrp43, + X86ModB.opModGrp44, X86ModB.opModGrp45, X86ModB.opModGrp46, X86ModB.opModGrp47, + X86ModB.opModGrp48, X86ModB.opModGrp49, X86ModB.opModGrp4A, X86ModB.opModGrp4B, + X86ModB.opModGrp4C, X86ModB.opModGrp4D, X86ModB.opModGrp4E, X86ModB.opModGrp4F, + X86ModB.opModGrp50, X86ModB.opModGrp51, X86ModB.opModGrp52, X86ModB.opModGrp53, + X86ModB.opModGrp54, X86ModB.opModGrp55, X86ModB.opModGrp56, X86ModB.opModGrp57, + X86ModB.opModGrp58, X86ModB.opModGrp59, X86ModB.opModGrp5A, X86ModB.opModGrp5B, + X86ModB.opModGrp5C, X86ModB.opModGrp5D, X86ModB.opModGrp5E, X86ModB.opModGrp5F, + X86ModB.opModGrp60, X86ModB.opModGrp61, X86ModB.opModGrp62, X86ModB.opModGrp63, + X86ModB.opModGrp64, X86ModB.opModGrp65, X86ModB.opModGrp66, X86ModB.opModGrp67, + X86ModB.opModGrp68, X86ModB.opModGrp69, X86ModB.opModGrp6A, X86ModB.opModGrp6B, + X86ModB.opModGrp6C, X86ModB.opModGrp6D, X86ModB.opModGrp6E, X86ModB.opModGrp6F, + X86ModB.opModGrp70, X86ModB.opModGrp71, X86ModB.opModGrp72, X86ModB.opModGrp73, + X86ModB.opModGrp74, X86ModB.opModGrp75, X86ModB.opModGrp76, X86ModB.opModGrp77, + X86ModB.opModGrp78, X86ModB.opModGrp79, X86ModB.opModGrp7A, X86ModB.opModGrp7B, + X86ModB.opModGrp7C, X86ModB.opModGrp7D, X86ModB.opModGrp7E, X86ModB.opModGrp7F, + X86ModB.opModGrp80, X86ModB.opModGrp81, X86ModB.opModGrp82, X86ModB.opModGrp83, + X86ModB.opModGrp84, X86ModB.opModGrp85, X86ModB.opModGrp86, X86ModB.opModGrp87, + X86ModB.opModGrp88, X86ModB.opModGrp89, X86ModB.opModGrp8A, X86ModB.opModGrp8B, + X86ModB.opModGrp8C, X86ModB.opModGrp8D, X86ModB.opModGrp8E, X86ModB.opModGrp8F, + X86ModB.opModGrp90, X86ModB.opModGrp91, X86ModB.opModGrp92, X86ModB.opModGrp93, + X86ModB.opModGrp94, X86ModB.opModGrp95, X86ModB.opModGrp96, X86ModB.opModGrp97, + X86ModB.opModGrp98, X86ModB.opModGrp99, X86ModB.opModGrp9A, X86ModB.opModGrp9B, + X86ModB.opModGrp9C, X86ModB.opModGrp9D, X86ModB.opModGrp9E, X86ModB.opModGrp9F, + X86ModB.opModGrpA0, X86ModB.opModGrpA1, X86ModB.opModGrpA2, X86ModB.opModGrpA3, + X86ModB.opModGrpA4, X86ModB.opModGrpA5, X86ModB.opModGrpA6, X86ModB.opModGrpA7, + X86ModB.opModGrpA8, X86ModB.opModGrpA9, X86ModB.opModGrpAA, X86ModB.opModGrpAB, + X86ModB.opModGrpAC, X86ModB.opModGrpAD, X86ModB.opModGrpAE, X86ModB.opModGrpAF, + X86ModB.opModGrpB0, X86ModB.opModGrpB1, X86ModB.opModGrpB2, X86ModB.opModGrpB3, + X86ModB.opModGrpB4, X86ModB.opModGrpB5, X86ModB.opModGrpB6, X86ModB.opModGrpB7, + X86ModB.opModGrpB8, X86ModB.opModGrpB9, X86ModB.opModGrpBA, X86ModB.opModGrpBB, + X86ModB.opModGrpBC, X86ModB.opModGrpBD, X86ModB.opModGrpBE, X86ModB.opModGrpBF, + X86ModB.opModGrpC0, X86ModB.opModGrpC1, X86ModB.opModGrpC2, X86ModB.opModGrpC3, + X86ModB.opModGrpC4, X86ModB.opModGrpC5, X86ModB.opModGrpC6, X86ModB.opModGrpC7, + X86ModB.opModGrpC8, X86ModB.opModGrpC9, X86ModB.opModGrpCA, X86ModB.opModGrpCB, + X86ModB.opModGrpCC, X86ModB.opModGrpCD, X86ModB.opModGrpCE, X86ModB.opModGrpCF, + X86ModB.opModGrpD0, X86ModB.opModGrpD1, X86ModB.opModGrpD2, X86ModB.opModGrpD3, + X86ModB.opModGrpD4, X86ModB.opModGrpD5, X86ModB.opModGrpD6, X86ModB.opModGrpD7, + X86ModB.opModGrpD8, X86ModB.opModGrpD9, X86ModB.opModGrpDA, X86ModB.opModGrpDB, + X86ModB.opModGrpDC, X86ModB.opModGrpDD, X86ModB.opModGrpDE, X86ModB.opModGrpDF, + X86ModB.opModGrpE0, X86ModB.opModGrpE1, X86ModB.opModGrpE2, X86ModB.opModGrpE3, + X86ModB.opModGrpE4, X86ModB.opModGrpE5, X86ModB.opModGrpE6, X86ModB.opModGrpE7, + X86ModB.opModGrpE8, X86ModB.opModGrpE9, X86ModB.opModGrpEA, X86ModB.opModGrpEB, + X86ModB.opModGrpEC, X86ModB.opModGrpED, X86ModB.opModGrpEE, X86ModB.opModGrpEF, + X86ModB.opModGrpF0, X86ModB.opModGrpF1, X86ModB.opModGrpF2, X86ModB.opModGrpF3, + X86ModB.opModGrpF4, X86ModB.opModGrpF5, X86ModB.opModGrpF6, X86ModB.opModGrpF7, + X86ModB.opModGrpF8, X86ModB.opModGrpF9, X86ModB.opModGrpFA, X86ModB.opModGrpFB, + X86ModB.opModGrpFC, X86ModB.opModGrpFD, X86ModB.opModGrpFE, X86ModB.opModGrpFF +]; + +if (typeof module !== 'undefined') module.exports = X86ModB; diff --git a/modules/pcjs/lib/x86mods.js b/modules/pcjs/lib/x86mods.js deleted file mode 100644 index 6ad0588c9..000000000 --- a/modules/pcjs/lib/x86mods.js +++ /dev/null @@ -1,17791 +0,0 @@ -/** - * @fileoverview Implements PCjs 8086 mode-byte decoding. - * @author Jeff Parsons - * @version 1.0 - * Created 2012-Sep-05 - * - * Copyright © 2012-2015 Jeff Parsons - * - * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines) - * at and . - * - * PCjs is free software: you can redistribute it and/or modify it under the terms of the - * GNU General Public License as published by the Free Software Foundation, either version 3 - * of the License, or (at your option) any later version. - * - * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without - * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with PCjs. If not, - * see . - * - * You are required to include the above copyright notice in every source code file of every - * copy or modified version of this work, and to display that copyright notice on every screen - * that loads or runs any version of this software (see Computer.sCopyright). - * - * Some PCjs files also attempt to load external resource files, such as character-image files, - * ROM files, and disk image files. Those external resource files are not considered part of the - * PCjs program for purposes of the GNU General Public License, and the author does not claim - * any copyright as to their contents. - */ - -"use strict"; - -if (typeof module !== 'undefined') { - var X86 = require("./x86"); -} - -var X86Mods = { - /** - * opModMemByte00(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte00: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte01(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte01: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte02(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte02: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte03(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte03: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte04(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte04: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regSI), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte05(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte05: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regDI), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte06(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte06: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemByte07(fn): mod=00 (mem:dst) reg=000 (AL:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte07: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regBX), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte08(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte08: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte09(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte09: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte0A(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte0A: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte0B(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte0B: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte0C(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte0C: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regSI), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte0D(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte0D: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regDI), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte0E(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte0E: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemByte0F(fn): mod=00 (mem:dst) reg=001 (CL:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte0F: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regBX), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte10(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte10: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte11(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte11: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte12(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte12: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte13(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte13: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte14(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte14: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regSI), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte15(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte15: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regDI), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte16(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte16: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemByte17(fn): mod=00 (mem:dst) reg=010 (DL:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte17: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regBX), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte18(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte18: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte19(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte19: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte1A(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte1A: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte1B(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte1B: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte1C(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte1C: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regSI), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte1D(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte1D: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regDI), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte1E(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte1E: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemByte1F(fn): mod=00 (mem:dst) reg=011 (BL:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte1F: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regBX), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte20(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte20: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte21(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte21: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte22(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte22: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte23(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte23: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte24(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte24: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regSI), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte25(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte25: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regDI), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte26(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte26: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemByte27(fn): mod=00 (mem:dst) reg=100 (AH:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte27: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regBX), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte28(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte28: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte29(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte29: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte2A(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte2A: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte2B(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte2B: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte2C(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte2C: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regSI), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte2D(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte2D: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regDI), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte2E(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte2E: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemByte2F(fn): mod=00 (mem:dst) reg=101 (CH:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte2F: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regBX), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte30(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte30: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte31(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte31: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte32(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte32: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte33(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte33: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte34(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte34: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regSI), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte35(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte35: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regDI), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte36(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte36: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemByte37(fn): mod=00 (mem:dst) reg=110 (DH:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte37: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regBX), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte38(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte38: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte39(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte39: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte3A(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte3A: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemByte3B(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte3B: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemByte3C(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte3C: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regSI), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte3D(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte3D: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regDI), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte3E(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte3E: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.getIPWord()), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemByte3F(fn): mod=00 (mem:dst) reg=111 (BH:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte3F: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, this.regBX), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemByte40(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte40: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte41(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte41: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte42(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte42: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte43(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte43: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte44(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte44: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte45(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte45: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte46(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte46: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte47(fn): mod=01 (mem+d8:dst) reg=000 (AL:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte47: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte48(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte48: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte49(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte49: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte4A(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte4A: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte4B(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte4B: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte4C(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte4C: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte4D(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte4D: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte4E(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte4E: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte4F(fn): mod=01 (mem+d8:dst) reg=001 (CL:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte4F: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte50(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte50: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte51(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte51: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte52(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte52: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte53(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte53: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte54(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte54: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte55(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte55: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte56(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte56: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte57(fn): mod=01 (mem+d8:dst) reg=010 (DL:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte57: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte58(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte58: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte59(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte59: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte5A(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte5A: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte5B(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte5B: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte5C(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte5C: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte5D(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte5D: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte5E(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte5E: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte5F(fn): mod=01 (mem+d8:dst) reg=011 (BL:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte5F: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte60(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte60: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte61(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte61: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte62(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte62: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte63(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte63: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte64(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte64: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte65(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte65: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte66(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte66: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte67(fn): mod=01 (mem+d8:dst) reg=100 (AH:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte67: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte68(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte68: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte69(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte69: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte6A(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte6A: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte6B(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte6B: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte6C(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte6C: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte6D(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte6D: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte6E(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte6E: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte6F(fn): mod=01 (mem+d8:dst) reg=101 (CH:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte6F: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte70(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte70: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte71(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte71: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte72(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte72: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte73(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte73: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte74(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte74: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte75(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte75: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte76(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte76: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte77(fn): mod=01 (mem+d8:dst) reg=110 (DH:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte77: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte78(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte78: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte79(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte79: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte7A(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte7A: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte7B(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte7B: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte7C(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte7C: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte7D(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte7D: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte7E(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte7E: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte7F(fn): mod=01 (mem+d8:dst) reg=111 (BH:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte7F: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte80(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte80: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte81(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte81: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte82(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte82: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte83(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte83: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte84(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte84: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte85(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte85: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte86(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte86: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte87(fn): mod=10 (mem+d16:dst) reg=000 (AL:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte87: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regAX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte88(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte88: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte89(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte89: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte8A(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte8A: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte8B(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte8B: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte8C(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte8C: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte8D(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte8D: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte8E(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte8E: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte8F(fn): mod=10 (mem+d16:dst) reg=001 (CL:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte8F: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regCX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte90(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte90: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte91(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte91: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte92(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte92: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte93(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte93: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte94(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte94: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte95(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte95: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte96(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte96: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte97(fn): mod=10 (mem+d16:dst) reg=010 (DL:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte97: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regDX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte98(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte98: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte99(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte99: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte9A(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte9A: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByte9B(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte9B: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByte9C(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte9C: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte9D(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte9D: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte9E(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte9E: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByte9F(fn): mod=10 (mem+d16:dst) reg=011 (BL:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByte9F: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regBX & 0xff); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBL; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteA0(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteA0: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByteA1(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteA1: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByteA2(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteA2: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByteA3(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteA3: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByteA4(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteA4: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteA5(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteA5: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteA6(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteA6: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteA7(fn): mod=10 (mem+d16:dst) reg=100 (AH:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteA7: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regAX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiAH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteA8(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteA8: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByteA9(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteA9: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByteAA(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteAA: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByteAB(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteAB: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByteAC(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteAC: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteAD(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteAD: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteAE(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteAE: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteAF(fn): mod=10 (mem+d16:dst) reg=101 (CH:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteAF: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regCX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiCH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteB0(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteB0: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByteB1(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteB1: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByteB2(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteB2: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByteB3(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteB3: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByteB4(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteB4: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteB5(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteB5: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteB6(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteB6: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteB7(fn): mod=10 (mem+d16:dst) reg=110 (DH:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteB7: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regDX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiDH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteB8(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteB8: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByteB9(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteB9: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByteBA(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteBA: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemByteBB(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteBB: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemByteBC(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteBC: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteBD(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteBD: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteBE(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteBE: function(fn) { - var b = fn.call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemByteBF(fn): mod=10 (mem+d16:dst) reg=111 (BH:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemByteBF: function(fn) { - var b = fn.call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regBX >> 8); - if (BACKTRACK) this.backTrack.btiEALo = this.backTrack.btiBH; - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord00(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord00: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord01(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord01: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord02(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord02: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord03(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord03: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord04(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord04: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regSI), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord05(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord05: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regDI), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord06(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord06: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemWord07(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord07: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regBX), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord08(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord08: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord09(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord09: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord0A(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord0A: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord0B(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord0B: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord0C(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord0C: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regSI), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord0D(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord0D: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regDI), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord0E(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord0E: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemWord0F(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord0F: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regBX), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord10(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord10: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord11(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord11: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord12(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord12: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord13(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord13: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord14(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord14: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regSI), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord15(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord15: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regDI), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord16(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord16: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemWord17(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord17: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regBX), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord18(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord18: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord19(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord19: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord1A(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord1A: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord1B(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord1B: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord1C(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord1C: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regSI), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord1D(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord1D: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regDI), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord1E(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord1E: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemWord1F(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord1F: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regBX), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord20(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord20: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord21(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord21: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord22(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord22: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord23(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord23: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord24(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord24: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regSI), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord25(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord25: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regDI), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord26(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord26: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemWord27(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord27: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regBX), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord28(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord28: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord29(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord29: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord2A(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord2A: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord2B(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord2B: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord2C(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord2C: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regSI), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord2D(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord2D: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regDI), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord2E(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord2E: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemWord2F(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord2F: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regBX), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord30(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord30: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord31(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord31: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord32(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord32: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord33(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord33: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord34(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord34: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regSI), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord35(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord35: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regDI), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord36(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord36: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemWord37(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord37: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regBX), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord38(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord38: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord39(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord39: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord3A(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord3A: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModMemWord3B(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord3B: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModMemWord3C(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord3C: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regSI), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord3D(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord3D: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regDI), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord3E(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord3E: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModMemWord3F(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord3F: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, this.regBX), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModMemWord40(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord40: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord41(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord41: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord42(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord42: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord43(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord43: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord44(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord44: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord45(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord45: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord46(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord46: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord47(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord47: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord48(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord48: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord49(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord49: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord4A(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord4A: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord4B(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord4B: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord4C(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord4C: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord4D(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord4D: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord4E(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord4E: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord4F(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord4F: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord50(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord50: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord51(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord51: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord52(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord52: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord53(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord53: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord54(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord54: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord55(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord55: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord56(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord56: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord57(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord57: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord58(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord58: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord59(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord59: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord5A(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord5A: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord5B(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord5B: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord5C(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord5C: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord5D(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord5D: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord5E(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord5E: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord5F(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord5F: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord60(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord60: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord61(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord61: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord62(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord62: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord63(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord63: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord64(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord64: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord65(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord65: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord66(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord66: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord67(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord67: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord68(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord68: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord69(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord69: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord6A(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord6A: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord6B(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord6B: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord6C(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord6C: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord6D(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord6D: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord6E(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord6E: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord6F(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord6F: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord70(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord70: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord71(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord71: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord72(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord72: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord73(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord73: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord74(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord74: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord75(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord75: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord76(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord76: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord77(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord77: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord78(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord78: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord79(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord79: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord7A(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord7A: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord7B(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord7B: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord7C(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord7C: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord7D(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord7D: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord7E(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord7E: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord7F(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord7F: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord80(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord80: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord81(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord81: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord82(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord82: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord83(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord83: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord84(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord84: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord85(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord85: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord86(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord86: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord87(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord87: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regAX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord88(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord88: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord89(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord89: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord8A(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord8A: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord8B(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord8B: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord8C(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord8C: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord8D(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord8D: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord8E(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord8E: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord8F(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord8F: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regCX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord90(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord90: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord91(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord91: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord92(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord92: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord93(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord93: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord94(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord94: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord95(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord95: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord96(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord96: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord97(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord97: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regDX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord98(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord98: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord99(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord99: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord9A(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord9A: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWord9B(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord9B: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWord9C(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord9C: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord9D(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord9D: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord9E(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord9E: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWord9F(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWord9F: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regBX); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordA0(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordA0: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWordA1(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordA1: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWordA2(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordA2: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWordA3(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordA3: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWordA4(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordA4: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordA5(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordA5: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordA6(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordA6: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordA7(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordA7: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regSP); - if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordA8(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordA8: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWordA9(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordA9: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWordAA(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordAA: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWordAB(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordAB: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWordAC(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordAC: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordAD(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordAD: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordAE(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordAE: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordAF(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordAF: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regBP); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordB0(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordB0: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWordB1(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordB1: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWordB2(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordB2: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWordB3(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordB3: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWordB4(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordB4: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordB5(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordB5: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordB6(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordB6: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordB7(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordB7: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regSI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordB8(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordB8: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWordB9(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordB9: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWordBA(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordBA: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModMemWordBB(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordBB: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModMemWordBC(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordBC: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordBD(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordBD: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordBE(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordBE: function(fn) { - var w = fn.call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModMemWordBF(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModMemWordBF: function(fn) { - var w = fn.call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), this.regDI); - if (BACKTRACK) { - this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; - } - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte00(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte00: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte01(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte01: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte02(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte02: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte03(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte03: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte04(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte04: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, this.regSI)); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte05(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte05: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, this.regDI)); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte06(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte06: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, this.getIPWord())); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegByte07(fn): mod=00 (mem:src) reg=000 (AL:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte07: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, this.regBX)); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte08(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte08: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte09(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte09: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte0A(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte0A: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte0B(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte0B: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte0C(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte0C: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, this.regSI)); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte0D(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte0D: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, this.regDI)); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte0E(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte0E: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, this.getIPWord())); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegByte0F(fn): mod=00 (mem:src) reg=001 (CL:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte0F: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, this.regBX)); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte10(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte10: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte11(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte11: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte12(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte12: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte13(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte13: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte14(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte14: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, this.regSI)); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte15(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte15: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, this.regDI)); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte16(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte16: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, this.getIPWord())); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegByte17(fn): mod=00 (mem:src) reg=010 (DL:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte17: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, this.regBX)); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte18(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte18: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte19(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte19: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte1A(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte1A: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte1B(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte1B: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte1C(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte1C: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, this.regSI)); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte1D(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte1D: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, this.regDI)); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte1E(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte1E: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, this.getIPWord())); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegByte1F(fn): mod=00 (mem:src) reg=011 (BL:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte1F: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, this.regBX)); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte20(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte20: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte21(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte21: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte22(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte22: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte23(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte23: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte24(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte24: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, this.regSI)); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte25(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte25: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, this.regDI)); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte26(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte26: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, this.getIPWord())); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegByte27(fn): mod=00 (mem:src) reg=100 (AH:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte27: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, this.regBX)); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte28(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte28: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte29(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte29: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte2A(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte2A: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte2B(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte2B: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte2C(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte2C: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, this.regSI)); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte2D(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte2D: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, this.regDI)); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte2E(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte2E: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, this.getIPWord())); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegByte2F(fn): mod=00 (mem:src) reg=101 (CH:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte2F: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, this.regBX)); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte30(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte30: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte31(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte31: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte32(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte32: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte33(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte33: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte34(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte34: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, this.regSI)); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte35(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte35: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, this.regDI)); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte36(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte36: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, this.getIPWord())); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegByte37(fn): mod=00 (mem:src) reg=110 (DH:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte37: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, this.regBX)); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte38(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte38: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte39(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte39: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte3A(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte3A: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegByte3B(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte3B: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegByte3C(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte3C: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, this.regSI)); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte3D(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte3D: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, this.regDI)); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte3E(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte3E: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, this.getIPWord())); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegByte3F(fn): mod=00 (mem:src) reg=111 (BH:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte3F: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, this.regBX)); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegByte40(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte40: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte41(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte41: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte42(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte42: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte43(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte43: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte44(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte44: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte45(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte45: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte46(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte46: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte47(fn): mod=01 (mem+d8:src) reg=000 (AL:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte47: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte48(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte48: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte49(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte49: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte4A(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte4A: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte4B(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte4B: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte4C(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte4C: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte4D(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte4D: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte4E(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte4E: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte4F(fn): mod=01 (mem+d8:src) reg=001 (CL:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte4F: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte50(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte50: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte51(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte51: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte52(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte52: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte53(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte53: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte54(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte54: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte55(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte55: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte56(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte56: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte57(fn): mod=01 (mem+d8:src) reg=010 (DL:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte57: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte58(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte58: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte59(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte59: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte5A(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte5A: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte5B(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte5B: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte5C(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte5C: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte5D(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte5D: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte5E(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte5E: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte5F(fn): mod=01 (mem+d8:src) reg=011 (BL:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte5F: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte60(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte60: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte61(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte61: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte62(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte62: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte63(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte63: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte64(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte64: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte65(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte65: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte66(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte66: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte67(fn): mod=01 (mem+d8:src) reg=100 (AH:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte67: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte68(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte68: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte69(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte69: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte6A(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte6A: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte6B(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte6B: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte6C(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte6C: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte6D(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte6D: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte6E(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte6E: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte6F(fn): mod=01 (mem+d8:src) reg=101 (CH:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte6F: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte70(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte70: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte71(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte71: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte72(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte72: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte73(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte73: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte74(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte74: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte75(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte75: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte76(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte76: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte77(fn): mod=01 (mem+d8:src) reg=110 (DH:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte77: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte78(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte78: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte79(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte79: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte7A(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte7A: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte7B(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte7B: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte7C(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte7C: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte7D(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte7D: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte7E(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte7E: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte7F(fn): mod=01 (mem+d8:src) reg=111 (BH:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte7F: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte80(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte80: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte81(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte81: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte82(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte82: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte83(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte83: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte84(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte84: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte85(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte85: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte86(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte86: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte87(fn): mod=10 (mem+d16:src) reg=000 (AL:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte87: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte88(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte88: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte89(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte89: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte8A(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte8A: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte8B(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte8B: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte8C(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte8C: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte8D(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte8D: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte8E(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte8E: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte8F(fn): mod=10 (mem+d16:src) reg=001 (CL:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte8F: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte90(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte90: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte91(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte91: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte92(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte92: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte93(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte93: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte94(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte94: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte95(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte95: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte96(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte96: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte97(fn): mod=10 (mem+d16:src) reg=010 (DL:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte97: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte98(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte98: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte99(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte99: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte9A(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte9A: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByte9B(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte9B: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByte9C(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte9C: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte9D(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte9D: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte9E(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte9E: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByte9F(fn): mod=10 (mem+d16:src) reg=011 (BL:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByte9F: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.getEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteA0(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteA0: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByteA1(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteA1: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByteA2(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteA2: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByteA3(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteA3: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByteA4(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteA4: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteA5(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteA5: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteA6(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteA6: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteA7(fn): mod=10 (mem+d16:src) reg=100 (AH:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteA7: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.getEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteA8(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteA8: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByteA9(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteA9: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByteAA(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteAA: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByteAB(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteAB: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByteAC(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteAC: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteAD(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteAD: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteAE(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteAE: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteAF(fn): mod=10 (mem+d16:src) reg=101 (CH:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteAF: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.getEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteB0(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteB0: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByteB1(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteB1: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByteB2(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteB2: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByteB3(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteB3: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByteB4(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteB4: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteB5(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteB5: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteB6(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteB6: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteB7(fn): mod=10 (mem+d16:src) reg=110 (DH:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteB7: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.getEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteB8(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteB8: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByteB9(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteB9: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByteBA(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteBA: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegByteBB(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteBB: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegByteBC(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteBC: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteBD(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteBD: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteBE(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteBE: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteBF(fn): mod=10 (mem+d16:src) reg=111 (BH:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteBF: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.getEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegByteC0(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=000 (AL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteC0: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.regAX & 0xff); - this.regAX = (this.regAX & ~0xff) | b; - }, - /** - * opModRegByteC1(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=001 (CL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteC1: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.regCX & 0xff); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiCL; - }, - /** - * opModRegByteC2(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=010 (DL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteC2: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.regDX & 0xff); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiDL; - }, - /** - * opModRegByteC3(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=011 (BL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteC3: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.regBX & 0xff); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiBL; - }, - /** - * opModRegByteC4(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=100 (AH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteC4: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.regAX >> 8); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiAH; - }, - /** - * opModRegByteC5(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=101 (CH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteC5: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.regCX >> 8); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiCH; - }, - /** - * opModRegByteC6(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=110 (DH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteC6: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.regDX >> 8); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiDH; - }, - /** - * opModRegByteC7(fn): mod=11 (reg:src) reg=000 (AL:dst) r/m=111 (BH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteC7: function(fn) { - var b = fn.call(this, this.regAX & 0xff, this.regBX >> 8); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiBH; - }, - /** - * opModRegByteC8(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=000 (AL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteC8: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.regAX & 0xff); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiAL; - }, - /** - * opModRegByteC9(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=001 (CL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteC9: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.regCX & 0xff); - this.regCX = (this.regCX & ~0xff) | b; - }, - /** - * opModRegByteCA(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=010 (DL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteCA: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.regDX & 0xff); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiDL; - }, - /** - * opModRegByteCB(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=011 (BL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteCB: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.regBX & 0xff); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiBL; - }, - /** - * opModRegByteCC(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=100 (AH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteCC: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.regAX >> 8); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiAH; - }, - /** - * opModRegByteCD(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=101 (CH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteCD: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.regCX >> 8); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiCH; - }, - /** - * opModRegByteCE(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=110 (DH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteCE: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.regDX >> 8); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiDH; - }, - /** - * opModRegByteCF(fn): mod=11 (reg:src) reg=001 (CL:dst) r/m=111 (BH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteCF: function(fn) { - var b = fn.call(this, this.regCX & 0xff, this.regBX >> 8); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiBH; - }, - /** - * opModRegByteD0(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=000 (AL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteD0: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.regAX & 0xff); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiAL; - }, - /** - * opModRegByteD1(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=001 (CL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteD1: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.regCX & 0xff); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiCL; - }, - /** - * opModRegByteD2(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=010 (DL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteD2: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.regDX & 0xff); - this.regDX = (this.regDX & ~0xff) | b; - }, - /** - * opModRegByteD3(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=011 (BL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteD3: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.regBX & 0xff); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiBL; - }, - /** - * opModRegByteD4(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=100 (AH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteD4: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.regAX >> 8); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiAH; - }, - /** - * opModRegByteD5(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=101 (CH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteD5: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.regCX >> 8); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiCH; - }, - /** - * opModRegByteD6(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=110 (DH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteD6: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.regDX >> 8); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiDH; - }, - /** - * opModRegByteD7(fn): mod=11 (reg:src) reg=010 (DL:dst) r/m=111 (BH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteD7: function(fn) { - var b = fn.call(this, this.regDX & 0xff, this.regBX >> 8); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiBH; - }, - /** - * opModRegByteD8(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=000 (AL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteD8: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.regAX & 0xff); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiAL; - }, - /** - * opModRegByteD9(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=001 (CL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteD9: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.regCX & 0xff); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiCL; - }, - /** - * opModRegByteDA(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=010 (DL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteDA: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.regDX & 0xff); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiDL; - }, - /** - * opModRegByteDB(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=011 (BL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteDB: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.regBX & 0xff); - this.regBX = (this.regBX & ~0xff) | b; - }, - /** - * opModRegByteDC(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=100 (AH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteDC: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.regAX >> 8); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiAH; - }, - /** - * opModRegByteDD(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=101 (CH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteDD: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.regCX >> 8); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiCH; - }, - /** - * opModRegByteDE(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=110 (DH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteDE: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.regDX >> 8); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiDH; - }, - /** - * opModRegByteDF(fn): mod=11 (reg:src) reg=011 (BL:dst) r/m=111 (BH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteDF: function(fn) { - var b = fn.call(this, this.regBX & 0xff, this.regBX >> 8); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiBH; - }, - /** - * opModRegByteE0(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=000 (AL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteE0: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.regAX & 0xff); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiAL; - }, - /** - * opModRegByteE1(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=001 (CL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteE1: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.regCX & 0xff); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiCL; - }, - /** - * opModRegByteE2(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=010 (DL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteE2: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.regDX & 0xff); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiDL; - }, - /** - * opModRegByteE3(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=011 (BL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteE3: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.regBX & 0xff); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiBL; - }, - /** - * opModRegByteE4(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=100 (AH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteE4: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.regAX >> 8); - this.regAX = (this.regAX & 0xff) | (b << 8); - }, - /** - * opModRegByteE5(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=101 (CH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteE5: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.regCX >> 8); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiCH; - }, - /** - * opModRegByteE6(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=110 (DH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteE6: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.regDX >> 8); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiDH; - }, - /** - * opModRegByteE7(fn): mod=11 (reg:src) reg=100 (AH:dst) r/m=111 (BH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteE7: function(fn) { - var b = fn.call(this, this.regAX >> 8, this.regBX >> 8); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiBH; - }, - /** - * opModRegByteE8(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=000 (AL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteE8: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.regAX & 0xff); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiAL; - }, - /** - * opModRegByteE9(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=001 (CL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteE9: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.regCX & 0xff); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiCL; - }, - /** - * opModRegByteEA(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=010 (DL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteEA: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.regDX & 0xff); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiDL; - }, - /** - * opModRegByteEB(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=011 (BL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteEB: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.regBX & 0xff); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiBL; - }, - /** - * opModRegByteEC(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=100 (AH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteEC: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.regAX >> 8); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiAH; - }, - /** - * opModRegByteED(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=101 (CH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteED: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.regCX >> 8); - this.regCX = (this.regCX & 0xff) | (b << 8); - }, - /** - * opModRegByteEE(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=110 (DH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteEE: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.regDX >> 8); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiDH; - }, - /** - * opModRegByteEF(fn): mod=11 (reg:src) reg=101 (CH:dst) r/m=111 (BH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteEF: function(fn) { - var b = fn.call(this, this.regCX >> 8, this.regBX >> 8); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiBH; - }, - /** - * opModRegByteF0(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=000 (AL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteF0: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.regAX & 0xff); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiAL; - }, - /** - * opModRegByteF1(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=001 (CL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteF1: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.regCX & 0xff); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiCL; - }, - /** - * opModRegByteF2(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=010 (DL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteF2: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.regDX & 0xff); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiDL; - }, - /** - * opModRegByteF3(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=011 (BL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteF3: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.regBX & 0xff); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiBL; - }, - /** - * opModRegByteF4(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=100 (AH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteF4: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.regAX >> 8); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiAH; - }, - /** - * opModRegByteF5(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=101 (CH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteF5: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.regCX >> 8); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiCH; - }, - /** - * opModRegByteF6(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=110 (DH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteF6: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.regDX >> 8); - this.regDX = (this.regDX & 0xff) | (b << 8); - }, - /** - * opModRegByteF7(fn): mod=11 (reg:src) reg=110 (DH:dst) r/m=111 (BH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteF7: function(fn) { - var b = fn.call(this, this.regDX >> 8, this.regBX >> 8); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiBH; - }, - /** - * opModRegByteF8(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=000 (AL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteF8: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.regAX & 0xff); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiAL; - }, - /** - * opModRegByteF9(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=001 (CL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteF9: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.regCX & 0xff); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiCL; - }, - /** - * opModRegByteFA(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=010 (DL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteFA: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.regDX & 0xff); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiDL; - }, - /** - * opModRegByteFB(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=011 (BL) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteFB: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.regBX & 0xff); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiBL; - }, - /** - * opModRegByteFC(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=100 (AH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteFC: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.regAX >> 8); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiAH; - }, - /** - * opModRegByteFD(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=101 (CH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteFD: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.regCX >> 8); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiCH; - }, - /** - * opModRegByteFE(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=110 (DH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteFE: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.regDX >> 8); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiDH; - }, - /** - * opModRegByteFF(fn): mod=11 (reg:src) reg=111 (BH:dst) r/m=111 (BH) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegByteFF: function(fn) { - var b = fn.call(this, this.regBX >> 8, this.regBX >> 8); - this.regBX = (this.regBX & 0xff) | (b << 8); - }, - /** - * opModRegWord00(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord00: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord01(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord01: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord02(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord02: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord03(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord03: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord04(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord04: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, this.regSI)); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord05(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord05: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, this.regDI)); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord06(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord06: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, this.getIPWord())); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegWord07(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord07: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, this.regBX)); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord08(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord08: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord09(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord09: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord0A(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord0A: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord0B(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord0B: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord0C(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord0C: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, this.regSI)); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord0D(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord0D: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, this.regDI)); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord0E(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord0E: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, this.getIPWord())); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegWord0F(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord0F: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, this.regBX)); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord10(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord10: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord11(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord11: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord12(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord12: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord13(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord13: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord14(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord14: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, this.regSI)); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord15(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord15: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, this.regDI)); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord16(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord16: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, this.getIPWord())); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegWord17(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord17: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, this.regBX)); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord18(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord18: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord19(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord19: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord1A(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord1A: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord1B(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord1B: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord1C(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord1C: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, this.regSI)); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord1D(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord1D: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, this.regDI)); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord1E(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord1E: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, this.getIPWord())); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegWord1F(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord1F: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, this.regBX)); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord20(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord20: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord21(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord21: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord22(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord22: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord23(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord23: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord24(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord24: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, this.regSI)); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord25(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord25: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, this.regDI)); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord26(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord26: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, this.getIPWord())); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegWord27(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord27: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, this.regBX)); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord28(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord28: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord29(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord29: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord2A(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord2A: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord2B(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord2B: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord2C(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord2C: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, this.regSI)); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord2D(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord2D: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, this.regDI)); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord2E(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord2E: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, this.getIPWord())); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegWord2F(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord2F: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, this.regBX)); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord30(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord30: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord31(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord31: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord32(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord32: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord33(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord33: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord34(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord34: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, this.regSI)); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord35(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord35: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, this.regDI)); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord36(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord36: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, this.getIPWord())); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegWord37(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord37: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, this.regBX)); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord38(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord38: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord39(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord39: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord3A(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord3A: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModRegWord3B(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord3B: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModRegWord3C(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=100 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord3C: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, this.regSI)); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord3D(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=101 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord3D: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, this.regDI)); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord3E(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=110 (d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord3E: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, this.getIPWord())); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModRegWord3F(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=111 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord3F: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, this.regBX)); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModRegWord40(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord40: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord41(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord41: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord42(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord42: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord43(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord43: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord44(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord44: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord45(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord45: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord46(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord46: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord47(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord47: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord48(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord48: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord49(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord49: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord4A(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord4A: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord4B(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord4B: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord4C(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord4C: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord4D(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord4D: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord4E(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord4E: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord4F(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord4F: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord50(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord50: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord51(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord51: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord52(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord52: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord53(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord53: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord54(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord54: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord55(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord55: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord56(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord56: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord57(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord57: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord58(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord58: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord59(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord59: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord5A(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord5A: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord5B(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord5B: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord5C(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord5C: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord5D(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord5D: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord5E(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord5E: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord5F(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord5F: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord60(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord60: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord61(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord61: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord62(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord62: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord63(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord63: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord64(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord64: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord65(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord65: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord66(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord66: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord67(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord67: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord68(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord68: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord69(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord69: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord6A(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord6A: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord6B(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord6B: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord6C(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord6C: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord6D(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord6D: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord6E(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord6E: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord6F(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord6F: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord70(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord70: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord71(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord71: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord72(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord72: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord73(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord73: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord74(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord74: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord75(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord75: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord76(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord76: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord77(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord77: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord78(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord78: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord79(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord79: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord7A(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord7A: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord7B(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord7B: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord7C(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord7C: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord7D(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord7D: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord7E(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord7E: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord7F(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord7F: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord80(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord80: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord81(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord81: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord82(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord82: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord83(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord83: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord84(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord84: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord85(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord85: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord86(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord86: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord87(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord87: function(fn) { - this.regAX = fn.call(this, this.regAX, this.getEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord88(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord88: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord89(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord89: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord8A(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord8A: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord8B(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord8B: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord8C(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord8C: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord8D(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord8D: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord8E(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord8E: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord8F(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord8F: function(fn) { - this.regCX = fn.call(this, this.regCX, this.getEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord90(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord90: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord91(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord91: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord92(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord92: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord93(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord93: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord94(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord94: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord95(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord95: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord96(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord96: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord97(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord97: function(fn) { - this.regDX = fn.call(this, this.regDX, this.getEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord98(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord98: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord99(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord99: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord9A(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord9A: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWord9B(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord9B: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWord9C(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord9C: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord9D(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord9D: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord9E(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord9E: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWord9F(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWord9F: function(fn) { - this.regBX = fn.call(this, this.regBX, this.getEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordA0(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordA0: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWordA1(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordA1: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWordA2(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordA2: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWordA3(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordA3: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWordA4(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordA4: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordA5(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordA5: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordA6(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordA6: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordA7(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordA7: function(fn) { - this.regSP = fn.call(this, this.regSP, this.getEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordA8(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordA8: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWordA9(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordA9: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWordAA(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordAA: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWordAB(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordAB: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWordAC(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordAC: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordAD(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordAD: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordAE(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordAE: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordAF(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordAF: function(fn) { - this.regBP = fn.call(this, this.regBP, this.getEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordB0(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordB0: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWordB1(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordB1: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWordB2(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordB2: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWordB3(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordB3: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWordB4(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordB4: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordB5(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordB5: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordB6(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordB6: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordB7(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordB7: function(fn) { - this.regSI = fn.call(this, this.regSI, this.getEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordB8(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordB8: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWordB9(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordB9: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWordBA(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordBA: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModRegWordBB(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordBB: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModRegWordBC(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordBC: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordBD(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordBD: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordBE(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordBE: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordBF(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordBF: function(fn) { - this.regDI = fn.call(this, this.regDI, this.getEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff))); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModRegWordC0(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=000 (AX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordC0: function(fn) { - this.regAX = fn.call(this, this.regAX, this.regAX); - }, - /** - * opModRegWordC1(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=001 (CX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordC1: function(fn) { - this.regAX = fn.call(this, this.regAX, this.regCX); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiCL; this.backTrack.btiAH = this.backTrack.btiCH; - } - }, - /** - * opModRegWordC2(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=010 (DX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordC2: function(fn) { - this.regAX = fn.call(this, this.regAX, this.regDX); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiDL; this.backTrack.btiAH = this.backTrack.btiDH; - } - }, - /** - * opModRegWordC3(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=011 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordC3: function(fn) { - this.regAX = fn.call(this, this.regAX, this.regBX); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiBL; this.backTrack.btiAH = this.backTrack.btiBH; - } - }, - /** - * opModRegWordC4(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=100 (SP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordC4: function(fn) { - this.regAX = fn.call(this, this.regAX, this.regSP); - if (BACKTRACK) { - this.backTrack.btiAL = X86.BACKTRACK.SP_LO; this.backTrack.btiAH = X86.BACKTRACK.SP_HI; - } - }, - /** - * opModRegWordC5(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=101 (BP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordC5: function(fn) { - this.regAX = fn.call(this, this.regAX, this.regBP); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiBPLo; this.backTrack.btiAH = this.backTrack.btiBPHi; - } - }, - /** - * opModRegWordC6(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=110 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordC6: function(fn) { - this.regAX = fn.call(this, this.regAX, this.regSI); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiSILo; this.backTrack.btiAH = this.backTrack.btiSIHi; - } - }, - /** - * opModRegWordC7(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=111 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordC7: function(fn) { - this.regAX = fn.call(this, this.regAX, this.regDI); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiDILo; this.backTrack.btiAH = this.backTrack.btiDIHi; - } - }, - /** - * opModRegWordC8(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=000 (AX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordC8: function(fn) { - this.regCX = fn.call(this, this.regCX, this.regAX); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiAL; this.backTrack.btiCH = this.backTrack.btiAH; - } - }, - /** - * opModRegWordC9(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=001 (CX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordC9: function(fn) { - this.regCX = fn.call(this, this.regCX, this.regCX); - }, - /** - * opModRegWordCA(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=010 (DX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordCA: function(fn) { - this.regCX = fn.call(this, this.regCX, this.regDX); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiDL; this.backTrack.btiCH = this.backTrack.btiDH; - } - }, - /** - * opModRegWordCB(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=011 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordCB: function(fn) { - this.regCX = fn.call(this, this.regCX, this.regBX); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiBL; this.backTrack.btiCH = this.backTrack.btiBH; - } - }, - /** - * opModRegWordCC(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=100 (SP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordCC: function(fn) { - this.regCX = fn.call(this, this.regCX, this.regSP); - if (BACKTRACK) { - this.backTrack.btiCL = X86.BACKTRACK.SP_LO; this.backTrack.btiCH = X86.BACKTRACK.SP_HI; - } - }, - /** - * opModRegWordCD(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=101 (BP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordCD: function(fn) { - this.regCX = fn.call(this, this.regCX, this.regBP); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiBPLo; this.backTrack.btiCH = this.backTrack.btiBPHi; - } - }, - /** - * opModRegWordCE(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=110 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordCE: function(fn) { - this.regCX = fn.call(this, this.regCX, this.regSI); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiSILo; this.backTrack.btiCH = this.backTrack.btiSIHi; - } - }, - /** - * opModRegWordCF(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=111 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordCF: function(fn) { - this.regCX = fn.call(this, this.regCX, this.regDI); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiDILo; this.backTrack.btiCH = this.backTrack.btiDIHi; - } - }, - /** - * opModRegWordD0(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=000 (AX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordD0: function(fn) { - this.regDX = fn.call(this, this.regDX, this.regAX); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiAL; this.backTrack.btiDH = this.backTrack.btiAH; - } - }, - /** - * opModRegWordD1(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=001 (CX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordD1: function(fn) { - this.regDX = fn.call(this, this.regDX, this.regCX); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiCL; this.backTrack.btiDH = this.backTrack.btiCH; - } - }, - /** - * opModRegWordD2(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=010 (DX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordD2: function(fn) { - this.regDX = fn.call(this, this.regDX, this.regDX); - }, - /** - * opModRegWordD3(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=011 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordD3: function(fn) { - this.regDX = fn.call(this, this.regDX, this.regBX); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiBL; this.backTrack.btiDH = this.backTrack.btiBH; - } - }, - /** - * opModRegWordD4(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=100 (SP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordD4: function(fn) { - this.regDX = fn.call(this, this.regDX, this.regSP); - if (BACKTRACK) { - this.backTrack.btiDL = X86.BACKTRACK.SP_LO; this.backTrack.btiDH = X86.BACKTRACK.SP_HI; - } - }, - /** - * opModRegWordD5(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=101 (BP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordD5: function(fn) { - this.regDX = fn.call(this, this.regDX, this.regBP); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiBPLo; this.backTrack.btiDH = this.backTrack.btiBPHi; - } - }, - /** - * opModRegWordD6(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=110 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordD6: function(fn) { - this.regDX = fn.call(this, this.regDX, this.regSI); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiSILo; this.backTrack.btiDH = this.backTrack.btiSIHi; - } - }, - /** - * opModRegWordD7(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=111 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordD7: function(fn) { - this.regDX = fn.call(this, this.regDX, this.regDI); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiDILo; this.backTrack.btiDH = this.backTrack.btiDIHi; - } - }, - /** - * opModRegWordD8(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=000 (AX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordD8: function(fn) { - this.regBX = fn.call(this, this.regBX, this.regAX); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiAL; this.backTrack.btiBH = this.backTrack.btiAH; - } - }, - /** - * opModRegWordD9(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=001 (CX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordD9: function(fn) { - this.regBX = fn.call(this, this.regBX, this.regCX); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiCL; this.backTrack.btiBH = this.backTrack.btiCH; - } - }, - /** - * opModRegWordDA(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=010 (DX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordDA: function(fn) { - this.regBX = fn.call(this, this.regBX, this.regDX); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiDL; this.backTrack.btiBH = this.backTrack.btiDH; - } - }, - /** - * opModRegWordDB(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=011 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordDB: function(fn) { - this.regBX = fn.call(this, this.regBX, this.regBX); - }, - /** - * opModRegWordDC(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=100 (SP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordDC: function(fn) { - this.regBX = fn.call(this, this.regBX, this.regSP); - if (BACKTRACK) { - this.backTrack.btiBL = X86.BACKTRACK.SP_LO; this.backTrack.btiBH = X86.BACKTRACK.SP_HI; - } - }, - /** - * opModRegWordDD(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=101 (BP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordDD: function(fn) { - this.regBX = fn.call(this, this.regBX, this.regBP); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiBPLo; this.backTrack.btiBH = this.backTrack.btiBPHi; - } - }, - /** - * opModRegWordDE(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=110 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordDE: function(fn) { - this.regBX = fn.call(this, this.regBX, this.regSI); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiSILo; this.backTrack.btiBH = this.backTrack.btiSIHi; - } - }, - /** - * opModRegWordDF(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=111 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordDF: function(fn) { - this.regBX = fn.call(this, this.regBX, this.regDI); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiDILo; this.backTrack.btiBH = this.backTrack.btiDIHi; - } - }, - /** - * opModRegWordE0(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=000 (AX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordE0: function(fn) { - this.regSP = fn.call(this, this.regSP, this.regAX); - }, - /** - * opModRegWordE1(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=001 (CX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordE1: function(fn) { - this.regSP = fn.call(this, this.regSP, this.regCX); - }, - /** - * opModRegWordE2(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=010 (DX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordE2: function(fn) { - this.regSP = fn.call(this, this.regSP, this.regDX); - }, - /** - * opModRegWordE3(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=011 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordE3: function(fn) { - this.regSP = fn.call(this, this.regSP, this.regBX); - }, - /** - * opModRegWordE4(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=100 (SP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordE4: function(fn) { - this.regSP = fn.call(this, this.regSP, this.regSP); - }, - /** - * opModRegWordE5(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=101 (BP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordE5: function(fn) { - this.regSP = fn.call(this, this.regSP, this.regBP); - }, - /** - * opModRegWordE6(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=110 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordE6: function(fn) { - this.regSP = fn.call(this, this.regSP, this.regSI); - }, - /** - * opModRegWordE7(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=111 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordE7: function(fn) { - this.regSP = fn.call(this, this.regSP, this.regDI); - }, - /** - * opModRegWordE8(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=000 (AX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordE8: function(fn) { - this.regBP = fn.call(this, this.regBP, this.regAX); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiAL; this.backTrack.btiBPHi = this.backTrack.btiAH; - } - }, - /** - * opModRegWordE9(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=001 (CX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordE9: function(fn) { - this.regBP = fn.call(this, this.regBP, this.regCX); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiCL; this.backTrack.btiBPHi = this.backTrack.btiCH; - } - }, - /** - * opModRegWordEA(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=010 (DX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordEA: function(fn) { - this.regBP = fn.call(this, this.regBP, this.regDX); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiDL; this.backTrack.btiBPHi = this.backTrack.btiDH; - } - }, - /** - * opModRegWordEB(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=011 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordEB: function(fn) { - this.regBP = fn.call(this, this.regBP, this.regBX); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiBL; this.backTrack.btiBPHi = this.backTrack.btiBH; - } - }, - /** - * opModRegWordEC(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=100 (SP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordEC: function(fn) { - this.regBP = fn.call(this, this.regBP, this.regSP); - if (BACKTRACK) { - this.backTrack.btiBPLo = X86.BACKTRACK.SP_LO; this.backTrack.btiBPHi = X86.BACKTRACK.SP_HI; - } - }, - /** - * opModRegWordED(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=101 (BP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordED: function(fn) { - this.regBP = fn.call(this, this.regBP, this.regBP); - }, - /** - * opModRegWordEE(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=110 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordEE: function(fn) { - this.regBP = fn.call(this, this.regBP, this.regSI); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiSILo; this.backTrack.btiBPHi = this.backTrack.btiSIHi; - } - }, - /** - * opModRegWordEF(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=111 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordEF: function(fn) { - this.regBP = fn.call(this, this.regBP, this.regDI); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiDILo; this.backTrack.btiBPHi = this.backTrack.btiDIHi; - } - }, - /** - * opModRegWordF0(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=000 (AX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordF0: function(fn) { - this.regSI = fn.call(this, this.regSI, this.regAX); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiAL; this.backTrack.btiSIHi = this.backTrack.btiAH; - } - }, - /** - * opModRegWordF1(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=001 (CX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordF1: function(fn) { - this.regSI = fn.call(this, this.regSI, this.regCX); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiCL; this.backTrack.btiSIHi = this.backTrack.btiCH; - } - }, - /** - * opModRegWordF2(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=010 (DX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordF2: function(fn) { - this.regSI = fn.call(this, this.regSI, this.regDX); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiDL; this.backTrack.btiSIHi = this.backTrack.btiDH; - } - }, - /** - * opModRegWordF3(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=011 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordF3: function(fn) { - this.regSI = fn.call(this, this.regSI, this.regBX); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiBL; this.backTrack.btiSIHi = this.backTrack.btiBH; - } - }, - /** - * opModRegWordF4(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=100 (SP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordF4: function(fn) { - this.regSI = fn.call(this, this.regSI, this.regSP); - if (BACKTRACK) { - this.backTrack.btiSILo = X86.BACKTRACK.SP_LO; this.backTrack.btiSIHi = X86.BACKTRACK.SP_HI; - } - }, - /** - * opModRegWordF5(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=101 (BP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordF5: function(fn) { - this.regSI = fn.call(this, this.regSI, this.regBP); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiBPLo; this.backTrack.btiSIHi = this.backTrack.btiBPHi; - } - }, - /** - * opModRegWordF6(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=110 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordF6: function(fn) { - this.regSI = fn.call(this, this.regSI, this.regSI); - }, - /** - * opModRegWordF7(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=111 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordF7: function(fn) { - this.regSI = fn.call(this, this.regSI, this.regDI); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiDILo; this.backTrack.btiSIHi = this.backTrack.btiDIHi; - } - }, - /** - * opModRegWordF8(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=000 (AX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordF8: function(fn) { - this.regDI = fn.call(this, this.regDI, this.regAX); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiAL; this.backTrack.btiDIHi = this.backTrack.btiAH; - } - }, - /** - * opModRegWordF9(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=001 (CX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordF9: function(fn) { - this.regDI = fn.call(this, this.regDI, this.regCX); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiCL; this.backTrack.btiDIHi = this.backTrack.btiCH; - } - }, - /** - * opModRegWordFA(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=010 (DX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordFA: function(fn) { - this.regDI = fn.call(this, this.regDI, this.regDX); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiDL; this.backTrack.btiDIHi = this.backTrack.btiDH; - } - }, - /** - * opModRegWordFB(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=011 (BX) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordFB: function(fn) { - this.regDI = fn.call(this, this.regDI, this.regBX); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiBL; this.backTrack.btiDIHi = this.backTrack.btiBH; - } - }, - /** - * opModRegWordFC(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=100 (SP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordFC: function(fn) { - this.regDI = fn.call(this, this.regDI, this.regSP); - if (BACKTRACK) { - this.backTrack.btiDILo = X86.BACKTRACK.SP_LO; this.backTrack.btiDIHi = X86.BACKTRACK.SP_HI; - } - }, - /** - * opModRegWordFD(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=101 (BP) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordFD: function(fn) { - this.regDI = fn.call(this, this.regDI, this.regBP); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiBPLo; this.backTrack.btiDIHi = this.backTrack.btiBPHi; - } - }, - /** - * opModRegWordFE(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=110 (SI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordFE: function(fn) { - this.regDI = fn.call(this, this.regDI, this.regSI); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiSILo; this.backTrack.btiDIHi = this.backTrack.btiSIHi; - } - }, - /** - * opModRegWordFF(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=111 (DI) - * - * @this {X86CPU} - * @param {function(number,number)} fn (dst,src) - */ - opModRegWordFF: function(fn) { - this.regDI = fn.call(this, this.regDI, this.regDI); - }, - /** - * opModGrpByte00(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte00: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte01(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte01: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte02(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte02: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte03(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte03: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte04(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte04: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regSI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte05(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte05: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regDI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte06(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte06: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpByte07(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte07: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, this.regBX), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte08(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte08: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte09(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte09: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte0A(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte0A: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte0B(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte0B: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte0C(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte0C: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regSI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte0D(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte0D: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regDI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte0E(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte0E: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpByte0F(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte0F: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, this.regBX), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte10(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte10: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte11(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte11: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte12(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte12: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte13(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte13: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte14(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte14: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regSI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte15(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte15: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regDI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte16(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte16: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpByte17(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte17: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, this.regBX), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte18(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte18: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte19(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte19: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte1A(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte1A: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte1B(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte1B: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte1C(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte1C: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regSI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte1D(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte1D: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regDI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte1E(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte1E: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpByte1F(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte1F: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, this.regBX), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte20(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte20: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte21(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte21: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte22(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte22: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte23(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte23: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte24(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte24: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regSI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte25(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte25: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regDI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte26(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte26: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpByte27(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte27: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, this.regBX), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte28(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte28: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte29(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte29: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte2A(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte2A: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte2B(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte2B: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte2C(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte2C: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regSI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte2D(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte2D: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regDI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte2E(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte2E: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpByte2F(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte2F: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, this.regBX), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte30(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte30: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte31(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte31: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte32(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte32: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte33(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte33: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte34(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte34: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regSI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte35(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte35: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regDI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte36(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte36: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpByte37(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte37: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, this.regBX), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte38(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte38: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte39(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte39: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte3A(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte3A: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpByte3B(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte3B: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpByte3C(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte3C: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regSI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte3D(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte3D: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regDI), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte3E(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte3E: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpByte3F(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte3F: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, this.regBX), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpByte40(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte40: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte41(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte41: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte42(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte42: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte43(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte43: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte44(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte44: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte45(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte45: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte46(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte46: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte47(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte47: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte48(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte48: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte49(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte49: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte4A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte4A: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte4B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte4B: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte4C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte4C: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte4D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte4D: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte4E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte4E: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte4F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte4F: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte50(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte50: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte51(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte51: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte52(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte52: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte53(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte53: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte54(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte54: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte55(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte55: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte56(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte56: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte57(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte57: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte58(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte58: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte59(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte59: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte5A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte5A: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte5B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte5B: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte5C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte5C: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte5D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte5D: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte5E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte5E: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte5F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte5F: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte60(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte60: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte61(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte61: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte62(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte62: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte63(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte63: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte64(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte64: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte65(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte65: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte66(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte66: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte67(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte67: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte68(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte68: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte69(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte69: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte6A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte6A: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte6B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte6B: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte6C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte6C: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte6D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte6D: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte6E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte6E: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte6F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte6F: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte70(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte70: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte71(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte71: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte72(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte72: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte73(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte73: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte74(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte74: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte75(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte75: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte76(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte76: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte77(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte77: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte78(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte78: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte79(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte79: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte7A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte7A: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte7B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte7B: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte7C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte7C: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte7D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte7D: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte7E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte7E: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte7F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte7F: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte80(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte80: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte81(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte81: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte82(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte82: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte83(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte83: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte84(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte84: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte85(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte85: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte86(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte86: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte87(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte87: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte88(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte88: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte89(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte89: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte8A(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte8A: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte8B(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte8B: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte8C(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte8C: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte8D(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte8D: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte8E(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte8E: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte8F(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte8F: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte90(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte90: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte91(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte91: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte92(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte92: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte93(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte93: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte94(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte94: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte95(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte95: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte96(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte96: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte97(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte97: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte98(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte98: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte99(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte99: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte9A(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte9A: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByte9B(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte9B: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByte9C(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte9C: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte9D(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte9D: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte9E(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte9E: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByte9F(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByte9F: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteA0(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteA0: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByteA1(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteA1: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByteA2(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteA2: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByteA3(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteA3: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByteA4(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteA4: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteA5(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteA5: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteA6(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteA6: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteA7(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteA7: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteA8(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteA8: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByteA9(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteA9: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByteAA(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteAA: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByteAB(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteAB: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByteAC(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteAC: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteAD(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteAD: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteAE(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteAE: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteAF(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteAF: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteB0(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteB0: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByteB1(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteB1: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByteB2(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteB2: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByteB3(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteB3: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByteB4(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteB4: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteB5(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteB5: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteB6(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteB6: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteB7(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteB7: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteB8(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteB8: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByteB9(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteB9: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByteBA(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteBA: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpByteBB(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteBB: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpByteBC(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteBC: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteBD(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteBD: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteBE(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteBE: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteBF(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteBF: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.modEAByte(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAByte(b); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpByteC0(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=000 (AL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteC0: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.regAX & 0xff, fnSrc.call(this)); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteC1(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=001 (CL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteC1: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.regCX & 0xff, fnSrc.call(this)); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteC2(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=010 (DL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteC2: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.regDX & 0xff, fnSrc.call(this)); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteC3(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=011 (BL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteC3: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.regBX & 0xff, fnSrc.call(this)); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteC4(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=100 (AH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteC4: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.regAX >> 8, fnSrc.call(this)); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteC5(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=101 (CH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteC5: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.regCX >> 8, fnSrc.call(this)); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteC6(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=110 (DH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteC6: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.regDX >> 8, fnSrc.call(this)); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteC7(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=111 (BH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteC7: function(afnGrp, fnSrc) { - var b = afnGrp[0].call(this, this.regBX >> 8, fnSrc.call(this)); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteC8(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=000 (AL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteC8: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.regAX & 0xff, fnSrc.call(this)); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteC9(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=001 (CL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteC9: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.regCX & 0xff, fnSrc.call(this)); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteCA(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=010 (DL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteCA: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.regDX & 0xff, fnSrc.call(this)); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteCB(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=011 (BL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteCB: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.regBX & 0xff, fnSrc.call(this)); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteCC(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=100 (AH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteCC: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.regAX >> 8, fnSrc.call(this)); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteCD(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=101 (CH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteCD: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.regCX >> 8, fnSrc.call(this)); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteCE(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=110 (DH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteCE: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.regDX >> 8, fnSrc.call(this)); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteCF(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=111 (BH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteCF: function(afnGrp, fnSrc) { - var b = afnGrp[1].call(this, this.regBX >> 8, fnSrc.call(this)); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteD0(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=000 (AL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteD0: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.regAX & 0xff, fnSrc.call(this)); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteD1(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=001 (CL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteD1: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.regCX & 0xff, fnSrc.call(this)); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteD2(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=010 (DL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteD2: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.regDX & 0xff, fnSrc.call(this)); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteD3(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=011 (BL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteD3: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.regBX & 0xff, fnSrc.call(this)); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteD4(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=100 (AH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteD4: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.regAX >> 8, fnSrc.call(this)); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteD5(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=101 (CH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteD5: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.regCX >> 8, fnSrc.call(this)); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteD6(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=110 (DH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteD6: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.regDX >> 8, fnSrc.call(this)); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteD7(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=111 (BH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteD7: function(afnGrp, fnSrc) { - var b = afnGrp[2].call(this, this.regBX >> 8, fnSrc.call(this)); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteD8(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=000 (AL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteD8: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.regAX & 0xff, fnSrc.call(this)); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteD9(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=001 (CL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteD9: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.regCX & 0xff, fnSrc.call(this)); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteDA(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=010 (DL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteDA: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.regDX & 0xff, fnSrc.call(this)); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteDB(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=011 (BL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteDB: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.regBX & 0xff, fnSrc.call(this)); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteDC(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=100 (AH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteDC: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.regAX >> 8, fnSrc.call(this)); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteDD(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=101 (CH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteDD: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.regCX >> 8, fnSrc.call(this)); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteDE(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=110 (DH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteDE: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.regDX >> 8, fnSrc.call(this)); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteDF(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=111 (BH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteDF: function(afnGrp, fnSrc) { - var b = afnGrp[3].call(this, this.regBX >> 8, fnSrc.call(this)); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteE0(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=000 (AL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteE0: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.regAX & 0xff, fnSrc.call(this)); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteE1(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=001 (CL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteE1: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.regCX & 0xff, fnSrc.call(this)); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteE2(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=010 (DL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteE2: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.regDX & 0xff, fnSrc.call(this)); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteE3(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=011 (BL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteE3: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.regBX & 0xff, fnSrc.call(this)); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteE4(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=100 (AH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteE4: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.regAX >> 8, fnSrc.call(this)); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteE5(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=101 (CH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteE5: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.regCX >> 8, fnSrc.call(this)); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteE6(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=110 (DH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteE6: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.regDX >> 8, fnSrc.call(this)); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteE7(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=111 (BH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteE7: function(afnGrp, fnSrc) { - var b = afnGrp[4].call(this, this.regBX >> 8, fnSrc.call(this)); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteE8(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=000 (AL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteE8: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.regAX & 0xff, fnSrc.call(this)); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteE9(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=001 (CL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteE9: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.regCX & 0xff, fnSrc.call(this)); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteEA(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=010 (DL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteEA: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.regDX & 0xff, fnSrc.call(this)); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteEB(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=011 (BL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteEB: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.regBX & 0xff, fnSrc.call(this)); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteEC(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=100 (AH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteEC: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.regAX >> 8, fnSrc.call(this)); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteED(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=101 (CH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteED: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.regCX >> 8, fnSrc.call(this)); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteEE(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=110 (DH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteEE: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.regDX >> 8, fnSrc.call(this)); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteEF(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=111 (BH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteEF: function(afnGrp, fnSrc) { - var b = afnGrp[5].call(this, this.regBX >> 8, fnSrc.call(this)); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteF0(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=000 (AL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteF0: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.regAX & 0xff, fnSrc.call(this)); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteF1(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=001 (CL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteF1: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.regCX & 0xff, fnSrc.call(this)); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteF2(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=010 (DL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteF2: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.regDX & 0xff, fnSrc.call(this)); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteF3(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=011 (BL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteF3: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.regBX & 0xff, fnSrc.call(this)); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteF4(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=100 (AH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteF4: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.regAX >> 8, fnSrc.call(this)); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteF5(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=101 (CH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteF5: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.regCX >> 8, fnSrc.call(this)); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteF6(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=110 (DH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteF6: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.regDX >> 8, fnSrc.call(this)); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteF7(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=111 (BH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteF7: function(afnGrp, fnSrc) { - var b = afnGrp[6].call(this, this.regBX >> 8, fnSrc.call(this)); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteF8(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=000 (AL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteF8: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.regAX & 0xff, fnSrc.call(this)); - this.regAX = (this.regAX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteF9(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=001 (CL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteF9: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.regCX & 0xff, fnSrc.call(this)); - this.regCX = (this.regCX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiCL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteFA(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=010 (DL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteFA: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.regDX & 0xff, fnSrc.call(this)); - this.regDX = (this.regDX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiDL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteFB(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=011 (BL) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteFB: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.regBX & 0xff, fnSrc.call(this)); - this.regBX = (this.regBX & ~0xff) | b; - if (BACKTRACK) this.backTrack.btiBL = this.backTrack.btiEALo; - }, - /** - * opModGrpByteFC(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=100 (AH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteFC: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.regAX >> 8, fnSrc.call(this)); - this.regAX = (this.regAX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteFD(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=101 (CH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteFD: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.regCX >> 8, fnSrc.call(this)); - this.regCX = (this.regCX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiCH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteFE(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=110 (DH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteFE: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.regDX >> 8, fnSrc.call(this)); - this.regDX = (this.regDX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiDH = this.backTrack.btiEALo; - }, - /** - * opModGrpByteFF(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=111 (BH) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpByteFF: function(afnGrp, fnSrc) { - var b = afnGrp[7].call(this, this.regBX >> 8, fnSrc.call(this)); - this.regBX = (this.regBX & 0xff) | (b << 8); - if (BACKTRACK) this.backTrack.btiBH = this.backTrack.btiEALo; - }, - /** - * opModGrpWord00(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord00: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord01(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord01: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord02(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord02: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord03(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord03: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord04(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord04: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regSI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord05(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord05: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regDI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord06(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord06: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpWord07(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord07: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.regBX), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord08(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord08: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord09(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord09: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord0A(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord0A: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord0B(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord0B: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord0C(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord0C: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regSI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord0D(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord0D: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regDI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord0E(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord0E: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpWord0F(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord0F: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.regBX), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord10(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord10: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord11(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord11: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord12(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord12: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord13(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord13: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord14(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord14: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regSI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord15(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord15: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regDI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord16(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord16: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpWord17(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord17: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.regBX), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord18(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord18: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord19(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord19: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord1A(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord1A: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord1B(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord1B: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord1C(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord1C: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regSI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord1D(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord1D: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regDI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord1E(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord1E: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpWord1F(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord1F: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.regBX), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord20(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord20: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord21(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord21: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord22(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord22: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord23(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord23: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord24(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord24: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regSI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord25(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord25: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regDI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord26(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord26: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpWord27(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord27: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.regBX), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord28(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord28: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord29(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord29: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord2A(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord2A: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord2B(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord2B: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord2C(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord2C: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regSI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord2D(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord2D: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regDI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord2E(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord2E: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpWord2F(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord2F: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.regBX), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord30(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord30: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord31(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord31: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord32(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord32: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord33(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord33: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord34(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord34: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regSI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord35(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord35: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regDI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord36(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord36: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpWord37(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord37: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.regBX), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord38(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord38: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord39(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord39: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord3A(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord3A: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; - }, - /** - * opModGrpWord3B(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord3B: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; - }, - /** - * opModGrpWord3C(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=100 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord3C: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regSI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord3D(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=101 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord3D: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regDI), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord3E(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=110 (d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord3E: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesDisp; - }, - /** - * opModGrpWord3F(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=111 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord3F: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.regBX), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBase; - }, - /** - * opModGrpWord40(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord40: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord41(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord41: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord42(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord42: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord43(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord43: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord44(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord44: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord45(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord45: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord46(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord46: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord47(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord47: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord48(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord48: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord49(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord49: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord4A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord4A: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord4B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord4B: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord4C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord4C: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord4D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord4D: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord4E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord4E: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord4F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord4F: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord50(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord50: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord51(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord51: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord52(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord52: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord53(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord53: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord54(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord54: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord55(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord55: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord56(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord56: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord57(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord57: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord58(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord58: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord59(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord59: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord5A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord5A: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord5B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord5B: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord5C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord5C: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord5D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord5D: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord5E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord5E: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord5F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord5F: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord60(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord60: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord61(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord61: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord62(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord62: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord63(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord63: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord64(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord64: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord65(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord65: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord66(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord66: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord67(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord67: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord68(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord68: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord69(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord69: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord6A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord6A: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord6B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord6B: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord6C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord6C: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord6D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord6D: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord6E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord6E: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord6F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord6F: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord70(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord70: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord71(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord71: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord72(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord72: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord73(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord73: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord74(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord74: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord75(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord75: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord76(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord76: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord77(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord77: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord78(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord78: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord79(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord79: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord7A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord7A: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord7B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord7B: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord7C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=100 (SI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord7C: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord7D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=101 (DI+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord7D: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord7E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=110 (BP+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord7E: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord7F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=111 (BX+d8) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord7F: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord80(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord80: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord81(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord81: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord82(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord82: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord83(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord83: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord84(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord84: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord85(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord85: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord86(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord86: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord87(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord87: function(afnGrp, fnSrc) { - var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord88(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord88: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord89(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord89: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord8A(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord8A: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord8B(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord8B: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord8C(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord8C: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord8D(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord8D: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord8E(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord8E: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord8F(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord8F: function(afnGrp, fnSrc) { - var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord90(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord90: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord91(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord91: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord92(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord92: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord93(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord93: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord94(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord94: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord95(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord95: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord96(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord96: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord97(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord97: function(afnGrp, fnSrc) { - var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord98(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord98: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord99(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord99: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord9A(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord9A: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWord9B(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord9B: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWord9C(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord9C: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord9D(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord9D: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord9E(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord9E: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWord9F(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWord9F: function(afnGrp, fnSrc) { - var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordA0(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordA0: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWordA1(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordA1: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWordA2(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordA2: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWordA3(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordA3: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWordA4(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordA4: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordA5(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordA5: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordA6(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordA6: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordA7(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordA7: function(afnGrp, fnSrc) { - var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordA8(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordA8: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWordA9(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordA9: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWordAA(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordAA: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWordAB(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordAB: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWordAC(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordAC: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordAD(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordAD: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordAE(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordAE: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordAF(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordAF: function(afnGrp, fnSrc) { - var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordB0(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordB0: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWordB1(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordB1: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWordB2(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordB2: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWordB3(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordB3: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWordB4(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordB4: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordB5(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordB5: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordB6(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordB6: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordB7(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordB7: function(afnGrp, fnSrc) { - var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordB8(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordB8: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regBX + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWordB9(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordB9: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regBX + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWordBA(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordBA: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; - }, - /** - * opModGrpWordBB(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordBB: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regBP + this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; - }, - /** - * opModGrpWordBC(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=100 (SI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordBC: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regSI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordBD(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=101 (DI+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordBD: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordBE(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=110 (BP+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordBE: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordBF(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=111 (BX+d16) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordBF: function(afnGrp, fnSrc) { - var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); - this.setEAWord(w); - this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; - }, - /** - * opModGrpWordC0(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=000 (AX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordC0: function(afnGrp, fnSrc) { - this.regAX = afnGrp[0].call(this, this.regAX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordC1(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=001 (CX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordC1: function(afnGrp, fnSrc) { - this.regCX = afnGrp[0].call(this, this.regCX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordC2(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=010 (DX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordC2: function(afnGrp, fnSrc) { - this.regDX = afnGrp[0].call(this, this.regDX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordC3(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=011 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordC3: function(afnGrp, fnSrc) { - this.regBX = afnGrp[0].call(this, this.regBX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordC4(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=100 (SP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordC4: function(afnGrp, fnSrc) { - this.regSP = afnGrp[0].call(this, this.regSP, fnSrc.call(this)); - if (BACKTRACK) { - X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordC5(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=101 (BP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordC5: function(afnGrp, fnSrc) { - this.regBP = afnGrp[0].call(this, this.regBP, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordC6(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=110 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordC6: function(afnGrp, fnSrc) { - this.regSI = afnGrp[0].call(this, this.regSI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordC7(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=111 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordC7: function(afnGrp, fnSrc) { - this.regDI = afnGrp[0].call(this, this.regDI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordC8(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=000 (AX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordC8: function(afnGrp, fnSrc) { - this.regAX = afnGrp[1].call(this, this.regAX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordC9(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=001 (CX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordC9: function(afnGrp, fnSrc) { - this.regCX = afnGrp[1].call(this, this.regCX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordCA(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=010 (DX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordCA: function(afnGrp, fnSrc) { - this.regDX = afnGrp[1].call(this, this.regDX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordCB(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=011 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordCB: function(afnGrp, fnSrc) { - this.regBX = afnGrp[1].call(this, this.regBX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordCC(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=100 (SP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordCC: function(afnGrp, fnSrc) { - this.regSP = afnGrp[1].call(this, this.regSP, fnSrc.call(this)); - if (BACKTRACK) { - X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordCD(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=101 (BP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordCD: function(afnGrp, fnSrc) { - this.regBP = afnGrp[1].call(this, this.regBP, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordCE(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=110 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordCE: function(afnGrp, fnSrc) { - this.regSI = afnGrp[1].call(this, this.regSI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordCF(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=111 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordCF: function(afnGrp, fnSrc) { - this.regDI = afnGrp[1].call(this, this.regDI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordD0(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=000 (AX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordD0: function(afnGrp, fnSrc) { - this.regAX = afnGrp[2].call(this, this.regAX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordD1(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=001 (CX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordD1: function(afnGrp, fnSrc) { - this.regCX = afnGrp[2].call(this, this.regCX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordD2(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=010 (DX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordD2: function(afnGrp, fnSrc) { - this.regDX = afnGrp[2].call(this, this.regDX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordD3(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=011 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordD3: function(afnGrp, fnSrc) { - this.regBX = afnGrp[2].call(this, this.regBX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordD4(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=100 (SP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordD4: function(afnGrp, fnSrc) { - this.regSP = afnGrp[2].call(this, this.regSP, fnSrc.call(this)); - if (BACKTRACK) { - X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordD5(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=101 (BP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordD5: function(afnGrp, fnSrc) { - this.regBP = afnGrp[2].call(this, this.regBP, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordD6(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=110 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordD6: function(afnGrp, fnSrc) { - this.regSI = afnGrp[2].call(this, this.regSI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordD7(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=111 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordD7: function(afnGrp, fnSrc) { - this.regDI = afnGrp[2].call(this, this.regDI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordD8(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=000 (AX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordD8: function(afnGrp, fnSrc) { - this.regAX = afnGrp[3].call(this, this.regAX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordD9(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=001 (CX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordD9: function(afnGrp, fnSrc) { - this.regCX = afnGrp[3].call(this, this.regCX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordDA(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=010 (DX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordDA: function(afnGrp, fnSrc) { - this.regDX = afnGrp[3].call(this, this.regDX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordDB(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=011 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordDB: function(afnGrp, fnSrc) { - this.regBX = afnGrp[3].call(this, this.regBX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordDC(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=100 (SP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordDC: function(afnGrp, fnSrc) { - this.regSP = afnGrp[3].call(this, this.regSP, fnSrc.call(this)); - if (BACKTRACK) { - X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordDD(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=101 (BP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordDD: function(afnGrp, fnSrc) { - this.regBP = afnGrp[3].call(this, this.regBP, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordDE(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=110 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordDE: function(afnGrp, fnSrc) { - this.regSI = afnGrp[3].call(this, this.regSI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordDF(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=111 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordDF: function(afnGrp, fnSrc) { - this.regDI = afnGrp[3].call(this, this.regDI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordE0(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=000 (AX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordE0: function(afnGrp, fnSrc) { - this.regAX = afnGrp[4].call(this, this.regAX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordE1(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=001 (CX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordE1: function(afnGrp, fnSrc) { - this.regCX = afnGrp[4].call(this, this.regCX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordE2(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=010 (DX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordE2: function(afnGrp, fnSrc) { - this.regDX = afnGrp[4].call(this, this.regDX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordE3(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=011 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordE3: function(afnGrp, fnSrc) { - this.regBX = afnGrp[4].call(this, this.regBX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordE4(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=100 (SP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordE4: function(afnGrp, fnSrc) { - this.regSP = afnGrp[4].call(this, this.regSP, fnSrc.call(this)); - if (BACKTRACK) { - X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordE5(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=101 (BP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordE5: function(afnGrp, fnSrc) { - this.regBP = afnGrp[4].call(this, this.regBP, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordE6(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=110 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordE6: function(afnGrp, fnSrc) { - this.regSI = afnGrp[4].call(this, this.regSI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordE7(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=111 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordE7: function(afnGrp, fnSrc) { - this.regDI = afnGrp[4].call(this, this.regDI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordE8(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=000 (AX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordE8: function(afnGrp, fnSrc) { - this.regAX = afnGrp[5].call(this, this.regAX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordE9(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=001 (CX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordE9: function(afnGrp, fnSrc) { - this.regCX = afnGrp[5].call(this, this.regCX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordEA(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=010 (DX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordEA: function(afnGrp, fnSrc) { - this.regDX = afnGrp[5].call(this, this.regDX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordEB(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=011 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordEB: function(afnGrp, fnSrc) { - this.regBX = afnGrp[5].call(this, this.regBX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordEC(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=100 (SP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordEC: function(afnGrp, fnSrc) { - this.regSP = afnGrp[5].call(this, this.regSP, fnSrc.call(this)); - if (BACKTRACK) { - X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordED(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=101 (BP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordED: function(afnGrp, fnSrc) { - this.regBP = afnGrp[5].call(this, this.regBP, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordEE(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=110 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordEE: function(afnGrp, fnSrc) { - this.regSI = afnGrp[5].call(this, this.regSI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordEF(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=111 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordEF: function(afnGrp, fnSrc) { - this.regDI = afnGrp[5].call(this, this.regDI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordF0(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=000 (AX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordF0: function(afnGrp, fnSrc) { - this.regAX = afnGrp[6].call(this, this.regAX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordF1(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=001 (CX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordF1: function(afnGrp, fnSrc) { - this.regCX = afnGrp[6].call(this, this.regCX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordF2(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=010 (DX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordF2: function(afnGrp, fnSrc) { - this.regDX = afnGrp[6].call(this, this.regDX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordF3(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=011 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordF3: function(afnGrp, fnSrc) { - this.regBX = afnGrp[6].call(this, this.regBX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordF4(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=100 (SP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordF4: function(afnGrp, fnSrc) { - this.regSP = afnGrp[6].call(this, this.regSP, fnSrc.call(this)); - if (BACKTRACK) { - X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordF5(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=101 (BP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordF5: function(afnGrp, fnSrc) { - this.regBP = afnGrp[6].call(this, this.regBP, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordF6(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=110 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordF6: function(afnGrp, fnSrc) { - this.regSI = afnGrp[6].call(this, this.regSI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordF7(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=111 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordF7: function(afnGrp, fnSrc) { - this.regDI = afnGrp[6].call(this, this.regDI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordF8(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=000 (AX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordF8: function(afnGrp, fnSrc) { - this.regAX = afnGrp[7].call(this, this.regAX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordF9(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=001 (CX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordF9: function(afnGrp, fnSrc) { - this.regCX = afnGrp[7].call(this, this.regCX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordFA(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=010 (DX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordFA: function(afnGrp, fnSrc) { - this.regDX = afnGrp[7].call(this, this.regDX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordFB(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=011 (BX) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordFB: function(afnGrp, fnSrc) { - this.regBX = afnGrp[7].call(this, this.regBX, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordFC(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=100 (SP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordFC: function(afnGrp, fnSrc) { - this.regSP = afnGrp[7].call(this, this.regSP, fnSrc.call(this)); - if (BACKTRACK) { - X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordFD(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=101 (BP) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordFD: function(afnGrp, fnSrc) { - this.regBP = afnGrp[7].call(this, this.regBP, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordFE(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=110 (SI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordFE: function(afnGrp, fnSrc) { - this.regSI = afnGrp[7].call(this, this.regSI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; - } - }, - /** - * opModGrpWordFF(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=111 (DI) - * - * @this {X86CPU} - * @param {Array.} afnGrp - * @param {function()} fnSrc - */ - opModGrpWordFF: function(afnGrp, fnSrc) { - this.regDI = afnGrp[7].call(this, this.regDI, fnSrc.call(this)); - if (BACKTRACK) { - this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; - } - } -}; - -X86Mods.aOpModsMemByte = [ - X86Mods.opModMemByte00, X86Mods.opModMemByte01, X86Mods.opModMemByte02, X86Mods.opModMemByte03, - X86Mods.opModMemByte04, X86Mods.opModMemByte05, X86Mods.opModMemByte06, X86Mods.opModMemByte07, - X86Mods.opModMemByte08, X86Mods.opModMemByte09, X86Mods.opModMemByte0A, X86Mods.opModMemByte0B, - X86Mods.opModMemByte0C, X86Mods.opModMemByte0D, X86Mods.opModMemByte0E, X86Mods.opModMemByte0F, - X86Mods.opModMemByte10, X86Mods.opModMemByte11, X86Mods.opModMemByte12, X86Mods.opModMemByte13, - X86Mods.opModMemByte14, X86Mods.opModMemByte15, X86Mods.opModMemByte16, X86Mods.opModMemByte17, - X86Mods.opModMemByte18, X86Mods.opModMemByte19, X86Mods.opModMemByte1A, X86Mods.opModMemByte1B, - X86Mods.opModMemByte1C, X86Mods.opModMemByte1D, X86Mods.opModMemByte1E, X86Mods.opModMemByte1F, - X86Mods.opModMemByte20, X86Mods.opModMemByte21, X86Mods.opModMemByte22, X86Mods.opModMemByte23, - X86Mods.opModMemByte24, X86Mods.opModMemByte25, X86Mods.opModMemByte26, X86Mods.opModMemByte27, - X86Mods.opModMemByte28, X86Mods.opModMemByte29, X86Mods.opModMemByte2A, X86Mods.opModMemByte2B, - X86Mods.opModMemByte2C, X86Mods.opModMemByte2D, X86Mods.opModMemByte2E, X86Mods.opModMemByte2F, - X86Mods.opModMemByte30, X86Mods.opModMemByte31, X86Mods.opModMemByte32, X86Mods.opModMemByte33, - X86Mods.opModMemByte34, X86Mods.opModMemByte35, X86Mods.opModMemByte36, X86Mods.opModMemByte37, - X86Mods.opModMemByte38, X86Mods.opModMemByte39, X86Mods.opModMemByte3A, X86Mods.opModMemByte3B, - X86Mods.opModMemByte3C, X86Mods.opModMemByte3D, X86Mods.opModMemByte3E, X86Mods.opModMemByte3F, - X86Mods.opModMemByte40, X86Mods.opModMemByte41, X86Mods.opModMemByte42, X86Mods.opModMemByte43, - X86Mods.opModMemByte44, X86Mods.opModMemByte45, X86Mods.opModMemByte46, X86Mods.opModMemByte47, - X86Mods.opModMemByte48, X86Mods.opModMemByte49, X86Mods.opModMemByte4A, X86Mods.opModMemByte4B, - X86Mods.opModMemByte4C, X86Mods.opModMemByte4D, X86Mods.opModMemByte4E, X86Mods.opModMemByte4F, - X86Mods.opModMemByte50, X86Mods.opModMemByte51, X86Mods.opModMemByte52, X86Mods.opModMemByte53, - X86Mods.opModMemByte54, X86Mods.opModMemByte55, X86Mods.opModMemByte56, X86Mods.opModMemByte57, - X86Mods.opModMemByte58, X86Mods.opModMemByte59, X86Mods.opModMemByte5A, X86Mods.opModMemByte5B, - X86Mods.opModMemByte5C, X86Mods.opModMemByte5D, X86Mods.opModMemByte5E, X86Mods.opModMemByte5F, - X86Mods.opModMemByte60, X86Mods.opModMemByte61, X86Mods.opModMemByte62, X86Mods.opModMemByte63, - X86Mods.opModMemByte64, X86Mods.opModMemByte65, X86Mods.opModMemByte66, X86Mods.opModMemByte67, - X86Mods.opModMemByte68, X86Mods.opModMemByte69, X86Mods.opModMemByte6A, X86Mods.opModMemByte6B, - X86Mods.opModMemByte6C, X86Mods.opModMemByte6D, X86Mods.opModMemByte6E, X86Mods.opModMemByte6F, - X86Mods.opModMemByte70, X86Mods.opModMemByte71, X86Mods.opModMemByte72, X86Mods.opModMemByte73, - X86Mods.opModMemByte74, X86Mods.opModMemByte75, X86Mods.opModMemByte76, X86Mods.opModMemByte77, - X86Mods.opModMemByte78, X86Mods.opModMemByte79, X86Mods.opModMemByte7A, X86Mods.opModMemByte7B, - X86Mods.opModMemByte7C, X86Mods.opModMemByte7D, X86Mods.opModMemByte7E, X86Mods.opModMemByte7F, - X86Mods.opModMemByte80, X86Mods.opModMemByte81, X86Mods.opModMemByte82, X86Mods.opModMemByte83, - X86Mods.opModMemByte84, X86Mods.opModMemByte85, X86Mods.opModMemByte86, X86Mods.opModMemByte87, - X86Mods.opModMemByte88, X86Mods.opModMemByte89, X86Mods.opModMemByte8A, X86Mods.opModMemByte8B, - X86Mods.opModMemByte8C, X86Mods.opModMemByte8D, X86Mods.opModMemByte8E, X86Mods.opModMemByte8F, - X86Mods.opModMemByte90, X86Mods.opModMemByte91, X86Mods.opModMemByte92, X86Mods.opModMemByte93, - X86Mods.opModMemByte94, X86Mods.opModMemByte95, X86Mods.opModMemByte96, X86Mods.opModMemByte97, - X86Mods.opModMemByte98, X86Mods.opModMemByte99, X86Mods.opModMemByte9A, X86Mods.opModMemByte9B, - X86Mods.opModMemByte9C, X86Mods.opModMemByte9D, X86Mods.opModMemByte9E, X86Mods.opModMemByte9F, - X86Mods.opModMemByteA0, X86Mods.opModMemByteA1, X86Mods.opModMemByteA2, X86Mods.opModMemByteA3, - X86Mods.opModMemByteA4, X86Mods.opModMemByteA5, X86Mods.opModMemByteA6, X86Mods.opModMemByteA7, - X86Mods.opModMemByteA8, X86Mods.opModMemByteA9, X86Mods.opModMemByteAA, X86Mods.opModMemByteAB, - X86Mods.opModMemByteAC, X86Mods.opModMemByteAD, X86Mods.opModMemByteAE, X86Mods.opModMemByteAF, - X86Mods.opModMemByteB0, X86Mods.opModMemByteB1, X86Mods.opModMemByteB2, X86Mods.opModMemByteB3, - X86Mods.opModMemByteB4, X86Mods.opModMemByteB5, X86Mods.opModMemByteB6, X86Mods.opModMemByteB7, - X86Mods.opModMemByteB8, X86Mods.opModMemByteB9, X86Mods.opModMemByteBA, X86Mods.opModMemByteBB, - X86Mods.opModMemByteBC, X86Mods.opModMemByteBD, X86Mods.opModMemByteBE, X86Mods.opModMemByteBF, - X86Mods.opModRegByteC0, X86Mods.opModRegByteC8, X86Mods.opModRegByteD0, X86Mods.opModRegByteD8, - X86Mods.opModRegByteE0, X86Mods.opModRegByteE8, X86Mods.opModRegByteF0, X86Mods.opModRegByteF8, - X86Mods.opModRegByteC1, X86Mods.opModRegByteC9, X86Mods.opModRegByteD1, X86Mods.opModRegByteD9, - X86Mods.opModRegByteE1, X86Mods.opModRegByteE9, X86Mods.opModRegByteF1, X86Mods.opModRegByteF9, - X86Mods.opModRegByteC2, X86Mods.opModRegByteCA, X86Mods.opModRegByteD2, X86Mods.opModRegByteDA, - X86Mods.opModRegByteE2, X86Mods.opModRegByteEA, X86Mods.opModRegByteF2, X86Mods.opModRegByteFA, - X86Mods.opModRegByteC3, X86Mods.opModRegByteCB, X86Mods.opModRegByteD3, X86Mods.opModRegByteDB, - X86Mods.opModRegByteE3, X86Mods.opModRegByteEB, X86Mods.opModRegByteF3, X86Mods.opModRegByteFB, - X86Mods.opModRegByteC4, X86Mods.opModRegByteCC, X86Mods.opModRegByteD4, X86Mods.opModRegByteDC, - X86Mods.opModRegByteE4, X86Mods.opModRegByteEC, X86Mods.opModRegByteF4, X86Mods.opModRegByteFC, - X86Mods.opModRegByteC5, X86Mods.opModRegByteCD, X86Mods.opModRegByteD5, X86Mods.opModRegByteDD, - X86Mods.opModRegByteE5, X86Mods.opModRegByteED, X86Mods.opModRegByteF5, X86Mods.opModRegByteFD, - X86Mods.opModRegByteC6, X86Mods.opModRegByteCE, X86Mods.opModRegByteD6, X86Mods.opModRegByteDE, - X86Mods.opModRegByteE6, X86Mods.opModRegByteEE, X86Mods.opModRegByteF6, X86Mods.opModRegByteFE, - X86Mods.opModRegByteC7, X86Mods.opModRegByteCF, X86Mods.opModRegByteD7, X86Mods.opModRegByteDF, - X86Mods.opModRegByteE7, X86Mods.opModRegByteEF, X86Mods.opModRegByteF7, X86Mods.opModRegByteFF -]; - -X86Mods.aOpModsMemWord = [ - X86Mods.opModMemWord00, X86Mods.opModMemWord01, X86Mods.opModMemWord02, X86Mods.opModMemWord03, - X86Mods.opModMemWord04, X86Mods.opModMemWord05, X86Mods.opModMemWord06, X86Mods.opModMemWord07, - X86Mods.opModMemWord08, X86Mods.opModMemWord09, X86Mods.opModMemWord0A, X86Mods.opModMemWord0B, - X86Mods.opModMemWord0C, X86Mods.opModMemWord0D, X86Mods.opModMemWord0E, X86Mods.opModMemWord0F, - X86Mods.opModMemWord10, X86Mods.opModMemWord11, X86Mods.opModMemWord12, X86Mods.opModMemWord13, - X86Mods.opModMemWord14, X86Mods.opModMemWord15, X86Mods.opModMemWord16, X86Mods.opModMemWord17, - X86Mods.opModMemWord18, X86Mods.opModMemWord19, X86Mods.opModMemWord1A, X86Mods.opModMemWord1B, - X86Mods.opModMemWord1C, X86Mods.opModMemWord1D, X86Mods.opModMemWord1E, X86Mods.opModMemWord1F, - X86Mods.opModMemWord20, X86Mods.opModMemWord21, X86Mods.opModMemWord22, X86Mods.opModMemWord23, - X86Mods.opModMemWord24, X86Mods.opModMemWord25, X86Mods.opModMemWord26, X86Mods.opModMemWord27, - X86Mods.opModMemWord28, X86Mods.opModMemWord29, X86Mods.opModMemWord2A, X86Mods.opModMemWord2B, - X86Mods.opModMemWord2C, X86Mods.opModMemWord2D, X86Mods.opModMemWord2E, X86Mods.opModMemWord2F, - X86Mods.opModMemWord30, X86Mods.opModMemWord31, X86Mods.opModMemWord32, X86Mods.opModMemWord33, - X86Mods.opModMemWord34, X86Mods.opModMemWord35, X86Mods.opModMemWord36, X86Mods.opModMemWord37, - X86Mods.opModMemWord38, X86Mods.opModMemWord39, X86Mods.opModMemWord3A, X86Mods.opModMemWord3B, - X86Mods.opModMemWord3C, X86Mods.opModMemWord3D, X86Mods.opModMemWord3E, X86Mods.opModMemWord3F, - X86Mods.opModMemWord40, X86Mods.opModMemWord41, X86Mods.opModMemWord42, X86Mods.opModMemWord43, - X86Mods.opModMemWord44, X86Mods.opModMemWord45, X86Mods.opModMemWord46, X86Mods.opModMemWord47, - X86Mods.opModMemWord48, X86Mods.opModMemWord49, X86Mods.opModMemWord4A, X86Mods.opModMemWord4B, - X86Mods.opModMemWord4C, X86Mods.opModMemWord4D, X86Mods.opModMemWord4E, X86Mods.opModMemWord4F, - X86Mods.opModMemWord50, X86Mods.opModMemWord51, X86Mods.opModMemWord52, X86Mods.opModMemWord53, - X86Mods.opModMemWord54, X86Mods.opModMemWord55, X86Mods.opModMemWord56, X86Mods.opModMemWord57, - X86Mods.opModMemWord58, X86Mods.opModMemWord59, X86Mods.opModMemWord5A, X86Mods.opModMemWord5B, - X86Mods.opModMemWord5C, X86Mods.opModMemWord5D, X86Mods.opModMemWord5E, X86Mods.opModMemWord5F, - X86Mods.opModMemWord60, X86Mods.opModMemWord61, X86Mods.opModMemWord62, X86Mods.opModMemWord63, - X86Mods.opModMemWord64, X86Mods.opModMemWord65, X86Mods.opModMemWord66, X86Mods.opModMemWord67, - X86Mods.opModMemWord68, X86Mods.opModMemWord69, X86Mods.opModMemWord6A, X86Mods.opModMemWord6B, - X86Mods.opModMemWord6C, X86Mods.opModMemWord6D, X86Mods.opModMemWord6E, X86Mods.opModMemWord6F, - X86Mods.opModMemWord70, X86Mods.opModMemWord71, X86Mods.opModMemWord72, X86Mods.opModMemWord73, - X86Mods.opModMemWord74, X86Mods.opModMemWord75, X86Mods.opModMemWord76, X86Mods.opModMemWord77, - X86Mods.opModMemWord78, X86Mods.opModMemWord79, X86Mods.opModMemWord7A, X86Mods.opModMemWord7B, - X86Mods.opModMemWord7C, X86Mods.opModMemWord7D, X86Mods.opModMemWord7E, X86Mods.opModMemWord7F, - X86Mods.opModMemWord80, X86Mods.opModMemWord81, X86Mods.opModMemWord82, X86Mods.opModMemWord83, - X86Mods.opModMemWord84, X86Mods.opModMemWord85, X86Mods.opModMemWord86, X86Mods.opModMemWord87, - X86Mods.opModMemWord88, X86Mods.opModMemWord89, X86Mods.opModMemWord8A, X86Mods.opModMemWord8B, - X86Mods.opModMemWord8C, X86Mods.opModMemWord8D, X86Mods.opModMemWord8E, X86Mods.opModMemWord8F, - X86Mods.opModMemWord90, X86Mods.opModMemWord91, X86Mods.opModMemWord92, X86Mods.opModMemWord93, - X86Mods.opModMemWord94, X86Mods.opModMemWord95, X86Mods.opModMemWord96, X86Mods.opModMemWord97, - X86Mods.opModMemWord98, X86Mods.opModMemWord99, X86Mods.opModMemWord9A, X86Mods.opModMemWord9B, - X86Mods.opModMemWord9C, X86Mods.opModMemWord9D, X86Mods.opModMemWord9E, X86Mods.opModMemWord9F, - X86Mods.opModMemWordA0, X86Mods.opModMemWordA1, X86Mods.opModMemWordA2, X86Mods.opModMemWordA3, - X86Mods.opModMemWordA4, X86Mods.opModMemWordA5, X86Mods.opModMemWordA6, X86Mods.opModMemWordA7, - X86Mods.opModMemWordA8, X86Mods.opModMemWordA9, X86Mods.opModMemWordAA, X86Mods.opModMemWordAB, - X86Mods.opModMemWordAC, X86Mods.opModMemWordAD, X86Mods.opModMemWordAE, X86Mods.opModMemWordAF, - X86Mods.opModMemWordB0, X86Mods.opModMemWordB1, X86Mods.opModMemWordB2, X86Mods.opModMemWordB3, - X86Mods.opModMemWordB4, X86Mods.opModMemWordB5, X86Mods.opModMemWordB6, X86Mods.opModMemWordB7, - X86Mods.opModMemWordB8, X86Mods.opModMemWordB9, X86Mods.opModMemWordBA, X86Mods.opModMemWordBB, - X86Mods.opModMemWordBC, X86Mods.opModMemWordBD, X86Mods.opModMemWordBE, X86Mods.opModMemWordBF, - X86Mods.opModRegWordC0, X86Mods.opModRegWordC8, X86Mods.opModRegWordD0, X86Mods.opModRegWordD8, - X86Mods.opModRegWordE0, X86Mods.opModRegWordE8, X86Mods.opModRegWordF0, X86Mods.opModRegWordF8, - X86Mods.opModRegWordC1, X86Mods.opModRegWordC9, X86Mods.opModRegWordD1, X86Mods.opModRegWordD9, - X86Mods.opModRegWordE1, X86Mods.opModRegWordE9, X86Mods.opModRegWordF1, X86Mods.opModRegWordF9, - X86Mods.opModRegWordC2, X86Mods.opModRegWordCA, X86Mods.opModRegWordD2, X86Mods.opModRegWordDA, - X86Mods.opModRegWordE2, X86Mods.opModRegWordEA, X86Mods.opModRegWordF2, X86Mods.opModRegWordFA, - X86Mods.opModRegWordC3, X86Mods.opModRegWordCB, X86Mods.opModRegWordD3, X86Mods.opModRegWordDB, - X86Mods.opModRegWordE3, X86Mods.opModRegWordEB, X86Mods.opModRegWordF3, X86Mods.opModRegWordFB, - X86Mods.opModRegWordC4, X86Mods.opModRegWordCC, X86Mods.opModRegWordD4, X86Mods.opModRegWordDC, - X86Mods.opModRegWordE4, X86Mods.opModRegWordEC, X86Mods.opModRegWordF4, X86Mods.opModRegWordFC, - X86Mods.opModRegWordC5, X86Mods.opModRegWordCD, X86Mods.opModRegWordD5, X86Mods.opModRegWordDD, - X86Mods.opModRegWordE5, X86Mods.opModRegWordED, X86Mods.opModRegWordF5, X86Mods.opModRegWordFD, - X86Mods.opModRegWordC6, X86Mods.opModRegWordCE, X86Mods.opModRegWordD6, X86Mods.opModRegWordDE, - X86Mods.opModRegWordE6, X86Mods.opModRegWordEE, X86Mods.opModRegWordF6, X86Mods.opModRegWordFE, - X86Mods.opModRegWordC7, X86Mods.opModRegWordCF, X86Mods.opModRegWordD7, X86Mods.opModRegWordDF, - X86Mods.opModRegWordE7, X86Mods.opModRegWordEF, X86Mods.opModRegWordF7, X86Mods.opModRegWordFF -]; - -X86Mods.aOpModsRegByte = [ - X86Mods.opModRegByte00, X86Mods.opModRegByte01, X86Mods.opModRegByte02, X86Mods.opModRegByte03, - X86Mods.opModRegByte04, X86Mods.opModRegByte05, X86Mods.opModRegByte06, X86Mods.opModRegByte07, - X86Mods.opModRegByte08, X86Mods.opModRegByte09, X86Mods.opModRegByte0A, X86Mods.opModRegByte0B, - X86Mods.opModRegByte0C, X86Mods.opModRegByte0D, X86Mods.opModRegByte0E, X86Mods.opModRegByte0F, - X86Mods.opModRegByte10, X86Mods.opModRegByte11, X86Mods.opModRegByte12, X86Mods.opModRegByte13, - X86Mods.opModRegByte14, X86Mods.opModRegByte15, X86Mods.opModRegByte16, X86Mods.opModRegByte17, - X86Mods.opModRegByte18, X86Mods.opModRegByte19, X86Mods.opModRegByte1A, X86Mods.opModRegByte1B, - X86Mods.opModRegByte1C, X86Mods.opModRegByte1D, X86Mods.opModRegByte1E, X86Mods.opModRegByte1F, - X86Mods.opModRegByte20, X86Mods.opModRegByte21, X86Mods.opModRegByte22, X86Mods.opModRegByte23, - X86Mods.opModRegByte24, X86Mods.opModRegByte25, X86Mods.opModRegByte26, X86Mods.opModRegByte27, - X86Mods.opModRegByte28, X86Mods.opModRegByte29, X86Mods.opModRegByte2A, X86Mods.opModRegByte2B, - X86Mods.opModRegByte2C, X86Mods.opModRegByte2D, X86Mods.opModRegByte2E, X86Mods.opModRegByte2F, - X86Mods.opModRegByte30, X86Mods.opModRegByte31, X86Mods.opModRegByte32, X86Mods.opModRegByte33, - X86Mods.opModRegByte34, X86Mods.opModRegByte35, X86Mods.opModRegByte36, X86Mods.opModRegByte37, - X86Mods.opModRegByte38, X86Mods.opModRegByte39, X86Mods.opModRegByte3A, X86Mods.opModRegByte3B, - X86Mods.opModRegByte3C, X86Mods.opModRegByte3D, X86Mods.opModRegByte3E, X86Mods.opModRegByte3F, - X86Mods.opModRegByte40, X86Mods.opModRegByte41, X86Mods.opModRegByte42, X86Mods.opModRegByte43, - X86Mods.opModRegByte44, X86Mods.opModRegByte45, X86Mods.opModRegByte46, X86Mods.opModRegByte47, - X86Mods.opModRegByte48, X86Mods.opModRegByte49, X86Mods.opModRegByte4A, X86Mods.opModRegByte4B, - X86Mods.opModRegByte4C, X86Mods.opModRegByte4D, X86Mods.opModRegByte4E, X86Mods.opModRegByte4F, - X86Mods.opModRegByte50, X86Mods.opModRegByte51, X86Mods.opModRegByte52, X86Mods.opModRegByte53, - X86Mods.opModRegByte54, X86Mods.opModRegByte55, X86Mods.opModRegByte56, X86Mods.opModRegByte57, - X86Mods.opModRegByte58, X86Mods.opModRegByte59, X86Mods.opModRegByte5A, X86Mods.opModRegByte5B, - X86Mods.opModRegByte5C, X86Mods.opModRegByte5D, X86Mods.opModRegByte5E, X86Mods.opModRegByte5F, - X86Mods.opModRegByte60, X86Mods.opModRegByte61, X86Mods.opModRegByte62, X86Mods.opModRegByte63, - X86Mods.opModRegByte64, X86Mods.opModRegByte65, X86Mods.opModRegByte66, X86Mods.opModRegByte67, - X86Mods.opModRegByte68, X86Mods.opModRegByte69, X86Mods.opModRegByte6A, X86Mods.opModRegByte6B, - X86Mods.opModRegByte6C, X86Mods.opModRegByte6D, X86Mods.opModRegByte6E, X86Mods.opModRegByte6F, - X86Mods.opModRegByte70, X86Mods.opModRegByte71, X86Mods.opModRegByte72, X86Mods.opModRegByte73, - X86Mods.opModRegByte74, X86Mods.opModRegByte75, X86Mods.opModRegByte76, X86Mods.opModRegByte77, - X86Mods.opModRegByte78, X86Mods.opModRegByte79, X86Mods.opModRegByte7A, X86Mods.opModRegByte7B, - X86Mods.opModRegByte7C, X86Mods.opModRegByte7D, X86Mods.opModRegByte7E, X86Mods.opModRegByte7F, - X86Mods.opModRegByte80, X86Mods.opModRegByte81, X86Mods.opModRegByte82, X86Mods.opModRegByte83, - X86Mods.opModRegByte84, X86Mods.opModRegByte85, X86Mods.opModRegByte86, X86Mods.opModRegByte87, - X86Mods.opModRegByte88, X86Mods.opModRegByte89, X86Mods.opModRegByte8A, X86Mods.opModRegByte8B, - X86Mods.opModRegByte8C, X86Mods.opModRegByte8D, X86Mods.opModRegByte8E, X86Mods.opModRegByte8F, - X86Mods.opModRegByte90, X86Mods.opModRegByte91, X86Mods.opModRegByte92, X86Mods.opModRegByte93, - X86Mods.opModRegByte94, X86Mods.opModRegByte95, X86Mods.opModRegByte96, X86Mods.opModRegByte97, - X86Mods.opModRegByte98, X86Mods.opModRegByte99, X86Mods.opModRegByte9A, X86Mods.opModRegByte9B, - X86Mods.opModRegByte9C, X86Mods.opModRegByte9D, X86Mods.opModRegByte9E, X86Mods.opModRegByte9F, - X86Mods.opModRegByteA0, X86Mods.opModRegByteA1, X86Mods.opModRegByteA2, X86Mods.opModRegByteA3, - X86Mods.opModRegByteA4, X86Mods.opModRegByteA5, X86Mods.opModRegByteA6, X86Mods.opModRegByteA7, - X86Mods.opModRegByteA8, X86Mods.opModRegByteA9, X86Mods.opModRegByteAA, X86Mods.opModRegByteAB, - X86Mods.opModRegByteAC, X86Mods.opModRegByteAD, X86Mods.opModRegByteAE, X86Mods.opModRegByteAF, - X86Mods.opModRegByteB0, X86Mods.opModRegByteB1, X86Mods.opModRegByteB2, X86Mods.opModRegByteB3, - X86Mods.opModRegByteB4, X86Mods.opModRegByteB5, X86Mods.opModRegByteB6, X86Mods.opModRegByteB7, - X86Mods.opModRegByteB8, X86Mods.opModRegByteB9, X86Mods.opModRegByteBA, X86Mods.opModRegByteBB, - X86Mods.opModRegByteBC, X86Mods.opModRegByteBD, X86Mods.opModRegByteBE, X86Mods.opModRegByteBF, - X86Mods.opModRegByteC0, X86Mods.opModRegByteC1, X86Mods.opModRegByteC2, X86Mods.opModRegByteC3, - X86Mods.opModRegByteC4, X86Mods.opModRegByteC5, X86Mods.opModRegByteC6, X86Mods.opModRegByteC7, - X86Mods.opModRegByteC8, X86Mods.opModRegByteC9, X86Mods.opModRegByteCA, X86Mods.opModRegByteCB, - X86Mods.opModRegByteCC, X86Mods.opModRegByteCD, X86Mods.opModRegByteCE, X86Mods.opModRegByteCF, - X86Mods.opModRegByteD0, X86Mods.opModRegByteD1, X86Mods.opModRegByteD2, X86Mods.opModRegByteD3, - X86Mods.opModRegByteD4, X86Mods.opModRegByteD5, X86Mods.opModRegByteD6, X86Mods.opModRegByteD7, - X86Mods.opModRegByteD8, X86Mods.opModRegByteD9, X86Mods.opModRegByteDA, X86Mods.opModRegByteDB, - X86Mods.opModRegByteDC, X86Mods.opModRegByteDD, X86Mods.opModRegByteDE, X86Mods.opModRegByteDF, - X86Mods.opModRegByteE0, X86Mods.opModRegByteE1, X86Mods.opModRegByteE2, X86Mods.opModRegByteE3, - X86Mods.opModRegByteE4, X86Mods.opModRegByteE5, X86Mods.opModRegByteE6, X86Mods.opModRegByteE7, - X86Mods.opModRegByteE8, X86Mods.opModRegByteE9, X86Mods.opModRegByteEA, X86Mods.opModRegByteEB, - X86Mods.opModRegByteEC, X86Mods.opModRegByteED, X86Mods.opModRegByteEE, X86Mods.opModRegByteEF, - X86Mods.opModRegByteF0, X86Mods.opModRegByteF1, X86Mods.opModRegByteF2, X86Mods.opModRegByteF3, - X86Mods.opModRegByteF4, X86Mods.opModRegByteF5, X86Mods.opModRegByteF6, X86Mods.opModRegByteF7, - X86Mods.opModRegByteF8, X86Mods.opModRegByteF9, X86Mods.opModRegByteFA, X86Mods.opModRegByteFB, - X86Mods.opModRegByteFC, X86Mods.opModRegByteFD, X86Mods.opModRegByteFE, X86Mods.opModRegByteFF -]; - -X86Mods.aOpModsRegWord = [ - X86Mods.opModRegWord00, X86Mods.opModRegWord01, X86Mods.opModRegWord02, X86Mods.opModRegWord03, - X86Mods.opModRegWord04, X86Mods.opModRegWord05, X86Mods.opModRegWord06, X86Mods.opModRegWord07, - X86Mods.opModRegWord08, X86Mods.opModRegWord09, X86Mods.opModRegWord0A, X86Mods.opModRegWord0B, - X86Mods.opModRegWord0C, X86Mods.opModRegWord0D, X86Mods.opModRegWord0E, X86Mods.opModRegWord0F, - X86Mods.opModRegWord10, X86Mods.opModRegWord11, X86Mods.opModRegWord12, X86Mods.opModRegWord13, - X86Mods.opModRegWord14, X86Mods.opModRegWord15, X86Mods.opModRegWord16, X86Mods.opModRegWord17, - X86Mods.opModRegWord18, X86Mods.opModRegWord19, X86Mods.opModRegWord1A, X86Mods.opModRegWord1B, - X86Mods.opModRegWord1C, X86Mods.opModRegWord1D, X86Mods.opModRegWord1E, X86Mods.opModRegWord1F, - X86Mods.opModRegWord20, X86Mods.opModRegWord21, X86Mods.opModRegWord22, X86Mods.opModRegWord23, - X86Mods.opModRegWord24, X86Mods.opModRegWord25, X86Mods.opModRegWord26, X86Mods.opModRegWord27, - X86Mods.opModRegWord28, X86Mods.opModRegWord29, X86Mods.opModRegWord2A, X86Mods.opModRegWord2B, - X86Mods.opModRegWord2C, X86Mods.opModRegWord2D, X86Mods.opModRegWord2E, X86Mods.opModRegWord2F, - X86Mods.opModRegWord30, X86Mods.opModRegWord31, X86Mods.opModRegWord32, X86Mods.opModRegWord33, - X86Mods.opModRegWord34, X86Mods.opModRegWord35, X86Mods.opModRegWord36, X86Mods.opModRegWord37, - X86Mods.opModRegWord38, X86Mods.opModRegWord39, X86Mods.opModRegWord3A, X86Mods.opModRegWord3B, - X86Mods.opModRegWord3C, X86Mods.opModRegWord3D, X86Mods.opModRegWord3E, X86Mods.opModRegWord3F, - X86Mods.opModRegWord40, X86Mods.opModRegWord41, X86Mods.opModRegWord42, X86Mods.opModRegWord43, - X86Mods.opModRegWord44, X86Mods.opModRegWord45, X86Mods.opModRegWord46, X86Mods.opModRegWord47, - X86Mods.opModRegWord48, X86Mods.opModRegWord49, X86Mods.opModRegWord4A, X86Mods.opModRegWord4B, - X86Mods.opModRegWord4C, X86Mods.opModRegWord4D, X86Mods.opModRegWord4E, X86Mods.opModRegWord4F, - X86Mods.opModRegWord50, X86Mods.opModRegWord51, X86Mods.opModRegWord52, X86Mods.opModRegWord53, - X86Mods.opModRegWord54, X86Mods.opModRegWord55, X86Mods.opModRegWord56, X86Mods.opModRegWord57, - X86Mods.opModRegWord58, X86Mods.opModRegWord59, X86Mods.opModRegWord5A, X86Mods.opModRegWord5B, - X86Mods.opModRegWord5C, X86Mods.opModRegWord5D, X86Mods.opModRegWord5E, X86Mods.opModRegWord5F, - X86Mods.opModRegWord60, X86Mods.opModRegWord61, X86Mods.opModRegWord62, X86Mods.opModRegWord63, - X86Mods.opModRegWord64, X86Mods.opModRegWord65, X86Mods.opModRegWord66, X86Mods.opModRegWord67, - X86Mods.opModRegWord68, X86Mods.opModRegWord69, X86Mods.opModRegWord6A, X86Mods.opModRegWord6B, - X86Mods.opModRegWord6C, X86Mods.opModRegWord6D, X86Mods.opModRegWord6E, X86Mods.opModRegWord6F, - X86Mods.opModRegWord70, X86Mods.opModRegWord71, X86Mods.opModRegWord72, X86Mods.opModRegWord73, - X86Mods.opModRegWord74, X86Mods.opModRegWord75, X86Mods.opModRegWord76, X86Mods.opModRegWord77, - X86Mods.opModRegWord78, X86Mods.opModRegWord79, X86Mods.opModRegWord7A, X86Mods.opModRegWord7B, - X86Mods.opModRegWord7C, X86Mods.opModRegWord7D, X86Mods.opModRegWord7E, X86Mods.opModRegWord7F, - X86Mods.opModRegWord80, X86Mods.opModRegWord81, X86Mods.opModRegWord82, X86Mods.opModRegWord83, - X86Mods.opModRegWord84, X86Mods.opModRegWord85, X86Mods.opModRegWord86, X86Mods.opModRegWord87, - X86Mods.opModRegWord88, X86Mods.opModRegWord89, X86Mods.opModRegWord8A, X86Mods.opModRegWord8B, - X86Mods.opModRegWord8C, X86Mods.opModRegWord8D, X86Mods.opModRegWord8E, X86Mods.opModRegWord8F, - X86Mods.opModRegWord90, X86Mods.opModRegWord91, X86Mods.opModRegWord92, X86Mods.opModRegWord93, - X86Mods.opModRegWord94, X86Mods.opModRegWord95, X86Mods.opModRegWord96, X86Mods.opModRegWord97, - X86Mods.opModRegWord98, X86Mods.opModRegWord99, X86Mods.opModRegWord9A, X86Mods.opModRegWord9B, - X86Mods.opModRegWord9C, X86Mods.opModRegWord9D, X86Mods.opModRegWord9E, X86Mods.opModRegWord9F, - X86Mods.opModRegWordA0, X86Mods.opModRegWordA1, X86Mods.opModRegWordA2, X86Mods.opModRegWordA3, - X86Mods.opModRegWordA4, X86Mods.opModRegWordA5, X86Mods.opModRegWordA6, X86Mods.opModRegWordA7, - X86Mods.opModRegWordA8, X86Mods.opModRegWordA9, X86Mods.opModRegWordAA, X86Mods.opModRegWordAB, - X86Mods.opModRegWordAC, X86Mods.opModRegWordAD, X86Mods.opModRegWordAE, X86Mods.opModRegWordAF, - X86Mods.opModRegWordB0, X86Mods.opModRegWordB1, X86Mods.opModRegWordB2, X86Mods.opModRegWordB3, - X86Mods.opModRegWordB4, X86Mods.opModRegWordB5, X86Mods.opModRegWordB6, X86Mods.opModRegWordB7, - X86Mods.opModRegWordB8, X86Mods.opModRegWordB9, X86Mods.opModRegWordBA, X86Mods.opModRegWordBB, - X86Mods.opModRegWordBC, X86Mods.opModRegWordBD, X86Mods.opModRegWordBE, X86Mods.opModRegWordBF, - X86Mods.opModRegWordC0, X86Mods.opModRegWordC1, X86Mods.opModRegWordC2, X86Mods.opModRegWordC3, - X86Mods.opModRegWordC4, X86Mods.opModRegWordC5, X86Mods.opModRegWordC6, X86Mods.opModRegWordC7, - X86Mods.opModRegWordC8, X86Mods.opModRegWordC9, X86Mods.opModRegWordCA, X86Mods.opModRegWordCB, - X86Mods.opModRegWordCC, X86Mods.opModRegWordCD, X86Mods.opModRegWordCE, X86Mods.opModRegWordCF, - X86Mods.opModRegWordD0, X86Mods.opModRegWordD1, X86Mods.opModRegWordD2, X86Mods.opModRegWordD3, - X86Mods.opModRegWordD4, X86Mods.opModRegWordD5, X86Mods.opModRegWordD6, X86Mods.opModRegWordD7, - X86Mods.opModRegWordD8, X86Mods.opModRegWordD9, X86Mods.opModRegWordDA, X86Mods.opModRegWordDB, - X86Mods.opModRegWordDC, X86Mods.opModRegWordDD, X86Mods.opModRegWordDE, X86Mods.opModRegWordDF, - X86Mods.opModRegWordE0, X86Mods.opModRegWordE1, X86Mods.opModRegWordE2, X86Mods.opModRegWordE3, - X86Mods.opModRegWordE4, X86Mods.opModRegWordE5, X86Mods.opModRegWordE6, X86Mods.opModRegWordE7, - X86Mods.opModRegWordE8, X86Mods.opModRegWordE9, X86Mods.opModRegWordEA, X86Mods.opModRegWordEB, - X86Mods.opModRegWordEC, X86Mods.opModRegWordED, X86Mods.opModRegWordEE, X86Mods.opModRegWordEF, - X86Mods.opModRegWordF0, X86Mods.opModRegWordF1, X86Mods.opModRegWordF2, X86Mods.opModRegWordF3, - X86Mods.opModRegWordF4, X86Mods.opModRegWordF5, X86Mods.opModRegWordF6, X86Mods.opModRegWordF7, - X86Mods.opModRegWordF8, X86Mods.opModRegWordF9, X86Mods.opModRegWordFA, X86Mods.opModRegWordFB, - X86Mods.opModRegWordFC, X86Mods.opModRegWordFD, X86Mods.opModRegWordFE, X86Mods.opModRegWordFF -]; - -X86Mods.aOpModsGrpByte = [ - X86Mods.opModGrpByte00, X86Mods.opModGrpByte01, X86Mods.opModGrpByte02, X86Mods.opModGrpByte03, - X86Mods.opModGrpByte04, X86Mods.opModGrpByte05, X86Mods.opModGrpByte06, X86Mods.opModGrpByte07, - X86Mods.opModGrpByte08, X86Mods.opModGrpByte09, X86Mods.opModGrpByte0A, X86Mods.opModGrpByte0B, - X86Mods.opModGrpByte0C, X86Mods.opModGrpByte0D, X86Mods.opModGrpByte0E, X86Mods.opModGrpByte0F, - X86Mods.opModGrpByte10, X86Mods.opModGrpByte11, X86Mods.opModGrpByte12, X86Mods.opModGrpByte13, - X86Mods.opModGrpByte14, X86Mods.opModGrpByte15, X86Mods.opModGrpByte16, X86Mods.opModGrpByte17, - X86Mods.opModGrpByte18, X86Mods.opModGrpByte19, X86Mods.opModGrpByte1A, X86Mods.opModGrpByte1B, - X86Mods.opModGrpByte1C, X86Mods.opModGrpByte1D, X86Mods.opModGrpByte1E, X86Mods.opModGrpByte1F, - X86Mods.opModGrpByte20, X86Mods.opModGrpByte21, X86Mods.opModGrpByte22, X86Mods.opModGrpByte23, - X86Mods.opModGrpByte24, X86Mods.opModGrpByte25, X86Mods.opModGrpByte26, X86Mods.opModGrpByte27, - X86Mods.opModGrpByte28, X86Mods.opModGrpByte29, X86Mods.opModGrpByte2A, X86Mods.opModGrpByte2B, - X86Mods.opModGrpByte2C, X86Mods.opModGrpByte2D, X86Mods.opModGrpByte2E, X86Mods.opModGrpByte2F, - X86Mods.opModGrpByte30, X86Mods.opModGrpByte31, X86Mods.opModGrpByte32, X86Mods.opModGrpByte33, - X86Mods.opModGrpByte34, X86Mods.opModGrpByte35, X86Mods.opModGrpByte36, X86Mods.opModGrpByte37, - X86Mods.opModGrpByte38, X86Mods.opModGrpByte39, X86Mods.opModGrpByte3A, X86Mods.opModGrpByte3B, - X86Mods.opModGrpByte3C, X86Mods.opModGrpByte3D, X86Mods.opModGrpByte3E, X86Mods.opModGrpByte3F, - X86Mods.opModGrpByte40, X86Mods.opModGrpByte41, X86Mods.opModGrpByte42, X86Mods.opModGrpByte43, - X86Mods.opModGrpByte44, X86Mods.opModGrpByte45, X86Mods.opModGrpByte46, X86Mods.opModGrpByte47, - X86Mods.opModGrpByte48, X86Mods.opModGrpByte49, X86Mods.opModGrpByte4A, X86Mods.opModGrpByte4B, - X86Mods.opModGrpByte4C, X86Mods.opModGrpByte4D, X86Mods.opModGrpByte4E, X86Mods.opModGrpByte4F, - X86Mods.opModGrpByte50, X86Mods.opModGrpByte51, X86Mods.opModGrpByte52, X86Mods.opModGrpByte53, - X86Mods.opModGrpByte54, X86Mods.opModGrpByte55, X86Mods.opModGrpByte56, X86Mods.opModGrpByte57, - X86Mods.opModGrpByte58, X86Mods.opModGrpByte59, X86Mods.opModGrpByte5A, X86Mods.opModGrpByte5B, - X86Mods.opModGrpByte5C, X86Mods.opModGrpByte5D, X86Mods.opModGrpByte5E, X86Mods.opModGrpByte5F, - X86Mods.opModGrpByte60, X86Mods.opModGrpByte61, X86Mods.opModGrpByte62, X86Mods.opModGrpByte63, - X86Mods.opModGrpByte64, X86Mods.opModGrpByte65, X86Mods.opModGrpByte66, X86Mods.opModGrpByte67, - X86Mods.opModGrpByte68, X86Mods.opModGrpByte69, X86Mods.opModGrpByte6A, X86Mods.opModGrpByte6B, - X86Mods.opModGrpByte6C, X86Mods.opModGrpByte6D, X86Mods.opModGrpByte6E, X86Mods.opModGrpByte6F, - X86Mods.opModGrpByte70, X86Mods.opModGrpByte71, X86Mods.opModGrpByte72, X86Mods.opModGrpByte73, - X86Mods.opModGrpByte74, X86Mods.opModGrpByte75, X86Mods.opModGrpByte76, X86Mods.opModGrpByte77, - X86Mods.opModGrpByte78, X86Mods.opModGrpByte79, X86Mods.opModGrpByte7A, X86Mods.opModGrpByte7B, - X86Mods.opModGrpByte7C, X86Mods.opModGrpByte7D, X86Mods.opModGrpByte7E, X86Mods.opModGrpByte7F, - X86Mods.opModGrpByte80, X86Mods.opModGrpByte81, X86Mods.opModGrpByte82, X86Mods.opModGrpByte83, - X86Mods.opModGrpByte84, X86Mods.opModGrpByte85, X86Mods.opModGrpByte86, X86Mods.opModGrpByte87, - X86Mods.opModGrpByte88, X86Mods.opModGrpByte89, X86Mods.opModGrpByte8A, X86Mods.opModGrpByte8B, - X86Mods.opModGrpByte8C, X86Mods.opModGrpByte8D, X86Mods.opModGrpByte8E, X86Mods.opModGrpByte8F, - X86Mods.opModGrpByte90, X86Mods.opModGrpByte91, X86Mods.opModGrpByte92, X86Mods.opModGrpByte93, - X86Mods.opModGrpByte94, X86Mods.opModGrpByte95, X86Mods.opModGrpByte96, X86Mods.opModGrpByte97, - X86Mods.opModGrpByte98, X86Mods.opModGrpByte99, X86Mods.opModGrpByte9A, X86Mods.opModGrpByte9B, - X86Mods.opModGrpByte9C, X86Mods.opModGrpByte9D, X86Mods.opModGrpByte9E, X86Mods.opModGrpByte9F, - X86Mods.opModGrpByteA0, X86Mods.opModGrpByteA1, X86Mods.opModGrpByteA2, X86Mods.opModGrpByteA3, - X86Mods.opModGrpByteA4, X86Mods.opModGrpByteA5, X86Mods.opModGrpByteA6, X86Mods.opModGrpByteA7, - X86Mods.opModGrpByteA8, X86Mods.opModGrpByteA9, X86Mods.opModGrpByteAA, X86Mods.opModGrpByteAB, - X86Mods.opModGrpByteAC, X86Mods.opModGrpByteAD, X86Mods.opModGrpByteAE, X86Mods.opModGrpByteAF, - X86Mods.opModGrpByteB0, X86Mods.opModGrpByteB1, X86Mods.opModGrpByteB2, X86Mods.opModGrpByteB3, - X86Mods.opModGrpByteB4, X86Mods.opModGrpByteB5, X86Mods.opModGrpByteB6, X86Mods.opModGrpByteB7, - X86Mods.opModGrpByteB8, X86Mods.opModGrpByteB9, X86Mods.opModGrpByteBA, X86Mods.opModGrpByteBB, - X86Mods.opModGrpByteBC, X86Mods.opModGrpByteBD, X86Mods.opModGrpByteBE, X86Mods.opModGrpByteBF, - X86Mods.opModGrpByteC0, X86Mods.opModGrpByteC1, X86Mods.opModGrpByteC2, X86Mods.opModGrpByteC3, - X86Mods.opModGrpByteC4, X86Mods.opModGrpByteC5, X86Mods.opModGrpByteC6, X86Mods.opModGrpByteC7, - X86Mods.opModGrpByteC8, X86Mods.opModGrpByteC9, X86Mods.opModGrpByteCA, X86Mods.opModGrpByteCB, - X86Mods.opModGrpByteCC, X86Mods.opModGrpByteCD, X86Mods.opModGrpByteCE, X86Mods.opModGrpByteCF, - X86Mods.opModGrpByteD0, X86Mods.opModGrpByteD1, X86Mods.opModGrpByteD2, X86Mods.opModGrpByteD3, - X86Mods.opModGrpByteD4, X86Mods.opModGrpByteD5, X86Mods.opModGrpByteD6, X86Mods.opModGrpByteD7, - X86Mods.opModGrpByteD8, X86Mods.opModGrpByteD9, X86Mods.opModGrpByteDA, X86Mods.opModGrpByteDB, - X86Mods.opModGrpByteDC, X86Mods.opModGrpByteDD, X86Mods.opModGrpByteDE, X86Mods.opModGrpByteDF, - X86Mods.opModGrpByteE0, X86Mods.opModGrpByteE1, X86Mods.opModGrpByteE2, X86Mods.opModGrpByteE3, - X86Mods.opModGrpByteE4, X86Mods.opModGrpByteE5, X86Mods.opModGrpByteE6, X86Mods.opModGrpByteE7, - X86Mods.opModGrpByteE8, X86Mods.opModGrpByteE9, X86Mods.opModGrpByteEA, X86Mods.opModGrpByteEB, - X86Mods.opModGrpByteEC, X86Mods.opModGrpByteED, X86Mods.opModGrpByteEE, X86Mods.opModGrpByteEF, - X86Mods.opModGrpByteF0, X86Mods.opModGrpByteF1, X86Mods.opModGrpByteF2, X86Mods.opModGrpByteF3, - X86Mods.opModGrpByteF4, X86Mods.opModGrpByteF5, X86Mods.opModGrpByteF6, X86Mods.opModGrpByteF7, - X86Mods.opModGrpByteF8, X86Mods.opModGrpByteF9, X86Mods.opModGrpByteFA, X86Mods.opModGrpByteFB, - X86Mods.opModGrpByteFC, X86Mods.opModGrpByteFD, X86Mods.opModGrpByteFE, X86Mods.opModGrpByteFF -]; - -X86Mods.aOpModsGrpWord = [ - X86Mods.opModGrpWord00, X86Mods.opModGrpWord01, X86Mods.opModGrpWord02, X86Mods.opModGrpWord03, - X86Mods.opModGrpWord04, X86Mods.opModGrpWord05, X86Mods.opModGrpWord06, X86Mods.opModGrpWord07, - X86Mods.opModGrpWord08, X86Mods.opModGrpWord09, X86Mods.opModGrpWord0A, X86Mods.opModGrpWord0B, - X86Mods.opModGrpWord0C, X86Mods.opModGrpWord0D, X86Mods.opModGrpWord0E, X86Mods.opModGrpWord0F, - X86Mods.opModGrpWord10, X86Mods.opModGrpWord11, X86Mods.opModGrpWord12, X86Mods.opModGrpWord13, - X86Mods.opModGrpWord14, X86Mods.opModGrpWord15, X86Mods.opModGrpWord16, X86Mods.opModGrpWord17, - X86Mods.opModGrpWord18, X86Mods.opModGrpWord19, X86Mods.opModGrpWord1A, X86Mods.opModGrpWord1B, - X86Mods.opModGrpWord1C, X86Mods.opModGrpWord1D, X86Mods.opModGrpWord1E, X86Mods.opModGrpWord1F, - X86Mods.opModGrpWord20, X86Mods.opModGrpWord21, X86Mods.opModGrpWord22, X86Mods.opModGrpWord23, - X86Mods.opModGrpWord24, X86Mods.opModGrpWord25, X86Mods.opModGrpWord26, X86Mods.opModGrpWord27, - X86Mods.opModGrpWord28, X86Mods.opModGrpWord29, X86Mods.opModGrpWord2A, X86Mods.opModGrpWord2B, - X86Mods.opModGrpWord2C, X86Mods.opModGrpWord2D, X86Mods.opModGrpWord2E, X86Mods.opModGrpWord2F, - X86Mods.opModGrpWord30, X86Mods.opModGrpWord31, X86Mods.opModGrpWord32, X86Mods.opModGrpWord33, - X86Mods.opModGrpWord34, X86Mods.opModGrpWord35, X86Mods.opModGrpWord36, X86Mods.opModGrpWord37, - X86Mods.opModGrpWord38, X86Mods.opModGrpWord39, X86Mods.opModGrpWord3A, X86Mods.opModGrpWord3B, - X86Mods.opModGrpWord3C, X86Mods.opModGrpWord3D, X86Mods.opModGrpWord3E, X86Mods.opModGrpWord3F, - X86Mods.opModGrpWord40, X86Mods.opModGrpWord41, X86Mods.opModGrpWord42, X86Mods.opModGrpWord43, - X86Mods.opModGrpWord44, X86Mods.opModGrpWord45, X86Mods.opModGrpWord46, X86Mods.opModGrpWord47, - X86Mods.opModGrpWord48, X86Mods.opModGrpWord49, X86Mods.opModGrpWord4A, X86Mods.opModGrpWord4B, - X86Mods.opModGrpWord4C, X86Mods.opModGrpWord4D, X86Mods.opModGrpWord4E, X86Mods.opModGrpWord4F, - X86Mods.opModGrpWord50, X86Mods.opModGrpWord51, X86Mods.opModGrpWord52, X86Mods.opModGrpWord53, - X86Mods.opModGrpWord54, X86Mods.opModGrpWord55, X86Mods.opModGrpWord56, X86Mods.opModGrpWord57, - X86Mods.opModGrpWord58, X86Mods.opModGrpWord59, X86Mods.opModGrpWord5A, X86Mods.opModGrpWord5B, - X86Mods.opModGrpWord5C, X86Mods.opModGrpWord5D, X86Mods.opModGrpWord5E, X86Mods.opModGrpWord5F, - X86Mods.opModGrpWord60, X86Mods.opModGrpWord61, X86Mods.opModGrpWord62, X86Mods.opModGrpWord63, - X86Mods.opModGrpWord64, X86Mods.opModGrpWord65, X86Mods.opModGrpWord66, X86Mods.opModGrpWord67, - X86Mods.opModGrpWord68, X86Mods.opModGrpWord69, X86Mods.opModGrpWord6A, X86Mods.opModGrpWord6B, - X86Mods.opModGrpWord6C, X86Mods.opModGrpWord6D, X86Mods.opModGrpWord6E, X86Mods.opModGrpWord6F, - X86Mods.opModGrpWord70, X86Mods.opModGrpWord71, X86Mods.opModGrpWord72, X86Mods.opModGrpWord73, - X86Mods.opModGrpWord74, X86Mods.opModGrpWord75, X86Mods.opModGrpWord76, X86Mods.opModGrpWord77, - X86Mods.opModGrpWord78, X86Mods.opModGrpWord79, X86Mods.opModGrpWord7A, X86Mods.opModGrpWord7B, - X86Mods.opModGrpWord7C, X86Mods.opModGrpWord7D, X86Mods.opModGrpWord7E, X86Mods.opModGrpWord7F, - X86Mods.opModGrpWord80, X86Mods.opModGrpWord81, X86Mods.opModGrpWord82, X86Mods.opModGrpWord83, - X86Mods.opModGrpWord84, X86Mods.opModGrpWord85, X86Mods.opModGrpWord86, X86Mods.opModGrpWord87, - X86Mods.opModGrpWord88, X86Mods.opModGrpWord89, X86Mods.opModGrpWord8A, X86Mods.opModGrpWord8B, - X86Mods.opModGrpWord8C, X86Mods.opModGrpWord8D, X86Mods.opModGrpWord8E, X86Mods.opModGrpWord8F, - X86Mods.opModGrpWord90, X86Mods.opModGrpWord91, X86Mods.opModGrpWord92, X86Mods.opModGrpWord93, - X86Mods.opModGrpWord94, X86Mods.opModGrpWord95, X86Mods.opModGrpWord96, X86Mods.opModGrpWord97, - X86Mods.opModGrpWord98, X86Mods.opModGrpWord99, X86Mods.opModGrpWord9A, X86Mods.opModGrpWord9B, - X86Mods.opModGrpWord9C, X86Mods.opModGrpWord9D, X86Mods.opModGrpWord9E, X86Mods.opModGrpWord9F, - X86Mods.opModGrpWordA0, X86Mods.opModGrpWordA1, X86Mods.opModGrpWordA2, X86Mods.opModGrpWordA3, - X86Mods.opModGrpWordA4, X86Mods.opModGrpWordA5, X86Mods.opModGrpWordA6, X86Mods.opModGrpWordA7, - X86Mods.opModGrpWordA8, X86Mods.opModGrpWordA9, X86Mods.opModGrpWordAA, X86Mods.opModGrpWordAB, - X86Mods.opModGrpWordAC, X86Mods.opModGrpWordAD, X86Mods.opModGrpWordAE, X86Mods.opModGrpWordAF, - X86Mods.opModGrpWordB0, X86Mods.opModGrpWordB1, X86Mods.opModGrpWordB2, X86Mods.opModGrpWordB3, - X86Mods.opModGrpWordB4, X86Mods.opModGrpWordB5, X86Mods.opModGrpWordB6, X86Mods.opModGrpWordB7, - X86Mods.opModGrpWordB8, X86Mods.opModGrpWordB9, X86Mods.opModGrpWordBA, X86Mods.opModGrpWordBB, - X86Mods.opModGrpWordBC, X86Mods.opModGrpWordBD, X86Mods.opModGrpWordBE, X86Mods.opModGrpWordBF, - X86Mods.opModGrpWordC0, X86Mods.opModGrpWordC1, X86Mods.opModGrpWordC2, X86Mods.opModGrpWordC3, - X86Mods.opModGrpWordC4, X86Mods.opModGrpWordC5, X86Mods.opModGrpWordC6, X86Mods.opModGrpWordC7, - X86Mods.opModGrpWordC8, X86Mods.opModGrpWordC9, X86Mods.opModGrpWordCA, X86Mods.opModGrpWordCB, - X86Mods.opModGrpWordCC, X86Mods.opModGrpWordCD, X86Mods.opModGrpWordCE, X86Mods.opModGrpWordCF, - X86Mods.opModGrpWordD0, X86Mods.opModGrpWordD1, X86Mods.opModGrpWordD2, X86Mods.opModGrpWordD3, - X86Mods.opModGrpWordD4, X86Mods.opModGrpWordD5, X86Mods.opModGrpWordD6, X86Mods.opModGrpWordD7, - X86Mods.opModGrpWordD8, X86Mods.opModGrpWordD9, X86Mods.opModGrpWordDA, X86Mods.opModGrpWordDB, - X86Mods.opModGrpWordDC, X86Mods.opModGrpWordDD, X86Mods.opModGrpWordDE, X86Mods.opModGrpWordDF, - X86Mods.opModGrpWordE0, X86Mods.opModGrpWordE1, X86Mods.opModGrpWordE2, X86Mods.opModGrpWordE3, - X86Mods.opModGrpWordE4, X86Mods.opModGrpWordE5, X86Mods.opModGrpWordE6, X86Mods.opModGrpWordE7, - X86Mods.opModGrpWordE8, X86Mods.opModGrpWordE9, X86Mods.opModGrpWordEA, X86Mods.opModGrpWordEB, - X86Mods.opModGrpWordEC, X86Mods.opModGrpWordED, X86Mods.opModGrpWordEE, X86Mods.opModGrpWordEF, - X86Mods.opModGrpWordF0, X86Mods.opModGrpWordF1, X86Mods.opModGrpWordF2, X86Mods.opModGrpWordF3, - X86Mods.opModGrpWordF4, X86Mods.opModGrpWordF5, X86Mods.opModGrpWordF6, X86Mods.opModGrpWordF7, - X86Mods.opModGrpWordF8, X86Mods.opModGrpWordF9, X86Mods.opModGrpWordFA, X86Mods.opModGrpWordFB, - X86Mods.opModGrpWordFC, X86Mods.opModGrpWordFD, X86Mods.opModGrpWordFE, X86Mods.opModGrpWordFF -]; - -if (typeof module !== 'undefined') module.exports = X86Mods; diff --git a/modules/pcjs/lib/x86modw.js b/modules/pcjs/lib/x86modw.js new file mode 100644 index 000000000..88773a340 --- /dev/null +++ b/modules/pcjs/lib/x86modw.js @@ -0,0 +1,9534 @@ +/** + * @fileoverview Implements PCjs 8086 mode-byte decoding. + * @author Jeff Parsons + * @version 1.0 + * Created 2012-Sep-05 + * + * Copyright © 2012-2015 Jeff Parsons + * + * This file is part of PCjs, which is part of the JavaScript Machines Project (aka JSMachines) + * at and . + * + * PCjs is free software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with PCjs. If not, + * see . + * + * You are required to include the above copyright notice in every source code file of every + * copy or modified version of this work, and to display that copyright notice on every screen + * that loads or runs any version of this software (see Computer.sCopyright). + * + * Some PCjs files also attempt to load external resource files, such as character-image files, + * ROM files, and disk image files. Those external resource files are not considered part of the + * PCjs program for purposes of the GNU General Public License, and the author does not claim + * any copyright as to their contents. + */ + +"use strict"; + +if (typeof module !== 'undefined') { + var X86 = require("./x86"); +} + +var X86ModW = { + /** + * opModMemWord00(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem00: function opModMemWord00(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord01(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem01: function opModMemWord01(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord02(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem02: function opModMemWord02(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord03(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem03: function opModMemWord03(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord04(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem04: function opModMemWord04(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord05(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem05: function opModMemWord05(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord06(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem06: function opModMemWord06(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemWord07(fn): mod=00 (mem:dst) reg=000 (AX:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem07: function opModMemWord07(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord08(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem08: function opModMemWord08(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord09(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem09: function opModMemWord09(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord0A(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem0A: function opModMemWord0A(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord0B(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem0B: function opModMemWord0B(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord0C(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem0C: function opModMemWord0C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord0D(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem0D: function opModMemWord0D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord0E(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem0E: function opModMemWord0E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemWord0F(fn): mod=00 (mem:dst) reg=001 (CX:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem0F: function opModMemWord0F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord10(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem10: function opModMemWord10(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord11(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem11: function opModMemWord11(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord12(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem12: function opModMemWord12(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord13(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem13: function opModMemWord13(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord14(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem14: function opModMemWord14(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord15(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem15: function opModMemWord15(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord16(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem16: function opModMemWord16(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemWord17(fn): mod=00 (mem:dst) reg=010 (DX:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem17: function opModMemWord17(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord18(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem18: function opModMemWord18(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord19(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem19: function opModMemWord19(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord1A(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem1A: function opModMemWord1A(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord1B(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem1B: function opModMemWord1B(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord1C(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem1C: function opModMemWord1C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord1D(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem1D: function opModMemWord1D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord1E(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem1E: function opModMemWord1E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemWord1F(fn): mod=00 (mem:dst) reg=011 (BX:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem1F: function opModMemWord1F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord20(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem20: function opModMemWord20(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord21(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem21: function opModMemWord21(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord22(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem22: function opModMemWord22(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord23(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem23: function opModMemWord23(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord24(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem24: function opModMemWord24(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord25(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem25: function opModMemWord25(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord26(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem26: function opModMemWord26(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemWord27(fn): mod=00 (mem:dst) reg=100 (SP:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem27: function opModMemWord27(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord28(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem28: function opModMemWord28(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord29(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem29: function opModMemWord29(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord2A(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem2A: function opModMemWord2A(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord2B(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem2B: function opModMemWord2B(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord2C(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem2C: function opModMemWord2C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord2D(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem2D: function opModMemWord2D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord2E(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem2E: function opModMemWord2E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemWord2F(fn): mod=00 (mem:dst) reg=101 (BP:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem2F: function opModMemWord2F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord30(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem30: function opModMemWord30(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord31(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem31: function opModMemWord31(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord32(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem32: function opModMemWord32(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord33(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem33: function opModMemWord33(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord34(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem34: function opModMemWord34(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord35(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem35: function opModMemWord35(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord36(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem36: function opModMemWord36(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemWord37(fn): mod=00 (mem:dst) reg=110 (SI:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem37: function opModMemWord37(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord38(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem38: function opModMemWord38(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord39(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem39: function opModMemWord39(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord3A(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem3A: function opModMemWord3A(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModMemWord3B(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem3B: function opModMemWord3B(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModMemWord3C(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem3C: function opModMemWord3C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord3D(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem3D: function opModMemWord3D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord3E(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem3E: function opModMemWord3E(fn) { + var w = fn.call(this, this.modEAWord(this.segData, this.getIPWord()), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModMemWord3F(fn): mod=00 (mem:dst) reg=111 (DI:src) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem3F: function opModMemWord3F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModMemWord40(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem40: function opModMemWord40(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord41(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem41: function opModMemWord41(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord42(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem42: function opModMemWord42(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord43(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem43: function opModMemWord43(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord44(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem44: function opModMemWord44(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord45(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem45: function opModMemWord45(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord46(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem46: function opModMemWord46(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord47(fn): mod=01 (mem+d8:dst) reg=000 (AX:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem47: function opModMemWord47(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord48(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem48: function opModMemWord48(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord49(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem49: function opModMemWord49(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord4A(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem4A: function opModMemWord4A(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord4B(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem4B: function opModMemWord4B(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord4C(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem4C: function opModMemWord4C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord4D(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem4D: function opModMemWord4D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord4E(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem4E: function opModMemWord4E(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord4F(fn): mod=01 (mem+d8:dst) reg=001 (CX:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem4F: function opModMemWord4F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord50(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem50: function opModMemWord50(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord51(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem51: function opModMemWord51(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord52(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem52: function opModMemWord52(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord53(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem53: function opModMemWord53(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord54(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem54: function opModMemWord54(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord55(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem55: function opModMemWord55(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord56(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem56: function opModMemWord56(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord57(fn): mod=01 (mem+d8:dst) reg=010 (DX:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem57: function opModMemWord57(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord58(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem58: function opModMemWord58(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord59(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem59: function opModMemWord59(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord5A(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem5A: function opModMemWord5A(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord5B(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem5B: function opModMemWord5B(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord5C(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem5C: function opModMemWord5C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord5D(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem5D: function opModMemWord5D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord5E(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem5E: function opModMemWord5E(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord5F(fn): mod=01 (mem+d8:dst) reg=011 (BX:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem5F: function opModMemWord5F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord60(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem60: function opModMemWord60(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord61(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem61: function opModMemWord61(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord62(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem62: function opModMemWord62(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord63(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem63: function opModMemWord63(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord64(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem64: function opModMemWord64(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord65(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem65: function opModMemWord65(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord66(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem66: function opModMemWord66(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord67(fn): mod=01 (mem+d8:dst) reg=100 (SP:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem67: function opModMemWord67(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord68(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem68: function opModMemWord68(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord69(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem69: function opModMemWord69(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord6A(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem6A: function opModMemWord6A(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord6B(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem6B: function opModMemWord6B(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord6C(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem6C: function opModMemWord6C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord6D(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem6D: function opModMemWord6D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord6E(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem6E: function opModMemWord6E(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord6F(fn): mod=01 (mem+d8:dst) reg=101 (BP:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem6F: function opModMemWord6F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord70(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem70: function opModMemWord70(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord71(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem71: function opModMemWord71(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord72(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem72: function opModMemWord72(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord73(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem73: function opModMemWord73(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord74(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem74: function opModMemWord74(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord75(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem75: function opModMemWord75(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord76(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem76: function opModMemWord76(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord77(fn): mod=01 (mem+d8:dst) reg=110 (SI:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem77: function opModMemWord77(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord78(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem78: function opModMemWord78(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord79(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem79: function opModMemWord79(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord7A(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem7A: function opModMemWord7A(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord7B(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem7B: function opModMemWord7B(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord7C(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem7C: function opModMemWord7C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord7D(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem7D: function opModMemWord7D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord7E(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem7E: function opModMemWord7E(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord7F(fn): mod=01 (mem+d8:dst) reg=111 (DI:src) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem7F: function opModMemWord7F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord80(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem80: function opModMemWord80(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord81(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem81: function opModMemWord81(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord82(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem82: function opModMemWord82(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord83(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem83: function opModMemWord83(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord84(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem84: function opModMemWord84(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord85(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem85: function opModMemWord85(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord86(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem86: function opModMemWord86(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord87(fn): mod=10 (mem+d16:dst) reg=000 (AX:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem87: function opModMemWord87(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEAX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiAL; this.backTrack.btiEAHi = this.backTrack.btiAH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord88(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem88: function opModMemWord88(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord89(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem89: function opModMemWord89(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord8A(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem8A: function opModMemWord8A(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord8B(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem8B: function opModMemWord8B(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord8C(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem8C: function opModMemWord8C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord8D(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem8D: function opModMemWord8D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord8E(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem8E: function opModMemWord8E(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord8F(fn): mod=10 (mem+d16:dst) reg=001 (CX:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem8F: function opModMemWord8F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regECX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiCL; this.backTrack.btiEAHi = this.backTrack.btiCH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord90(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem90: function opModMemWord90(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord91(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem91: function opModMemWord91(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord92(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem92: function opModMemWord92(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord93(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem93: function opModMemWord93(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord94(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem94: function opModMemWord94(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord95(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem95: function opModMemWord95(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord96(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem96: function opModMemWord96(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord97(fn): mod=10 (mem+d16:dst) reg=010 (DX:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem97: function opModMemWord97(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEDX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDL; this.backTrack.btiEAHi = this.backTrack.btiDH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord98(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem98: function opModMemWord98(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord99(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem99: function opModMemWord99(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord9A(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem9A: function opModMemWord9A(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWord9B(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem9B: function opModMemWord9B(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWord9C(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem9C: function opModMemWord9C(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord9D(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem9D: function opModMemWord9D(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord9E(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem9E: function opModMemWord9E(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWord9F(fn): mod=10 (mem+d16:dst) reg=011 (BX:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMem9F: function opModMemWord9F(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEBX & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBL; this.backTrack.btiEAHi = this.backTrack.btiBH; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordA0(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA0: function opModMemWordA0(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWordA1(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA1: function opModMemWordA1(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWordA2(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA2: function opModMemWordA2(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWordA3(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA3: function opModMemWordA3(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWordA4(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA4: function opModMemWordA4(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordA5(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA5: function opModMemWordA5(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordA6(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA6: function opModMemWordA6(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordA7(fn): mod=10 (mem+d16:dst) reg=100 (SP:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA7: function opModMemWordA7(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regESP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordA8(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA8: function opModMemWordA8(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWordA9(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemA9: function opModMemWordA9(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWordAA(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemAA: function opModMemWordAA(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWordAB(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemAB: function opModMemWordAB(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWordAC(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemAC: function opModMemWordAC(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordAD(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemAD: function opModMemWordAD(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordAE(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemAE: function opModMemWordAE(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordAF(fn): mod=10 (mem+d16:dst) reg=101 (BP:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemAF: function opModMemWordAF(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEBP & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiBPLo; this.backTrack.btiEAHi = this.backTrack.btiBPHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordB0(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB0: function opModMemWordB0(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWordB1(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB1: function opModMemWordB1(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWordB2(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB2: function opModMemWordB2(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWordB3(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB3: function opModMemWordB3(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWordB4(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB4: function opModMemWordB4(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordB5(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB5: function opModMemWordB5(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordB6(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB6: function opModMemWordB6(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordB7(fn): mod=10 (mem+d16:dst) reg=110 (SI:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB7: function opModMemWordB7(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regESI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiSILo; this.backTrack.btiEAHi = this.backTrack.btiSIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordB8(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB8: function opModMemWordB8(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWordB9(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemB9: function opModMemWordB9(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWordBA(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemBA: function opModMemWordBA(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModMemWordBB(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemBB: function opModMemWordBB(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModMemWordBC(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemBC: function opModMemWordBC(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordBD(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemBD: function opModMemWordBD(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordBE(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemBE: function opModMemWordBE(fn) { + var w = fn.call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModMemWordBF(fn): mod=10 (mem+d16:dst) reg=111 (DI:src) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModMemBF: function opModMemWordBF(fn) { + var w = fn.call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), this.regEDI & this.opMask); + if (BACKTRACK) { + this.backTrack.btiEALo = this.backTrack.btiDILo; this.backTrack.btiEAHi = this.backTrack.btiDIHi; + } + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord00(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg00: function opModRegWord00(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord01(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg01: function opModRegWord01(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord02(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg02: function opModRegWord02(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord03(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg03: function opModRegWord03(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord04(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg04: function opModRegWord04(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord05(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg05: function opModRegWord05(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord06(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg06: function opModRegWord06(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegWord07(fn): mod=00 (mem:src) reg=000 (AX:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg07: function opModRegWord07(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord08(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg08: function opModRegWord08(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord09(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg09: function opModRegWord09(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord0A(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg0A: function opModRegWord0A(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord0B(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg0B: function opModRegWord0B(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord0C(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg0C: function opModRegWord0C(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord0D(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg0D: function opModRegWord0D(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord0E(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg0E: function opModRegWord0E(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegWord0F(fn): mod=00 (mem:src) reg=001 (CX:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg0F: function opModRegWord0F(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord10(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg10: function opModRegWord10(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord11(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg11: function opModRegWord11(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord12(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg12: function opModRegWord12(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord13(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg13: function opModRegWord13(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord14(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg14: function opModRegWord14(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord15(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg15: function opModRegWord15(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord16(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg16: function opModRegWord16(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegWord17(fn): mod=00 (mem:src) reg=010 (DX:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg17: function opModRegWord17(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord18(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg18: function opModRegWord18(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord19(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg19: function opModRegWord19(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord1A(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg1A: function opModRegWord1A(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord1B(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg1B: function opModRegWord1B(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord1C(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg1C: function opModRegWord1C(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord1D(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg1D: function opModRegWord1D(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord1E(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg1E: function opModRegWord1E(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegWord1F(fn): mod=00 (mem:src) reg=011 (BX:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg1F: function opModRegWord1F(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord20(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg20: function opModRegWord20(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord21(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg21: function opModRegWord21(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord22(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg22: function opModRegWord22(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord23(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg23: function opModRegWord23(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord24(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg24: function opModRegWord24(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord25(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg25: function opModRegWord25(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord26(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg26: function opModRegWord26(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegWord27(fn): mod=00 (mem:src) reg=100 (SP:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg27: function opModRegWord27(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord28(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg28: function opModRegWord28(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord29(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg29: function opModRegWord29(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord2A(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg2A: function opModRegWord2A(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord2B(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg2B: function opModRegWord2B(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord2C(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg2C: function opModRegWord2C(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord2D(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg2D: function opModRegWord2D(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord2E(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg2E: function opModRegWord2E(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegWord2F(fn): mod=00 (mem:src) reg=101 (BP:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg2F: function opModRegWord2F(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord30(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg30: function opModRegWord30(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord31(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg31: function opModRegWord31(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord32(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg32: function opModRegWord32(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord33(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg33: function opModRegWord33(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord34(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg34: function opModRegWord34(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord35(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg35: function opModRegWord35(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord36(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg36: function opModRegWord36(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegWord37(fn): mod=00 (mem:src) reg=110 (SI:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg37: function opModRegWord37(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord38(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg38: function opModRegWord38(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord39(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg39: function opModRegWord39(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord3A(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg3A: function opModRegWord3A(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModRegWord3B(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg3B: function opModRegWord3B(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModRegWord3C(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=100 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg3C: function opModRegWord3C(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regESI & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord3D(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=101 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg3D: function opModRegWord3D(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEDI & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord3E(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=110 (d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg3E: function opModRegWord3E(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, this.getIPWord())); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModRegWord3F(fn): mod=00 (mem:src) reg=111 (DI:dst) r/m=111 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg3F: function opModRegWord3F(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, (this.regEBX & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModRegWord40(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg40: function opModRegWord40(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord41(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg41: function opModRegWord41(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord42(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg42: function opModRegWord42(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord43(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg43: function opModRegWord43(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord44(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg44: function opModRegWord44(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord45(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg45: function opModRegWord45(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord46(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg46: function opModRegWord46(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord47(fn): mod=01 (mem+d8:src) reg=000 (AX:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg47: function opModRegWord47(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord48(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg48: function opModRegWord48(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord49(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg49: function opModRegWord49(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord4A(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg4A: function opModRegWord4A(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord4B(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg4B: function opModRegWord4B(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord4C(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg4C: function opModRegWord4C(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord4D(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg4D: function opModRegWord4D(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord4E(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg4E: function opModRegWord4E(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord4F(fn): mod=01 (mem+d8:src) reg=001 (CX:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg4F: function opModRegWord4F(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord50(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg50: function opModRegWord50(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord51(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg51: function opModRegWord51(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord52(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg52: function opModRegWord52(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord53(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg53: function opModRegWord53(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord54(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg54: function opModRegWord54(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord55(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg55: function opModRegWord55(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord56(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg56: function opModRegWord56(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord57(fn): mod=01 (mem+d8:src) reg=010 (DX:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg57: function opModRegWord57(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord58(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg58: function opModRegWord58(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord59(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg59: function opModRegWord59(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord5A(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg5A: function opModRegWord5A(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord5B(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg5B: function opModRegWord5B(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord5C(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg5C: function opModRegWord5C(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord5D(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg5D: function opModRegWord5D(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord5E(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg5E: function opModRegWord5E(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord5F(fn): mod=01 (mem+d8:src) reg=011 (BX:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg5F: function opModRegWord5F(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord60(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg60: function opModRegWord60(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord61(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg61: function opModRegWord61(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord62(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg62: function opModRegWord62(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord63(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg63: function opModRegWord63(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord64(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg64: function opModRegWord64(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord65(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg65: function opModRegWord65(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord66(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg66: function opModRegWord66(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord67(fn): mod=01 (mem+d8:src) reg=100 (SP:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg67: function opModRegWord67(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord68(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg68: function opModRegWord68(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord69(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg69: function opModRegWord69(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord6A(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg6A: function opModRegWord6A(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord6B(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg6B: function opModRegWord6B(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord6C(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg6C: function opModRegWord6C(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord6D(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg6D: function opModRegWord6D(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord6E(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg6E: function opModRegWord6E(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord6F(fn): mod=01 (mem+d8:src) reg=101 (BP:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg6F: function opModRegWord6F(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord70(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg70: function opModRegWord70(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord71(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg71: function opModRegWord71(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord72(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg72: function opModRegWord72(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord73(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg73: function opModRegWord73(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord74(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg74: function opModRegWord74(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord75(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg75: function opModRegWord75(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord76(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg76: function opModRegWord76(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord77(fn): mod=01 (mem+d8:src) reg=110 (SI:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg77: function opModRegWord77(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord78(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg78: function opModRegWord78(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord79(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg79: function opModRegWord79(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord7A(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg7A: function opModRegWord7A(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord7B(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg7B: function opModRegWord7B(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord7C(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg7C: function opModRegWord7C(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord7D(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg7D: function opModRegWord7D(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord7E(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg7E: function opModRegWord7E(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord7F(fn): mod=01 (mem+d8:src) reg=111 (DI:dst) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg7F: function opModRegWord7F(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord80(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg80: function opModRegWord80(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord81(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg81: function opModRegWord81(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord82(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg82: function opModRegWord82(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord83(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg83: function opModRegWord83(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord84(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg84: function opModRegWord84(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord85(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg85: function opModRegWord85(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord86(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg86: function opModRegWord86(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord87(fn): mod=10 (mem+d16:src) reg=000 (AX:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg87: function opModRegWord87(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord88(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg88: function opModRegWord88(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord89(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg89: function opModRegWord89(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord8A(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg8A: function opModRegWord8A(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord8B(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg8B: function opModRegWord8B(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord8C(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg8C: function opModRegWord8C(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord8D(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg8D: function opModRegWord8D(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord8E(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg8E: function opModRegWord8E(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord8F(fn): mod=10 (mem+d16:src) reg=001 (CX:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg8F: function opModRegWord8F(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord90(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg90: function opModRegWord90(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord91(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg91: function opModRegWord91(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord92(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg92: function opModRegWord92(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord93(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg93: function opModRegWord93(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord94(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg94: function opModRegWord94(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord95(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg95: function opModRegWord95(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord96(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg96: function opModRegWord96(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord97(fn): mod=10 (mem+d16:src) reg=010 (DX:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg97: function opModRegWord97(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord98(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg98: function opModRegWord98(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord99(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg99: function opModRegWord99(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord9A(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg9A: function opModRegWord9A(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWord9B(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg9B: function opModRegWord9B(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWord9C(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg9C: function opModRegWord9C(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord9D(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg9D: function opModRegWord9D(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord9E(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg9E: function opModRegWord9E(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWord9F(fn): mod=10 (mem+d16:src) reg=011 (BX:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModReg9F: function opModRegWord9F(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordA0(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA0: function opModRegWordA0(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWordA1(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA1: function opModRegWordA1(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWordA2(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA2: function opModRegWordA2(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWordA3(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA3: function opModRegWordA3(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWordA4(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA4: function opModRegWordA4(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordA5(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA5: function opModRegWordA5(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordA6(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA6: function opModRegWordA6(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordA7(fn): mod=10 (mem+d16:src) reg=100 (SP:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA7: function opModRegWordA7(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regESP = (this.regESP & this.opMaskClear) | w; + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordA8(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA8: function opModRegWordA8(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWordA9(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegA9: function opModRegWordA9(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWordAA(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegAA: function opModRegWordAA(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWordAB(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegAB: function opModRegWordAB(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWordAC(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegAC: function opModRegWordAC(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordAD(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegAD: function opModRegWordAD(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordAE(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegAE: function opModRegWordAE(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordAF(fn): mod=10 (mem+d16:src) reg=101 (BP:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegAF: function opModRegWordAF(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordB0(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB0: function opModRegWordB0(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWordB1(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB1: function opModRegWordB1(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWordB2(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB2: function opModRegWordB2(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWordB3(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB3: function opModRegWordB3(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWordB4(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB4: function opModRegWordB4(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordB5(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB5: function opModRegWordB5(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordB6(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB6: function opModRegWordB6(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordB7(fn): mod=10 (mem+d16:src) reg=110 (SI:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB7: function opModRegWordB7(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordB8(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB8: function opModRegWordB8(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWordB9(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegB9: function opModRegWordB9(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWordBA(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegBA: function opModRegWordBA(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModRegWordBB(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegBB: function opModRegWordBB(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModRegWordBC(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegBC: function opModRegWordBC(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordBD(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegBD: function opModRegWordBD(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordBE(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegBE: function opModRegWordBE(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordBF(fn): mod=10 (mem+d16:src) reg=111 (DI:dst) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegBF: function opModRegWordBF(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.getEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff))); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModRegWordC0(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=000 (AX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC0: function opModRegWordC0(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regEAX & this.opMask); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + }, + /** + * opModRegWordC1(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=001 (CX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC1: function opModRegWordC1(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regECX & this.opMask); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiCL; this.backTrack.btiAH = this.backTrack.btiCH; + } + }, + /** + * opModRegWordC2(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=010 (DX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC2: function opModRegWordC2(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regEDX & this.opMask); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiDL; this.backTrack.btiAH = this.backTrack.btiDH; + } + }, + /** + * opModRegWordC3(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=011 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC3: function opModRegWordC3(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regEBX & this.opMask); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiBL; this.backTrack.btiAH = this.backTrack.btiBH; + } + }, + /** + * opModRegWordC4(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=100 (SP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC4: function opModRegWordC4(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regESP & this.opMask); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = X86.BACKTRACK.SP_LO; this.backTrack.btiAH = X86.BACKTRACK.SP_HI; + } + }, + /** + * opModRegWordC5(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=101 (BP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC5: function opModRegWordC5(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regEBP & this.opMask); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiBPLo; this.backTrack.btiAH = this.backTrack.btiBPHi; + } + }, + /** + * opModRegWordC6(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=110 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC6: function opModRegWordC6(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regESI & this.opMask); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiSILo; this.backTrack.btiAH = this.backTrack.btiSIHi; + } + }, + /** + * opModRegWordC7(fn): mod=11 (reg:src) reg=000 (AX:dst) r/m=111 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC7: function opModRegWordC7(fn) { + var w = fn.call(this, this.regEAX & this.opMask, this.regEDI & this.opMask); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiDILo; this.backTrack.btiAH = this.backTrack.btiDIHi; + } + }, + /** + * opModRegWordC8(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=000 (AX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC8: function opModRegWordC8(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regEAX & this.opMask); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiAL; this.backTrack.btiCH = this.backTrack.btiAH; + } + }, + /** + * opModRegWordC9(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=001 (CX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegC9: function opModRegWordC9(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regECX & this.opMask); + this.regECX = (this.regECX & this.opMaskClear) | w; + }, + /** + * opModRegWordCA(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=010 (DX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegCA: function opModRegWordCA(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regEDX & this.opMask); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiDL; this.backTrack.btiCH = this.backTrack.btiDH; + } + }, + /** + * opModRegWordCB(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=011 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegCB: function opModRegWordCB(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regEBX & this.opMask); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiBL; this.backTrack.btiCH = this.backTrack.btiBH; + } + }, + /** + * opModRegWordCC(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=100 (SP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegCC: function opModRegWordCC(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regESP & this.opMask); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = X86.BACKTRACK.SP_LO; this.backTrack.btiCH = X86.BACKTRACK.SP_HI; + } + }, + /** + * opModRegWordCD(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=101 (BP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegCD: function opModRegWordCD(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regEBP & this.opMask); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiBPLo; this.backTrack.btiCH = this.backTrack.btiBPHi; + } + }, + /** + * opModRegWordCE(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=110 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegCE: function opModRegWordCE(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regESI & this.opMask); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiSILo; this.backTrack.btiCH = this.backTrack.btiSIHi; + } + }, + /** + * opModRegWordCF(fn): mod=11 (reg:src) reg=001 (CX:dst) r/m=111 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegCF: function opModRegWordCF(fn) { + var w = fn.call(this, this.regECX & this.opMask, this.regEDI & this.opMask); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiDILo; this.backTrack.btiCH = this.backTrack.btiDIHi; + } + }, + /** + * opModRegWordD0(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=000 (AX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD0: function opModRegWordD0(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regEAX & this.opMask); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiAL; this.backTrack.btiDH = this.backTrack.btiAH; + } + }, + /** + * opModRegWordD1(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=001 (CX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD1: function opModRegWordD1(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regECX & this.opMask); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiCL; this.backTrack.btiDH = this.backTrack.btiCH; + } + }, + /** + * opModRegWordD2(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=010 (DX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD2: function opModRegWordD2(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regEDX & this.opMask); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + }, + /** + * opModRegWordD3(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=011 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD3: function opModRegWordD3(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regEBX & this.opMask); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiBL; this.backTrack.btiDH = this.backTrack.btiBH; + } + }, + /** + * opModRegWordD4(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=100 (SP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD4: function opModRegWordD4(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regESP & this.opMask); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = X86.BACKTRACK.SP_LO; this.backTrack.btiDH = X86.BACKTRACK.SP_HI; + } + }, + /** + * opModRegWordD5(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=101 (BP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD5: function opModRegWordD5(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regEBP & this.opMask); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiBPLo; this.backTrack.btiDH = this.backTrack.btiBPHi; + } + }, + /** + * opModRegWordD6(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=110 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD6: function opModRegWordD6(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regESI & this.opMask); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiSILo; this.backTrack.btiDH = this.backTrack.btiSIHi; + } + }, + /** + * opModRegWordD7(fn): mod=11 (reg:src) reg=010 (DX:dst) r/m=111 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD7: function opModRegWordD7(fn) { + var w = fn.call(this, this.regEDX & this.opMask, this.regEDI & this.opMask); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiDILo; this.backTrack.btiDH = this.backTrack.btiDIHi; + } + }, + /** + * opModRegWordD8(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=000 (AX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD8: function opModRegWordD8(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regEAX & this.opMask); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiAL; this.backTrack.btiBH = this.backTrack.btiAH; + } + }, + /** + * opModRegWordD9(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=001 (CX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegD9: function opModRegWordD9(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regECX & this.opMask); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiCL; this.backTrack.btiBH = this.backTrack.btiCH; + } + }, + /** + * opModRegWordDA(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=010 (DX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegDA: function opModRegWordDA(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regEDX & this.opMask); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiDL; this.backTrack.btiBH = this.backTrack.btiDH; + } + }, + /** + * opModRegWordDB(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=011 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegDB: function opModRegWordDB(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regEBX & this.opMask); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + }, + /** + * opModRegWordDC(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=100 (SP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegDC: function opModRegWordDC(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regESP & this.opMask); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = X86.BACKTRACK.SP_LO; this.backTrack.btiBH = X86.BACKTRACK.SP_HI; + } + }, + /** + * opModRegWordDD(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=101 (BP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegDD: function opModRegWordDD(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regEBP & this.opMask); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiBPLo; this.backTrack.btiBH = this.backTrack.btiBPHi; + } + }, + /** + * opModRegWordDE(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=110 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegDE: function opModRegWordDE(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regESI & this.opMask); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiSILo; this.backTrack.btiBH = this.backTrack.btiSIHi; + } + }, + /** + * opModRegWordDF(fn): mod=11 (reg:src) reg=011 (BX:dst) r/m=111 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegDF: function opModRegWordDF(fn) { + var w = fn.call(this, this.regEBX & this.opMask, this.regEDI & this.opMask); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiDILo; this.backTrack.btiBH = this.backTrack.btiDIHi; + } + }, + /** + * opModRegWordE0(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=000 (AX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE0: function opModRegWordE0(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regEAX & this.opMask); + this.regESP = (this.regESP & this.opMaskClear) | w; + }, + /** + * opModRegWordE1(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=001 (CX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE1: function opModRegWordE1(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regECX & this.opMask); + this.regESP = (this.regESP & this.opMaskClear) | w; + }, + /** + * opModRegWordE2(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=010 (DX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE2: function opModRegWordE2(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regEDX & this.opMask); + this.regESP = (this.regESP & this.opMaskClear) | w; + }, + /** + * opModRegWordE3(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=011 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE3: function opModRegWordE3(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regEBX & this.opMask); + this.regESP = (this.regESP & this.opMaskClear) | w; + }, + /** + * opModRegWordE4(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=100 (SP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE4: function opModRegWordE4(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regESP & this.opMask); + this.regESP = (this.regESP & this.opMaskClear) | w; + }, + /** + * opModRegWordE5(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=101 (BP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE5: function opModRegWordE5(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regEBP & this.opMask); + this.regESP = (this.regESP & this.opMaskClear) | w; + }, + /** + * opModRegWordE6(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=110 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE6: function opModRegWordE6(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regESI & this.opMask); + this.regESP = (this.regESP & this.opMaskClear) | w; + }, + /** + * opModRegWordE7(fn): mod=11 (reg:src) reg=100 (SP:dst) r/m=111 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE7: function opModRegWordE7(fn) { + var w = fn.call(this, this.regESP & this.opMask, this.regEDI & this.opMask); + this.regESP = (this.regESP & this.opMaskClear) | w; + }, + /** + * opModRegWordE8(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=000 (AX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE8: function opModRegWordE8(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regEAX & this.opMask); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiAL; this.backTrack.btiBPHi = this.backTrack.btiAH; + } + }, + /** + * opModRegWordE9(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=001 (CX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegE9: function opModRegWordE9(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regECX & this.opMask); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiCL; this.backTrack.btiBPHi = this.backTrack.btiCH; + } + }, + /** + * opModRegWordEA(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=010 (DX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegEA: function opModRegWordEA(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regEDX & this.opMask); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiDL; this.backTrack.btiBPHi = this.backTrack.btiDH; + } + }, + /** + * opModRegWordEB(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=011 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegEB: function opModRegWordEB(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regEBX & this.opMask); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiBL; this.backTrack.btiBPHi = this.backTrack.btiBH; + } + }, + /** + * opModRegWordEC(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=100 (SP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegEC: function opModRegWordEC(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regESP & this.opMask); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = X86.BACKTRACK.SP_LO; this.backTrack.btiBPHi = X86.BACKTRACK.SP_HI; + } + }, + /** + * opModRegWordED(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=101 (BP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegED: function opModRegWordED(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regEBP & this.opMask); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + }, + /** + * opModRegWordEE(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=110 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegEE: function opModRegWordEE(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regESI & this.opMask); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiSILo; this.backTrack.btiBPHi = this.backTrack.btiSIHi; + } + }, + /** + * opModRegWordEF(fn): mod=11 (reg:src) reg=101 (BP:dst) r/m=111 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegEF: function opModRegWordEF(fn) { + var w = fn.call(this, this.regEBP & this.opMask, this.regEDI & this.opMask); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiDILo; this.backTrack.btiBPHi = this.backTrack.btiDIHi; + } + }, + /** + * opModRegWordF0(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=000 (AX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF0: function opModRegWordF0(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regEAX & this.opMask); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiAL; this.backTrack.btiSIHi = this.backTrack.btiAH; + } + }, + /** + * opModRegWordF1(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=001 (CX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF1: function opModRegWordF1(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regECX & this.opMask); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiCL; this.backTrack.btiSIHi = this.backTrack.btiCH; + } + }, + /** + * opModRegWordF2(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=010 (DX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF2: function opModRegWordF2(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regEDX & this.opMask); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiDL; this.backTrack.btiSIHi = this.backTrack.btiDH; + } + }, + /** + * opModRegWordF3(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=011 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF3: function opModRegWordF3(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regEBX & this.opMask); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiBL; this.backTrack.btiSIHi = this.backTrack.btiBH; + } + }, + /** + * opModRegWordF4(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=100 (SP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF4: function opModRegWordF4(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regESP & this.opMask); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = X86.BACKTRACK.SP_LO; this.backTrack.btiSIHi = X86.BACKTRACK.SP_HI; + } + }, + /** + * opModRegWordF5(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=101 (BP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF5: function opModRegWordF5(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regEBP & this.opMask); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiBPLo; this.backTrack.btiSIHi = this.backTrack.btiBPHi; + } + }, + /** + * opModRegWordF6(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=110 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF6: function opModRegWordF6(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regESI & this.opMask); + this.regESI = (this.regESI & this.opMaskClear) | w; + }, + /** + * opModRegWordF7(fn): mod=11 (reg:src) reg=110 (SI:dst) r/m=111 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF7: function opModRegWordF7(fn) { + var w = fn.call(this, this.regESI & this.opMask, this.regEDI & this.opMask); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiDILo; this.backTrack.btiSIHi = this.backTrack.btiDIHi; + } + }, + /** + * opModRegWordF8(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=000 (AX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF8: function opModRegWordF8(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regEAX & this.opMask); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiAL; this.backTrack.btiDIHi = this.backTrack.btiAH; + } + }, + /** + * opModRegWordF9(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=001 (CX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegF9: function opModRegWordF9(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regECX & this.opMask); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiCL; this.backTrack.btiDIHi = this.backTrack.btiCH; + } + }, + /** + * opModRegWordFA(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=010 (DX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegFA: function opModRegWordFA(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regEDX & this.opMask); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiDL; this.backTrack.btiDIHi = this.backTrack.btiDH; + } + }, + /** + * opModRegWordFB(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=011 (BX) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegFB: function opModRegWordFB(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regEBX & this.opMask); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiBL; this.backTrack.btiDIHi = this.backTrack.btiBH; + } + }, + /** + * opModRegWordFC(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=100 (SP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegFC: function opModRegWordFC(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regESP & this.opMask); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = X86.BACKTRACK.SP_LO; this.backTrack.btiDIHi = X86.BACKTRACK.SP_HI; + } + }, + /** + * opModRegWordFD(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=101 (BP) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegFD: function opModRegWordFD(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regEBP & this.opMask); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiBPLo; this.backTrack.btiDIHi = this.backTrack.btiBPHi; + } + }, + /** + * opModRegWordFE(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=110 (SI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegFE: function opModRegWordFE(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regESI & this.opMask); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiSILo; this.backTrack.btiDIHi = this.backTrack.btiSIHi; + } + }, + /** + * opModRegWordFF(fn): mod=11 (reg:src) reg=111 (DI:dst) r/m=111 (DI) + * + * @this {X86CPU} + * @param {function(number,number)} fn (dst,src) + */ + opModRegFF: function opModRegWordFF(fn) { + var w = fn.call(this, this.regEDI & this.opMask, this.regEDI & this.opMask); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + }, + /** + * opModGrpWord00(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp00: function opModGrpWord00(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord01(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp01: function opModGrpWord01(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord02(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp02: function opModGrpWord02(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord03(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp03: function opModGrpWord03(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord04(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp04: function opModGrpWord04(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord05(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp05: function opModGrpWord05(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord06(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp06: function opModGrpWord06(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpWord07(afnGrp, fnSrc): mod=00 (mem:dst) reg=000 (afnGrp[0]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp07: function opModGrpWord07(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord08(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp08: function opModGrpWord08(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord09(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp09: function opModGrpWord09(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord0A(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp0A: function opModGrpWord0A(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord0B(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp0B: function opModGrpWord0B(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord0C(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp0C: function opModGrpWord0C(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord0D(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp0D: function opModGrpWord0D(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord0E(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp0E: function opModGrpWord0E(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpWord0F(afnGrp, fnSrc): mod=00 (mem:dst) reg=001 (afnGrp[1]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp0F: function opModGrpWord0F(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord10(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp10: function opModGrpWord10(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord11(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp11: function opModGrpWord11(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord12(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp12: function opModGrpWord12(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord13(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp13: function opModGrpWord13(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord14(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp14: function opModGrpWord14(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord15(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp15: function opModGrpWord15(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord16(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp16: function opModGrpWord16(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpWord17(afnGrp, fnSrc): mod=00 (mem:dst) reg=010 (afnGrp[2]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp17: function opModGrpWord17(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord18(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp18: function opModGrpWord18(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord19(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp19: function opModGrpWord19(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord1A(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp1A: function opModGrpWord1A(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord1B(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp1B: function opModGrpWord1B(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord1C(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp1C: function opModGrpWord1C(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord1D(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp1D: function opModGrpWord1D(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord1E(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp1E: function opModGrpWord1E(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpWord1F(afnGrp, fnSrc): mod=00 (mem:dst) reg=011 (afnGrp[3]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp1F: function opModGrpWord1F(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord20(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp20: function opModGrpWord20(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord21(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp21: function opModGrpWord21(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord22(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp22: function opModGrpWord22(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord23(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp23: function opModGrpWord23(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord24(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp24: function opModGrpWord24(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord25(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp25: function opModGrpWord25(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord26(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp26: function opModGrpWord26(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpWord27(afnGrp, fnSrc): mod=00 (mem:dst) reg=100 (afnGrp[4]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp27: function opModGrpWord27(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord28(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp28: function opModGrpWord28(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord29(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp29: function opModGrpWord29(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord2A(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp2A: function opModGrpWord2A(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord2B(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp2B: function opModGrpWord2B(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord2C(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp2C: function opModGrpWord2C(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord2D(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp2D: function opModGrpWord2D(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord2E(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp2E: function opModGrpWord2E(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpWord2F(afnGrp, fnSrc): mod=00 (mem:dst) reg=101 (afnGrp[5]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp2F: function opModGrpWord2F(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord30(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp30: function opModGrpWord30(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord31(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp31: function opModGrpWord31(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord32(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp32: function opModGrpWord32(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord33(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp33: function opModGrpWord33(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord34(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp34: function opModGrpWord34(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord35(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp35: function opModGrpWord35(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord36(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp36: function opModGrpWord36(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpWord37(afnGrp, fnSrc): mod=00 (mem:dst) reg=110 (afnGrp[6]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp37: function opModGrpWord37(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord38(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp38: function opModGrpWord38(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord39(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp39: function opModGrpWord39(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord3A(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp3A: function opModGrpWord3A(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexExtra; + }, + /** + * opModGrpWord3B(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp3B: function opModGrpWord3B(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndex; + }, + /** + * opModGrpWord3C(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=100 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp3C: function opModGrpWord3C(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regESI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord3D(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=101 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp3D: function opModGrpWord3D(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEDI & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord3E(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=110 (d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp3E: function opModGrpWord3E(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, this.getIPWord()), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesDisp; + }, + /** + * opModGrpWord3F(afnGrp, fnSrc): mod=00 (mem:dst) reg=111 (afnGrp[7]) r/m=111 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp3F: function opModGrpWord3F(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, (this.regEBX & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBase; + }, + /** + * opModGrpWord40(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp40: function opModGrpWord40(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord41(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp41: function opModGrpWord41(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord42(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp42: function opModGrpWord42(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord43(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp43: function opModGrpWord43(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord44(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp44: function opModGrpWord44(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord45(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp45: function opModGrpWord45(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord46(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp46: function opModGrpWord46(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord47(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=000 (afnGrp[0]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp47: function opModGrpWord47(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord48(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp48: function opModGrpWord48(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord49(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp49: function opModGrpWord49(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord4A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp4A: function opModGrpWord4A(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord4B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp4B: function opModGrpWord4B(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord4C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp4C: function opModGrpWord4C(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord4D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp4D: function opModGrpWord4D(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord4E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp4E: function opModGrpWord4E(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord4F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=001 (afnGrp[1]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp4F: function opModGrpWord4F(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord50(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp50: function opModGrpWord50(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord51(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp51: function opModGrpWord51(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord52(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp52: function opModGrpWord52(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord53(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp53: function opModGrpWord53(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord54(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp54: function opModGrpWord54(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord55(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp55: function opModGrpWord55(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord56(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp56: function opModGrpWord56(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord57(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=010 (afnGrp[2]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp57: function opModGrpWord57(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord58(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp58: function opModGrpWord58(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord59(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp59: function opModGrpWord59(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord5A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp5A: function opModGrpWord5A(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord5B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp5B: function opModGrpWord5B(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord5C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp5C: function opModGrpWord5C(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord5D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp5D: function opModGrpWord5D(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord5E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp5E: function opModGrpWord5E(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord5F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=011 (afnGrp[3]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp5F: function opModGrpWord5F(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord60(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp60: function opModGrpWord60(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord61(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp61: function opModGrpWord61(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord62(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp62: function opModGrpWord62(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord63(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp63: function opModGrpWord63(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord64(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp64: function opModGrpWord64(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord65(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp65: function opModGrpWord65(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord66(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp66: function opModGrpWord66(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord67(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=100 (afnGrp[4]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp67: function opModGrpWord67(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord68(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp68: function opModGrpWord68(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord69(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp69: function opModGrpWord69(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord6A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp6A: function opModGrpWord6A(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord6B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp6B: function opModGrpWord6B(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord6C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp6C: function opModGrpWord6C(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord6D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp6D: function opModGrpWord6D(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord6E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp6E: function opModGrpWord6E(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord6F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=101 (afnGrp[5]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp6F: function opModGrpWord6F(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord70(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp70: function opModGrpWord70(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord71(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp71: function opModGrpWord71(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord72(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp72: function opModGrpWord72(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord73(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp73: function opModGrpWord73(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord74(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp74: function opModGrpWord74(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord75(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp75: function opModGrpWord75(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord76(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp76: function opModGrpWord76(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord77(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=110 (afnGrp[6]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp77: function opModGrpWord77(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord78(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp78: function opModGrpWord78(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord79(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp79: function opModGrpWord79(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord7A(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp7A: function opModGrpWord7A(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord7B(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp7B: function opModGrpWord7B(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord7C(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=100 (SI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp7C: function opModGrpWord7C(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord7D(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=101 (DI+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp7D: function opModGrpWord7D(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord7E(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=110 (BP+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp7E: function opModGrpWord7E(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord7F(afnGrp, fnSrc): mod=01 (mem+d8:dst) reg=111 (afnGrp[7]) r/m=111 (BX+d8) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp7F: function opModGrpWord7F(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPDisp()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord80(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp80: function opModGrpWord80(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord81(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp81: function opModGrpWord81(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord82(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp82: function opModGrpWord82(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord83(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp83: function opModGrpWord83(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord84(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp84: function opModGrpWord84(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord85(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp85: function opModGrpWord85(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord86(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp86: function opModGrpWord86(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord87(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=000 (afnGrp[0]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp87: function opModGrpWord87(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord88(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp88: function opModGrpWord88(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord89(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp89: function opModGrpWord89(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord8A(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp8A: function opModGrpWord8A(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord8B(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp8B: function opModGrpWord8B(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord8C(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp8C: function opModGrpWord8C(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord8D(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp8D: function opModGrpWord8D(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord8E(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp8E: function opModGrpWord8E(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord8F(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=001 (afnGrp[1]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp8F: function opModGrpWord8F(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord90(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp90: function opModGrpWord90(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord91(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp91: function opModGrpWord91(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord92(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp92: function opModGrpWord92(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord93(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp93: function opModGrpWord93(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord94(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp94: function opModGrpWord94(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord95(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp95: function opModGrpWord95(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord96(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp96: function opModGrpWord96(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord97(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=010 (afnGrp[2]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp97: function opModGrpWord97(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord98(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp98: function opModGrpWord98(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord99(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp99: function opModGrpWord99(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord9A(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp9A: function opModGrpWord9A(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWord9B(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp9B: function opModGrpWord9B(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWord9C(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp9C: function opModGrpWord9C(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord9D(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp9D: function opModGrpWord9D(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord9E(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp9E: function opModGrpWord9E(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWord9F(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=011 (afnGrp[3]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrp9F: function opModGrpWord9F(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordA0(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA0: function opModGrpWordA0(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWordA1(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA1: function opModGrpWordA1(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWordA2(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA2: function opModGrpWordA2(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWordA3(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA3: function opModGrpWordA3(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWordA4(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA4: function opModGrpWordA4(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordA5(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA5: function opModGrpWordA5(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordA6(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA6: function opModGrpWordA6(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordA7(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=100 (afnGrp[4]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA7: function opModGrpWordA7(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordA8(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA8: function opModGrpWordA8(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWordA9(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpA9: function opModGrpWordA9(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWordAA(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpAA: function opModGrpWordAA(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWordAB(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpAB: function opModGrpWordAB(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWordAC(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpAC: function opModGrpWordAC(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordAD(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpAD: function opModGrpWordAD(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordAE(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpAE: function opModGrpWordAE(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordAF(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=101 (afnGrp[5]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpAF: function opModGrpWordAF(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordB0(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB0: function opModGrpWordB0(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWordB1(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB1: function opModGrpWordB1(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWordB2(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB2: function opModGrpWordB2(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWordB3(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB3: function opModGrpWordB3(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWordB4(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB4: function opModGrpWordB4(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordB5(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB5: function opModGrpWordB5(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordB6(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB6: function opModGrpWordB6(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordB7(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=110 (afnGrp[6]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB7: function opModGrpWordB7(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordB8(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=000 (BX+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB8: function opModGrpWordB8(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWordB9(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=001 (BX+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpB9: function opModGrpWordB9(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWordBA(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=010 (BP+SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpBA: function opModGrpWordBA(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDispExtra; + }, + /** + * opModGrpWordBB(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=011 (BP+DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpBB: function opModGrpWordBB(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseIndexDisp; + }, + /** + * opModGrpWordBC(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=100 (SI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpBC: function opModGrpWordBC(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regESI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordBD(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=101 (DI+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpBD: function opModGrpWordBD(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEDI + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordBE(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=110 (BP+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpBE: function opModGrpWordBE(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segStack, ((this.regEBP + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordBF(afnGrp, fnSrc): mod=10 (mem+d16:dst) reg=111 (afnGrp[7]) r/m=111 (BX+d16) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpBF: function opModGrpWordBF(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.modEAWord(this.segData, ((this.regEBX + this.getIPWord()) & 0xffff)), fnSrc.call(this)); + this.setEAWord(w); + this.nStepCycles -= this.CYCLES.nEACyclesBaseDisp; + }, + /** + * opModGrpWordC0(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=000 (AX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC0: function opModGrpWordC0(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordC1(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=001 (CX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC1: function opModGrpWordC1(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordC2(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=010 (DX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC2: function opModGrpWordC2(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordC3(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=011 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC3: function opModGrpWordC3(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordC4(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=100 (SP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC4: function opModGrpWordC4(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & this.opMaskClear) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordC5(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=101 (BP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC5: function opModGrpWordC5(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordC6(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=110 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC6: function opModGrpWordC6(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordC7(afnGrp, fnSrc): mod=11 (reg:dst) reg=000 (afnGrp[0]) r/m=111 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC7: function opModGrpWordC7(afnGrp, fnSrc) { + var w = afnGrp[0].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordC8(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=000 (AX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC8: function opModGrpWordC8(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordC9(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=001 (CX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpC9: function opModGrpWordC9(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordCA(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=010 (DX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpCA: function opModGrpWordCA(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordCB(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=011 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpCB: function opModGrpWordCB(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordCC(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=100 (SP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpCC: function opModGrpWordCC(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & this.opMaskClear) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordCD(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=101 (BP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpCD: function opModGrpWordCD(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordCE(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=110 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpCE: function opModGrpWordCE(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordCF(afnGrp, fnSrc): mod=11 (reg:dst) reg=001 (afnGrp[1]) r/m=111 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpCF: function opModGrpWordCF(afnGrp, fnSrc) { + var w = afnGrp[1].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordD0(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=000 (AX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD0: function opModGrpWordD0(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordD1(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=001 (CX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD1: function opModGrpWordD1(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordD2(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=010 (DX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD2: function opModGrpWordD2(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordD3(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=011 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD3: function opModGrpWordD3(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordD4(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=100 (SP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD4: function opModGrpWordD4(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & this.opMaskClear) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordD5(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=101 (BP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD5: function opModGrpWordD5(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordD6(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=110 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD6: function opModGrpWordD6(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordD7(afnGrp, fnSrc): mod=11 (reg:dst) reg=010 (afnGrp[2]) r/m=111 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD7: function opModGrpWordD7(afnGrp, fnSrc) { + var w = afnGrp[2].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordD8(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=000 (AX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD8: function opModGrpWordD8(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordD9(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=001 (CX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpD9: function opModGrpWordD9(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordDA(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=010 (DX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpDA: function opModGrpWordDA(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordDB(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=011 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpDB: function opModGrpWordDB(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordDC(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=100 (SP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpDC: function opModGrpWordDC(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & this.opMaskClear) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordDD(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=101 (BP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpDD: function opModGrpWordDD(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordDE(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=110 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpDE: function opModGrpWordDE(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordDF(afnGrp, fnSrc): mod=11 (reg:dst) reg=011 (afnGrp[3]) r/m=111 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpDF: function opModGrpWordDF(afnGrp, fnSrc) { + var w = afnGrp[3].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordE0(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=000 (AX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE0: function opModGrpWordE0(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordE1(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=001 (CX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE1: function opModGrpWordE1(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordE2(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=010 (DX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE2: function opModGrpWordE2(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordE3(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=011 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE3: function opModGrpWordE3(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordE4(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=100 (SP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE4: function opModGrpWordE4(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & this.opMaskClear) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordE5(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=101 (BP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE5: function opModGrpWordE5(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordE6(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=110 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE6: function opModGrpWordE6(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordE7(afnGrp, fnSrc): mod=11 (reg:dst) reg=100 (afnGrp[4]) r/m=111 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE7: function opModGrpWordE7(afnGrp, fnSrc) { + var w = afnGrp[4].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordE8(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=000 (AX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE8: function opModGrpWordE8(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordE9(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=001 (CX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpE9: function opModGrpWordE9(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordEA(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=010 (DX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpEA: function opModGrpWordEA(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordEB(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=011 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpEB: function opModGrpWordEB(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordEC(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=100 (SP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpEC: function opModGrpWordEC(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & this.opMaskClear) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordED(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=101 (BP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpED: function opModGrpWordED(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordEE(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=110 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpEE: function opModGrpWordEE(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordEF(afnGrp, fnSrc): mod=11 (reg:dst) reg=101 (afnGrp[5]) r/m=111 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpEF: function opModGrpWordEF(afnGrp, fnSrc) { + var w = afnGrp[5].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordF0(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=000 (AX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF0: function opModGrpWordF0(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordF1(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=001 (CX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF1: function opModGrpWordF1(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordF2(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=010 (DX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF2: function opModGrpWordF2(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordF3(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=011 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF3: function opModGrpWordF3(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordF4(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=100 (SP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF4: function opModGrpWordF4(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & this.opMaskClear) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordF5(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=101 (BP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF5: function opModGrpWordF5(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordF6(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=110 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF6: function opModGrpWordF6(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordF7(afnGrp, fnSrc): mod=11 (reg:dst) reg=110 (afnGrp[6]) r/m=111 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF7: function opModGrpWordF7(afnGrp, fnSrc) { + var w = afnGrp[6].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordF8(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=000 (AX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF8: function opModGrpWordF8(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regEAX & this.opMask, fnSrc.call(this)); + this.regEAX = (this.regEAX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiAL = this.backTrack.btiEALo; this.backTrack.btiAH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordF9(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=001 (CX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpF9: function opModGrpWordF9(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regECX & this.opMask, fnSrc.call(this)); + this.regECX = (this.regECX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiCL = this.backTrack.btiEALo; this.backTrack.btiCH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordFA(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=010 (DX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpFA: function opModGrpWordFA(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regEDX & this.opMask, fnSrc.call(this)); + this.regEDX = (this.regEDX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDL = this.backTrack.btiEALo; this.backTrack.btiDH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordFB(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=011 (BX) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpFB: function opModGrpWordFB(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regEBX & this.opMask, fnSrc.call(this)); + this.regEBX = (this.regEBX & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBL = this.backTrack.btiEALo; this.backTrack.btiBH = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordFC(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=100 (SP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpFC: function opModGrpWordFC(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regESP & this.opMask, fnSrc.call(this)); + this.regESP = (this.regESP & this.opMaskClear) | w; + if (BACKTRACK) { + X86.BACKTRACK.SP_LO = this.backTrack.btiEALo; X86.BACKTRACK.SP_HI = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordFD(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=101 (BP) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpFD: function opModGrpWordFD(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regEBP & this.opMask, fnSrc.call(this)); + this.regEBP = (this.regEBP & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiBPLo = this.backTrack.btiEALo; this.backTrack.btiBPHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordFE(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=110 (SI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpFE: function opModGrpWordFE(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regESI & this.opMask, fnSrc.call(this)); + this.regESI = (this.regESI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiSILo = this.backTrack.btiEALo; this.backTrack.btiSIHi = this.backTrack.btiEAHi; + } + }, + /** + * opModGrpWordFF(afnGrp, fnSrc): mod=11 (reg:dst) reg=111 (afnGrp[7]) r/m=111 (DI) + * + * @this {X86CPU} + * @param {Array.} afnGrp + * @param {function()} fnSrc + */ + opModGrpFF: function opModGrpWordFF(afnGrp, fnSrc) { + var w = afnGrp[7].call(this, this.regEDI & this.opMask, fnSrc.call(this)); + this.regEDI = (this.regEDI & this.opMaskClear) | w; + if (BACKTRACK) { + this.backTrack.btiDILo = this.backTrack.btiEALo; this.backTrack.btiDIHi = this.backTrack.btiEAHi; + } + } +}; + +X86ModW.aOpModMem = [ + X86ModW.opModMem00, X86ModW.opModMem01, X86ModW.opModMem02, X86ModW.opModMem03, + X86ModW.opModMem04, X86ModW.opModMem05, X86ModW.opModMem06, X86ModW.opModMem07, + X86ModW.opModMem08, X86ModW.opModMem09, X86ModW.opModMem0A, X86ModW.opModMem0B, + X86ModW.opModMem0C, X86ModW.opModMem0D, X86ModW.opModMem0E, X86ModW.opModMem0F, + X86ModW.opModMem10, X86ModW.opModMem11, X86ModW.opModMem12, X86ModW.opModMem13, + X86ModW.opModMem14, X86ModW.opModMem15, X86ModW.opModMem16, X86ModW.opModMem17, + X86ModW.opModMem18, X86ModW.opModMem19, X86ModW.opModMem1A, X86ModW.opModMem1B, + X86ModW.opModMem1C, X86ModW.opModMem1D, X86ModW.opModMem1E, X86ModW.opModMem1F, + X86ModW.opModMem20, X86ModW.opModMem21, X86ModW.opModMem22, X86ModW.opModMem23, + X86ModW.opModMem24, X86ModW.opModMem25, X86ModW.opModMem26, X86ModW.opModMem27, + X86ModW.opModMem28, X86ModW.opModMem29, X86ModW.opModMem2A, X86ModW.opModMem2B, + X86ModW.opModMem2C, X86ModW.opModMem2D, X86ModW.opModMem2E, X86ModW.opModMem2F, + X86ModW.opModMem30, X86ModW.opModMem31, X86ModW.opModMem32, X86ModW.opModMem33, + X86ModW.opModMem34, X86ModW.opModMem35, X86ModW.opModMem36, X86ModW.opModMem37, + X86ModW.opModMem38, X86ModW.opModMem39, X86ModW.opModMem3A, X86ModW.opModMem3B, + X86ModW.opModMem3C, X86ModW.opModMem3D, X86ModW.opModMem3E, X86ModW.opModMem3F, + X86ModW.opModMem40, X86ModW.opModMem41, X86ModW.opModMem42, X86ModW.opModMem43, + X86ModW.opModMem44, X86ModW.opModMem45, X86ModW.opModMem46, X86ModW.opModMem47, + X86ModW.opModMem48, X86ModW.opModMem49, X86ModW.opModMem4A, X86ModW.opModMem4B, + X86ModW.opModMem4C, X86ModW.opModMem4D, X86ModW.opModMem4E, X86ModW.opModMem4F, + X86ModW.opModMem50, X86ModW.opModMem51, X86ModW.opModMem52, X86ModW.opModMem53, + X86ModW.opModMem54, X86ModW.opModMem55, X86ModW.opModMem56, X86ModW.opModMem57, + X86ModW.opModMem58, X86ModW.opModMem59, X86ModW.opModMem5A, X86ModW.opModMem5B, + X86ModW.opModMem5C, X86ModW.opModMem5D, X86ModW.opModMem5E, X86ModW.opModMem5F, + X86ModW.opModMem60, X86ModW.opModMem61, X86ModW.opModMem62, X86ModW.opModMem63, + X86ModW.opModMem64, X86ModW.opModMem65, X86ModW.opModMem66, X86ModW.opModMem67, + X86ModW.opModMem68, X86ModW.opModMem69, X86ModW.opModMem6A, X86ModW.opModMem6B, + X86ModW.opModMem6C, X86ModW.opModMem6D, X86ModW.opModMem6E, X86ModW.opModMem6F, + X86ModW.opModMem70, X86ModW.opModMem71, X86ModW.opModMem72, X86ModW.opModMem73, + X86ModW.opModMem74, X86ModW.opModMem75, X86ModW.opModMem76, X86ModW.opModMem77, + X86ModW.opModMem78, X86ModW.opModMem79, X86ModW.opModMem7A, X86ModW.opModMem7B, + X86ModW.opModMem7C, X86ModW.opModMem7D, X86ModW.opModMem7E, X86ModW.opModMem7F, + X86ModW.opModMem80, X86ModW.opModMem81, X86ModW.opModMem82, X86ModW.opModMem83, + X86ModW.opModMem84, X86ModW.opModMem85, X86ModW.opModMem86, X86ModW.opModMem87, + X86ModW.opModMem88, X86ModW.opModMem89, X86ModW.opModMem8A, X86ModW.opModMem8B, + X86ModW.opModMem8C, X86ModW.opModMem8D, X86ModW.opModMem8E, X86ModW.opModMem8F, + X86ModW.opModMem90, X86ModW.opModMem91, X86ModW.opModMem92, X86ModW.opModMem93, + X86ModW.opModMem94, X86ModW.opModMem95, X86ModW.opModMem96, X86ModW.opModMem97, + X86ModW.opModMem98, X86ModW.opModMem99, X86ModW.opModMem9A, X86ModW.opModMem9B, + X86ModW.opModMem9C, X86ModW.opModMem9D, X86ModW.opModMem9E, X86ModW.opModMem9F, + X86ModW.opModMemA0, X86ModW.opModMemA1, X86ModW.opModMemA2, X86ModW.opModMemA3, + X86ModW.opModMemA4, X86ModW.opModMemA5, X86ModW.opModMemA6, X86ModW.opModMemA7, + X86ModW.opModMemA8, X86ModW.opModMemA9, X86ModW.opModMemAA, X86ModW.opModMemAB, + X86ModW.opModMemAC, X86ModW.opModMemAD, X86ModW.opModMemAE, X86ModW.opModMemAF, + X86ModW.opModMemB0, X86ModW.opModMemB1, X86ModW.opModMemB2, X86ModW.opModMemB3, + X86ModW.opModMemB4, X86ModW.opModMemB5, X86ModW.opModMemB6, X86ModW.opModMemB7, + X86ModW.opModMemB8, X86ModW.opModMemB9, X86ModW.opModMemBA, X86ModW.opModMemBB, + X86ModW.opModMemBC, X86ModW.opModMemBD, X86ModW.opModMemBE, X86ModW.opModMemBF, + X86ModW.opModRegC0, X86ModW.opModRegC8, X86ModW.opModRegD0, X86ModW.opModRegD8, + X86ModW.opModRegE0, X86ModW.opModRegE8, X86ModW.opModRegF0, X86ModW.opModRegF8, + X86ModW.opModRegC1, X86ModW.opModRegC9, X86ModW.opModRegD1, X86ModW.opModRegD9, + X86ModW.opModRegE1, X86ModW.opModRegE9, X86ModW.opModRegF1, X86ModW.opModRegF9, + X86ModW.opModRegC2, X86ModW.opModRegCA, X86ModW.opModRegD2, X86ModW.opModRegDA, + X86ModW.opModRegE2, X86ModW.opModRegEA, X86ModW.opModRegF2, X86ModW.opModRegFA, + X86ModW.opModRegC3, X86ModW.opModRegCB, X86ModW.opModRegD3, X86ModW.opModRegDB, + X86ModW.opModRegE3, X86ModW.opModRegEB, X86ModW.opModRegF3, X86ModW.opModRegFB, + X86ModW.opModRegC4, X86ModW.opModRegCC, X86ModW.opModRegD4, X86ModW.opModRegDC, + X86ModW.opModRegE4, X86ModW.opModRegEC, X86ModW.opModRegF4, X86ModW.opModRegFC, + X86ModW.opModRegC5, X86ModW.opModRegCD, X86ModW.opModRegD5, X86ModW.opModRegDD, + X86ModW.opModRegE5, X86ModW.opModRegED, X86ModW.opModRegF5, X86ModW.opModRegFD, + X86ModW.opModRegC6, X86ModW.opModRegCE, X86ModW.opModRegD6, X86ModW.opModRegDE, + X86ModW.opModRegE6, X86ModW.opModRegEE, X86ModW.opModRegF6, X86ModW.opModRegFE, + X86ModW.opModRegC7, X86ModW.opModRegCF, X86ModW.opModRegD7, X86ModW.opModRegDF, + X86ModW.opModRegE7, X86ModW.opModRegEF, X86ModW.opModRegF7, X86ModW.opModRegFF +]; + +X86ModW.aOpModReg = [ + X86ModW.opModReg00, X86ModW.opModReg01, X86ModW.opModReg02, X86ModW.opModReg03, + X86ModW.opModReg04, X86ModW.opModReg05, X86ModW.opModReg06, X86ModW.opModReg07, + X86ModW.opModReg08, X86ModW.opModReg09, X86ModW.opModReg0A, X86ModW.opModReg0B, + X86ModW.opModReg0C, X86ModW.opModReg0D, X86ModW.opModReg0E, X86ModW.opModReg0F, + X86ModW.opModReg10, X86ModW.opModReg11, X86ModW.opModReg12, X86ModW.opModReg13, + X86ModW.opModReg14, X86ModW.opModReg15, X86ModW.opModReg16, X86ModW.opModReg17, + X86ModW.opModReg18, X86ModW.opModReg19, X86ModW.opModReg1A, X86ModW.opModReg1B, + X86ModW.opModReg1C, X86ModW.opModReg1D, X86ModW.opModReg1E, X86ModW.opModReg1F, + X86ModW.opModReg20, X86ModW.opModReg21, X86ModW.opModReg22, X86ModW.opModReg23, + X86ModW.opModReg24, X86ModW.opModReg25, X86ModW.opModReg26, X86ModW.opModReg27, + X86ModW.opModReg28, X86ModW.opModReg29, X86ModW.opModReg2A, X86ModW.opModReg2B, + X86ModW.opModReg2C, X86ModW.opModReg2D, X86ModW.opModReg2E, X86ModW.opModReg2F, + X86ModW.opModReg30, X86ModW.opModReg31, X86ModW.opModReg32, X86ModW.opModReg33, + X86ModW.opModReg34, X86ModW.opModReg35, X86ModW.opModReg36, X86ModW.opModReg37, + X86ModW.opModReg38, X86ModW.opModReg39, X86ModW.opModReg3A, X86ModW.opModReg3B, + X86ModW.opModReg3C, X86ModW.opModReg3D, X86ModW.opModReg3E, X86ModW.opModReg3F, + X86ModW.opModReg40, X86ModW.opModReg41, X86ModW.opModReg42, X86ModW.opModReg43, + X86ModW.opModReg44, X86ModW.opModReg45, X86ModW.opModReg46, X86ModW.opModReg47, + X86ModW.opModReg48, X86ModW.opModReg49, X86ModW.opModReg4A, X86ModW.opModReg4B, + X86ModW.opModReg4C, X86ModW.opModReg4D, X86ModW.opModReg4E, X86ModW.opModReg4F, + X86ModW.opModReg50, X86ModW.opModReg51, X86ModW.opModReg52, X86ModW.opModReg53, + X86ModW.opModReg54, X86ModW.opModReg55, X86ModW.opModReg56, X86ModW.opModReg57, + X86ModW.opModReg58, X86ModW.opModReg59, X86ModW.opModReg5A, X86ModW.opModReg5B, + X86ModW.opModReg5C, X86ModW.opModReg5D, X86ModW.opModReg5E, X86ModW.opModReg5F, + X86ModW.opModReg60, X86ModW.opModReg61, X86ModW.opModReg62, X86ModW.opModReg63, + X86ModW.opModReg64, X86ModW.opModReg65, X86ModW.opModReg66, X86ModW.opModReg67, + X86ModW.opModReg68, X86ModW.opModReg69, X86ModW.opModReg6A, X86ModW.opModReg6B, + X86ModW.opModReg6C, X86ModW.opModReg6D, X86ModW.opModReg6E, X86ModW.opModReg6F, + X86ModW.opModReg70, X86ModW.opModReg71, X86ModW.opModReg72, X86ModW.opModReg73, + X86ModW.opModReg74, X86ModW.opModReg75, X86ModW.opModReg76, X86ModW.opModReg77, + X86ModW.opModReg78, X86ModW.opModReg79, X86ModW.opModReg7A, X86ModW.opModReg7B, + X86ModW.opModReg7C, X86ModW.opModReg7D, X86ModW.opModReg7E, X86ModW.opModReg7F, + X86ModW.opModReg80, X86ModW.opModReg81, X86ModW.opModReg82, X86ModW.opModReg83, + X86ModW.opModReg84, X86ModW.opModReg85, X86ModW.opModReg86, X86ModW.opModReg87, + X86ModW.opModReg88, X86ModW.opModReg89, X86ModW.opModReg8A, X86ModW.opModReg8B, + X86ModW.opModReg8C, X86ModW.opModReg8D, X86ModW.opModReg8E, X86ModW.opModReg8F, + X86ModW.opModReg90, X86ModW.opModReg91, X86ModW.opModReg92, X86ModW.opModReg93, + X86ModW.opModReg94, X86ModW.opModReg95, X86ModW.opModReg96, X86ModW.opModReg97, + X86ModW.opModReg98, X86ModW.opModReg99, X86ModW.opModReg9A, X86ModW.opModReg9B, + X86ModW.opModReg9C, X86ModW.opModReg9D, X86ModW.opModReg9E, X86ModW.opModReg9F, + X86ModW.opModRegA0, X86ModW.opModRegA1, X86ModW.opModRegA2, X86ModW.opModRegA3, + X86ModW.opModRegA4, X86ModW.opModRegA5, X86ModW.opModRegA6, X86ModW.opModRegA7, + X86ModW.opModRegA8, X86ModW.opModRegA9, X86ModW.opModRegAA, X86ModW.opModRegAB, + X86ModW.opModRegAC, X86ModW.opModRegAD, X86ModW.opModRegAE, X86ModW.opModRegAF, + X86ModW.opModRegB0, X86ModW.opModRegB1, X86ModW.opModRegB2, X86ModW.opModRegB3, + X86ModW.opModRegB4, X86ModW.opModRegB5, X86ModW.opModRegB6, X86ModW.opModRegB7, + X86ModW.opModRegB8, X86ModW.opModRegB9, X86ModW.opModRegBA, X86ModW.opModRegBB, + X86ModW.opModRegBC, X86ModW.opModRegBD, X86ModW.opModRegBE, X86ModW.opModRegBF, + X86ModW.opModRegC0, X86ModW.opModRegC1, X86ModW.opModRegC2, X86ModW.opModRegC3, + X86ModW.opModRegC4, X86ModW.opModRegC5, X86ModW.opModRegC6, X86ModW.opModRegC7, + X86ModW.opModRegC8, X86ModW.opModRegC9, X86ModW.opModRegCA, X86ModW.opModRegCB, + X86ModW.opModRegCC, X86ModW.opModRegCD, X86ModW.opModRegCE, X86ModW.opModRegCF, + X86ModW.opModRegD0, X86ModW.opModRegD1, X86ModW.opModRegD2, X86ModW.opModRegD3, + X86ModW.opModRegD4, X86ModW.opModRegD5, X86ModW.opModRegD6, X86ModW.opModRegD7, + X86ModW.opModRegD8, X86ModW.opModRegD9, X86ModW.opModRegDA, X86ModW.opModRegDB, + X86ModW.opModRegDC, X86ModW.opModRegDD, X86ModW.opModRegDE, X86ModW.opModRegDF, + X86ModW.opModRegE0, X86ModW.opModRegE1, X86ModW.opModRegE2, X86ModW.opModRegE3, + X86ModW.opModRegE4, X86ModW.opModRegE5, X86ModW.opModRegE6, X86ModW.opModRegE7, + X86ModW.opModRegE8, X86ModW.opModRegE9, X86ModW.opModRegEA, X86ModW.opModRegEB, + X86ModW.opModRegEC, X86ModW.opModRegED, X86ModW.opModRegEE, X86ModW.opModRegEF, + X86ModW.opModRegF0, X86ModW.opModRegF1, X86ModW.opModRegF2, X86ModW.opModRegF3, + X86ModW.opModRegF4, X86ModW.opModRegF5, X86ModW.opModRegF6, X86ModW.opModRegF7, + X86ModW.opModRegF8, X86ModW.opModRegF9, X86ModW.opModRegFA, X86ModW.opModRegFB, + X86ModW.opModRegFC, X86ModW.opModRegFD, X86ModW.opModRegFE, X86ModW.opModRegFF +]; + +X86ModW.aOpModGrp = [ + X86ModW.opModGrp00, X86ModW.opModGrp01, X86ModW.opModGrp02, X86ModW.opModGrp03, + X86ModW.opModGrp04, X86ModW.opModGrp05, X86ModW.opModGrp06, X86ModW.opModGrp07, + X86ModW.opModGrp08, X86ModW.opModGrp09, X86ModW.opModGrp0A, X86ModW.opModGrp0B, + X86ModW.opModGrp0C, X86ModW.opModGrp0D, X86ModW.opModGrp0E, X86ModW.opModGrp0F, + X86ModW.opModGrp10, X86ModW.opModGrp11, X86ModW.opModGrp12, X86ModW.opModGrp13, + X86ModW.opModGrp14, X86ModW.opModGrp15, X86ModW.opModGrp16, X86ModW.opModGrp17, + X86ModW.opModGrp18, X86ModW.opModGrp19, X86ModW.opModGrp1A, X86ModW.opModGrp1B, + X86ModW.opModGrp1C, X86ModW.opModGrp1D, X86ModW.opModGrp1E, X86ModW.opModGrp1F, + X86ModW.opModGrp20, X86ModW.opModGrp21, X86ModW.opModGrp22, X86ModW.opModGrp23, + X86ModW.opModGrp24, X86ModW.opModGrp25, X86ModW.opModGrp26, X86ModW.opModGrp27, + X86ModW.opModGrp28, X86ModW.opModGrp29, X86ModW.opModGrp2A, X86ModW.opModGrp2B, + X86ModW.opModGrp2C, X86ModW.opModGrp2D, X86ModW.opModGrp2E, X86ModW.opModGrp2F, + X86ModW.opModGrp30, X86ModW.opModGrp31, X86ModW.opModGrp32, X86ModW.opModGrp33, + X86ModW.opModGrp34, X86ModW.opModGrp35, X86ModW.opModGrp36, X86ModW.opModGrp37, + X86ModW.opModGrp38, X86ModW.opModGrp39, X86ModW.opModGrp3A, X86ModW.opModGrp3B, + X86ModW.opModGrp3C, X86ModW.opModGrp3D, X86ModW.opModGrp3E, X86ModW.opModGrp3F, + X86ModW.opModGrp40, X86ModW.opModGrp41, X86ModW.opModGrp42, X86ModW.opModGrp43, + X86ModW.opModGrp44, X86ModW.opModGrp45, X86ModW.opModGrp46, X86ModW.opModGrp47, + X86ModW.opModGrp48, X86ModW.opModGrp49, X86ModW.opModGrp4A, X86ModW.opModGrp4B, + X86ModW.opModGrp4C, X86ModW.opModGrp4D, X86ModW.opModGrp4E, X86ModW.opModGrp4F, + X86ModW.opModGrp50, X86ModW.opModGrp51, X86ModW.opModGrp52, X86ModW.opModGrp53, + X86ModW.opModGrp54, X86ModW.opModGrp55, X86ModW.opModGrp56, X86ModW.opModGrp57, + X86ModW.opModGrp58, X86ModW.opModGrp59, X86ModW.opModGrp5A, X86ModW.opModGrp5B, + X86ModW.opModGrp5C, X86ModW.opModGrp5D, X86ModW.opModGrp5E, X86ModW.opModGrp5F, + X86ModW.opModGrp60, X86ModW.opModGrp61, X86ModW.opModGrp62, X86ModW.opModGrp63, + X86ModW.opModGrp64, X86ModW.opModGrp65, X86ModW.opModGrp66, X86ModW.opModGrp67, + X86ModW.opModGrp68, X86ModW.opModGrp69, X86ModW.opModGrp6A, X86ModW.opModGrp6B, + X86ModW.opModGrp6C, X86ModW.opModGrp6D, X86ModW.opModGrp6E, X86ModW.opModGrp6F, + X86ModW.opModGrp70, X86ModW.opModGrp71, X86ModW.opModGrp72, X86ModW.opModGrp73, + X86ModW.opModGrp74, X86ModW.opModGrp75, X86ModW.opModGrp76, X86ModW.opModGrp77, + X86ModW.opModGrp78, X86ModW.opModGrp79, X86ModW.opModGrp7A, X86ModW.opModGrp7B, + X86ModW.opModGrp7C, X86ModW.opModGrp7D, X86ModW.opModGrp7E, X86ModW.opModGrp7F, + X86ModW.opModGrp80, X86ModW.opModGrp81, X86ModW.opModGrp82, X86ModW.opModGrp83, + X86ModW.opModGrp84, X86ModW.opModGrp85, X86ModW.opModGrp86, X86ModW.opModGrp87, + X86ModW.opModGrp88, X86ModW.opModGrp89, X86ModW.opModGrp8A, X86ModW.opModGrp8B, + X86ModW.opModGrp8C, X86ModW.opModGrp8D, X86ModW.opModGrp8E, X86ModW.opModGrp8F, + X86ModW.opModGrp90, X86ModW.opModGrp91, X86ModW.opModGrp92, X86ModW.opModGrp93, + X86ModW.opModGrp94, X86ModW.opModGrp95, X86ModW.opModGrp96, X86ModW.opModGrp97, + X86ModW.opModGrp98, X86ModW.opModGrp99, X86ModW.opModGrp9A, X86ModW.opModGrp9B, + X86ModW.opModGrp9C, X86ModW.opModGrp9D, X86ModW.opModGrp9E, X86ModW.opModGrp9F, + X86ModW.opModGrpA0, X86ModW.opModGrpA1, X86ModW.opModGrpA2, X86ModW.opModGrpA3, + X86ModW.opModGrpA4, X86ModW.opModGrpA5, X86ModW.opModGrpA6, X86ModW.opModGrpA7, + X86ModW.opModGrpA8, X86ModW.opModGrpA9, X86ModW.opModGrpAA, X86ModW.opModGrpAB, + X86ModW.opModGrpAC, X86ModW.opModGrpAD, X86ModW.opModGrpAE, X86ModW.opModGrpAF, + X86ModW.opModGrpB0, X86ModW.opModGrpB1, X86ModW.opModGrpB2, X86ModW.opModGrpB3, + X86ModW.opModGrpB4, X86ModW.opModGrpB5, X86ModW.opModGrpB6, X86ModW.opModGrpB7, + X86ModW.opModGrpB8, X86ModW.opModGrpB9, X86ModW.opModGrpBA, X86ModW.opModGrpBB, + X86ModW.opModGrpBC, X86ModW.opModGrpBD, X86ModW.opModGrpBE, X86ModW.opModGrpBF, + X86ModW.opModGrpC0, X86ModW.opModGrpC1, X86ModW.opModGrpC2, X86ModW.opModGrpC3, + X86ModW.opModGrpC4, X86ModW.opModGrpC5, X86ModW.opModGrpC6, X86ModW.opModGrpC7, + X86ModW.opModGrpC8, X86ModW.opModGrpC9, X86ModW.opModGrpCA, X86ModW.opModGrpCB, + X86ModW.opModGrpCC, X86ModW.opModGrpCD, X86ModW.opModGrpCE, X86ModW.opModGrpCF, + X86ModW.opModGrpD0, X86ModW.opModGrpD1, X86ModW.opModGrpD2, X86ModW.opModGrpD3, + X86ModW.opModGrpD4, X86ModW.opModGrpD5, X86ModW.opModGrpD6, X86ModW.opModGrpD7, + X86ModW.opModGrpD8, X86ModW.opModGrpD9, X86ModW.opModGrpDA, X86ModW.opModGrpDB, + X86ModW.opModGrpDC, X86ModW.opModGrpDD, X86ModW.opModGrpDE, X86ModW.opModGrpDF, + X86ModW.opModGrpE0, X86ModW.opModGrpE1, X86ModW.opModGrpE2, X86ModW.opModGrpE3, + X86ModW.opModGrpE4, X86ModW.opModGrpE5, X86ModW.opModGrpE6, X86ModW.opModGrpE7, + X86ModW.opModGrpE8, X86ModW.opModGrpE9, X86ModW.opModGrpEA, X86ModW.opModGrpEB, + X86ModW.opModGrpEC, X86ModW.opModGrpED, X86ModW.opModGrpEE, X86ModW.opModGrpEF, + X86ModW.opModGrpF0, X86ModW.opModGrpF1, X86ModW.opModGrpF2, X86ModW.opModGrpF3, + X86ModW.opModGrpF4, X86ModW.opModGrpF5, X86ModW.opModGrpF6, X86ModW.opModGrpF7, + X86ModW.opModGrpF8, X86ModW.opModGrpF9, X86ModW.opModGrpFA, X86ModW.opModGrpFB, + X86ModW.opModGrpFC, X86ModW.opModGrpFD, X86ModW.opModGrpFE, X86ModW.opModGrpFF +]; + +if (typeof module !== 'undefined') module.exports = X86ModW; diff --git a/modules/pcjs/lib/x86op0f.js b/modules/pcjs/lib/x86op0f.js index 20d9da278..63b468234 100644 --- a/modules/pcjs/lib/x86op0f.js +++ b/modules/pcjs/lib/x86op0f.js @@ -36,7 +36,6 @@ if (typeof module !== 'undefined') { var X86 = require("./x86"); var X86Grps = require("./x86grps"); var X86Help = require("./x86help"); - var X86Mods = require("./x86mods"); } var X86Op0F = { @@ -50,7 +49,7 @@ var X86Op0F = { if ((bModRM & 0x38) < 0x10) { // possible reg values: 0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38 if (EAFUNCS) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; } - X86Mods.aOpModsGrpWord[bModRM].call(this, this.aOpGrp6, X86Grps.opGrpNoSrc); + this.aOpModGrpWord[bModRM].call(this, this.aOpGrp6, X86Grps.opGrpNoSrc); if (EAFUNCS) { this.modEAWord = this.modEAWordEnabled; this.setEAWord = this.setEAWordEnabled; } }, /** @@ -63,7 +62,7 @@ var X86Op0F = { if (!(bModRM & 0x10)) { if (EAFUNCS) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; } - X86Mods.aOpModsGrpWord[bModRM].call(this, X86Op0F.aOpGrp7, X86Grps.opGrpNoSrc); + this.aOpModGrpWord[bModRM].call(this, X86Op0F.aOpGrp7, X86Grps.opGrpNoSrc); if (EAFUNCS) { this.modEAWord = this.modEAWordEnabled; this.setEAWord = this.setEAWordEnabled; } }, /** @@ -72,7 +71,7 @@ var X86Op0F = { * op=0x0F,0x02 (lar reg,rm) */ opLAR: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Help.opHelpLAR); + this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpLAR); }, /** * @this {X86CPU} @@ -80,7 +79,7 @@ var X86Op0F = { * op=0x0F,0x03 (lsl reg,rm) */ opLSL: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Help.opHelpLSL); + this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpLSL); }, /** * opLOADALL() @@ -132,14 +131,14 @@ var X86Op0F = { return; } X86Help.opHelpLMSW.call(this, this.getWord(0x806)); - this.regDI = this.getWord(0x826); - this.regSI = this.getWord(0x828); - this.regBP = this.getWord(0x82A); - this.regSP = this.getWord(0x82C); - this.regBX = this.getWord(0x82E); - this.regDX = this.getWord(0x830); - this.regCX = this.getWord(0x832); - this.regAX = this.getWord(0x834); + this.regEDI = this.getWord(0x826); + this.regESI = this.getWord(0x828); + this.regEBP = this.getWord(0x82A); + this.regESP = this.getWord(0x82C); + this.regEBX = this.getWord(0x82E); + this.regEDX = this.getWord(0x830); + this.regECX = this.getWord(0x832); + this.regEAX = this.getWord(0x834); this.segES.loadDesc6(0x836, this.getWord(0x824)); this.segCS.loadDesc6(0x83C, this.getWord(0x822)); this.segSS.loadDesc6(0x842, this.getWord(0x820)); diff --git a/modules/pcjs/lib/x86opxx.js b/modules/pcjs/lib/x86opxx.js index a269a7d12..f85233bf8 100644 --- a/modules/pcjs/lib/x86opxx.js +++ b/modules/pcjs/lib/x86opxx.js @@ -38,7 +38,6 @@ if (typeof module !== 'undefined') { var X86 = require("./x86"); var X86Grps = require("./x86grps"); var X86Help = require("./x86help"); - var X86Mods = require("./x86mods"); var X86Op0F = require("./x86op0f"); } @@ -54,7 +53,7 @@ var X86OpXX = { * Look for common *potentially* bogus opcodes in DEBUG */ if (DEBUG && !b) this.stopCPU(); - X86Mods.aOpModsMemByte[b].call(this, X86Grps.opGrpADDb); + this.aOpModMemByte[b].call(this, X86Grps.opGrpADDb); }, /** * @this {X86CPU} @@ -62,7 +61,7 @@ var X86OpXX = { * op=0x01 (addw rm,reg) */ opADDmw: function() { - X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Grps.opGrpADDw); + this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpADDw); }, /** * @this {X86CPU} @@ -70,7 +69,7 @@ var X86OpXX = { * op=0x02 (addb reg,rm) */ opADDrb: function() { - X86Mods.aOpModsRegByte[this.getIPByte()].call(this, X86Grps.opGrpADDb); + this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpADDb); }, /** * @this {X86CPU} @@ -78,7 +77,7 @@ var X86OpXX = { * op=0x03 (addw reg,rm) */ opADDrw: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Grps.opGrpADDw); + this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpADDw); }, /** * @this {X86CPU} @@ -86,7 +85,7 @@ var X86OpXX = { * op=0x04 (add AL,imm8) */ opADDALb: function() { - this.regAX = (this.regAX & ~0xff) | X86Grps.opGrpADDb.call(this, this.regAX & 0xff, this.getIPByte()); + this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpADDb.call(this, this.regEAX & 0xff, this.getIPByte()); /* * In the absence of any EA calculations, opGrpADDb() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -99,7 +98,7 @@ var X86OpXX = { * op=0x05 (add AX,imm16) */ opADDAXw: function() { - this.regAX = X86Grps.opGrpADDw.call(this, this.regAX, this.getIPWord()); + this.regEAX = (this.regEAX & this.opMaskClear) | X86Grps.opGrpADDw.call(this, this.regEAX & this.opMask, this.getIPWord()); /* * In the absence of any EA calculations, opGrpADDw() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -130,7 +129,7 @@ var X86OpXX = { * op=0x08 (orb rm,reg) */ opORmb: function() { - X86Mods.aOpModsMemByte[this.getIPByte()].call(this, X86Grps.opGrpORb); + this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpORb); }, /** * @this {X86CPU} @@ -138,7 +137,7 @@ var X86OpXX = { * op=0x09 (orw rm,reg) */ opORmw: function() { - X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Grps.opGrpORw); + this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpORw); }, /** * @this {X86CPU} @@ -146,7 +145,7 @@ var X86OpXX = { * op=0x0A (orb reg,rm) */ opORrb: function() { - X86Mods.aOpModsRegByte[this.getIPByte()].call(this, X86Grps.opGrpORb); + this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpORb); }, /** * @this {X86CPU} @@ -154,7 +153,7 @@ var X86OpXX = { * op=0x0B (orw reg,rm) */ opORrw: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Grps.opGrpORw); + this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpORw); }, /** * @this {X86CPU} @@ -162,7 +161,7 @@ var X86OpXX = { * op=0x0C (or AL,imm8) */ opORALb: function() { - this.regAX = (this.regAX & ~0xff) | X86Grps.opGrpORb.call(this, this.regAX & 0xff, this.getIPByte()); + this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpORb.call(this, this.regEAX & 0xff, this.getIPByte()); /* * In the absence of any EA calculations, opGrpORb() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -175,7 +174,7 @@ var X86OpXX = { * op=0x0D (or AX,imm16) */ opORAXw: function() { - this.regAX = X86Grps.opGrpORw.call(this, this.regAX, this.getIPWord()); + this.regEAX = (this.regEAX & this.opMaskClear) | X86Grps.opGrpORw.call(this, this.regEAX & this.opMask, this.getIPWord()); /* * In the absence of any EA calculations, opGrpORw() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -214,7 +213,7 @@ var X86OpXX = { * op=0x10 (adcb rm,reg) */ opADCmb: function() { - X86Mods.aOpModsMemByte[this.getIPByte()].call(this, X86Grps.opGrpADCb); + this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpADCb); }, /** * @this {X86CPU} @@ -222,7 +221,7 @@ var X86OpXX = { * op=0x11 (adcw rm,reg) */ opADCmw: function() { - X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Grps.opGrpADCw); + this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpADCw); }, /** * @this {X86CPU} @@ -230,7 +229,7 @@ var X86OpXX = { * op=0x12 (adcb reg,rm) */ opADCrb: function() { - X86Mods.aOpModsRegByte[this.getIPByte()].call(this, X86Grps.opGrpADCb); + this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpADCb); }, /** * @this {X86CPU} @@ -238,7 +237,7 @@ var X86OpXX = { * op=0x13 (adcw reg,rm) */ opADCrw: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Grps.opGrpADCw); + this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpADCw); }, /** * @this {X86CPU} @@ -246,7 +245,7 @@ var X86OpXX = { * op=0x14 (adc AL,imm8) */ opADCALb: function() { - this.regAX = (this.regAX & ~0xff) | X86Grps.opGrpADCb.call(this, this.regAX & 0xff, this.getIPByte()); + this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpADCb.call(this, this.regEAX & 0xff, this.getIPByte()); /* * In the absence of any EA calculations, opGrpADCb() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -259,7 +258,7 @@ var X86OpXX = { * op=0x15 (adc AX,imm16) */ opADCAXw: function() { - this.regAX = X86Grps.opGrpADCw.call(this, this.regAX, this.getIPWord()); + this.regEAX = (this.regEAX & this.opMaskClear) | X86Grps.opGrpADCw.call(this, this.regEAX & this.opMask, this.getIPWord()); /* * In the absence of any EA calculations, opGrpADCw() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -290,7 +289,7 @@ var X86OpXX = { * op=0x18 (sbbb rm,reg) */ opSBBmb: function() { - X86Mods.aOpModsMemByte[this.getIPByte()].call(this, X86Grps.opGrpSBBb); + this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpSBBb); }, /** * @this {X86CPU} @@ -298,7 +297,7 @@ var X86OpXX = { * op=0x19 (sbbw rm,reg) */ opSBBmw: function() { - X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Grps.opGrpSBBw); + this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpSBBw); }, /** * @this {X86CPU} @@ -306,7 +305,7 @@ var X86OpXX = { * op=0x1A (sbbb reg,rm) */ opSBBrb: function() { - X86Mods.aOpModsRegByte[this.getIPByte()].call(this, X86Grps.opGrpSBBb); + this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpSBBb); }, /** * @this {X86CPU} @@ -314,7 +313,7 @@ var X86OpXX = { * op=0x1B (sbbw reg,rm) */ opSBBrw: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Grps.opGrpSBBw); + this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpSBBw); }, /** * @this {X86CPU} @@ -322,7 +321,7 @@ var X86OpXX = { * op=0x1C (sbb AL,imm8) */ opSBBALb: function() { - this.regAX = (this.regAX & ~0xff) | X86Grps.opGrpSBBb.call(this, this.regAX & 0xff, this.getIPByte()); + this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpSBBb.call(this, this.regEAX & 0xff, this.getIPByte()); /* * In the absence of any EA calculations, opGrpSBBb() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -335,7 +334,7 @@ var X86OpXX = { * op=0x1D (sbb AX,imm16) */ opSBBAXw: function() { - this.regAX = X86Grps.opGrpSBBw.call(this, this.regAX, this.getIPWord()); + this.regEAX = (this.regEAX & this.opMaskClear) | X86Grps.opGrpSBBw.call(this, this.regEAX & this.opMask, this.getIPWord()); /* * In the absence of any EA calculations, opGrpSBBw() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -366,7 +365,7 @@ var X86OpXX = { * op=0x20 (andb rm,reg) */ opANDmb: function() { - X86Mods.aOpModsMemByte[this.getIPByte()].call(this, X86Grps.opGrpANDb); + this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpANDb); }, /** * @this {X86CPU} @@ -374,7 +373,7 @@ var X86OpXX = { * op=0x21 (andw rm,reg) */ opANDmw: function() { - X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Grps.opGrpANDw); + this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpANDw); }, /** * @this {X86CPU} @@ -382,7 +381,7 @@ var X86OpXX = { * op=0x22 (andb reg,rm) */ opANDrb: function() { - X86Mods.aOpModsRegByte[this.getIPByte()].call(this, X86Grps.opGrpANDb); + this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpANDb); }, /** * @this {X86CPU} @@ -390,7 +389,7 @@ var X86OpXX = { * op=0x23 (andw reg,rm) */ opANDrw: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Grps.opGrpANDw); + this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpANDw); }, /** * @this {X86CPU} @@ -398,7 +397,7 @@ var X86OpXX = { * op=0x24 (and AL,imm8) */ opANDALb: function() { - this.regAX = (this.regAX & ~0xff) | X86Grps.opGrpANDb.call(this, this.regAX & 0xff, this.getIPByte()); + this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpANDb.call(this, this.regEAX & 0xff, this.getIPByte()); /* * In the absence of any EA calculations, opGrpANDb() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -411,7 +410,7 @@ var X86OpXX = { * op=0x25 (and AX,imm16) */ opANDAXw: function() { - this.regAX = X86Grps.opGrpANDw.call(this, this.regAX, this.getIPWord()); + this.regEAX = (this.regEAX & this.opMaskClear) | X86Grps.opGrpANDw.call(this, this.regEAX & this.opMask, this.getIPWord()); /* * In the absence of any EA calculations, opGrpANDw() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -438,7 +437,7 @@ var X86OpXX = { * op=0x27 (daa) */ opDAA: function() { - var AL = this.regAX & 0xff; + var AL = this.regEAX & 0xff; var fAuxCarry = this.getAF(); var fCarry = (this.resultValue & this.resultSize); if ((AL & 0xf) > 9 || fAuxCarry) { @@ -449,7 +448,7 @@ var X86OpXX = { AL += 0x60; fCarry = true; } - this.regAX = (this.regAX & ~0xff) | (this.resultValue = this.resultParitySign = (AL & 0xff)); + this.regEAX = (this.regEAX & ~0xff) | (this.resultValue = this.resultParitySign = (AL & 0xff)); this.resultSize = X86.RESULT.SIZE_WORD; if (fCarry) this.resultValue |= this.resultSize; if (fAuxCarry) this.setAF(); else this.clearAF(); @@ -461,7 +460,7 @@ var X86OpXX = { * op=0x28 (subb rm,reg) */ opSUBmb: function() { - X86Mods.aOpModsMemByte[this.getIPByte()].call(this, X86Grps.opGrpSUBb); + this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpSUBb); }, /** * @this {X86CPU} @@ -469,7 +468,7 @@ var X86OpXX = { * op=0x29 (subw rm,reg) */ opSUBmw: function() { - X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Grps.opGrpSUBw); + this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpSUBw); }, /** * @this {X86CPU} @@ -477,7 +476,7 @@ var X86OpXX = { * op=0x2A (subb reg,rm) */ opSUBrb: function() { - X86Mods.aOpModsRegByte[this.getIPByte()].call(this, X86Grps.opGrpSUBb); + this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpSUBb); }, /** * @this {X86CPU} @@ -485,7 +484,7 @@ var X86OpXX = { * op=0x2B (subw reg,rm) */ opSUBrw: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Grps.opGrpSUBw); + this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpSUBw); }, /** * @this {X86CPU} @@ -493,7 +492,7 @@ var X86OpXX = { * op=0x2C (sub AL,imm8) */ opSUBALb: function() { - this.regAX = (this.regAX & ~0xff) | X86Grps.opGrpSUBb.call(this, this.regAX & 0xff, this.getIPByte()); + this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpSUBb.call(this, this.regEAX & 0xff, this.getIPByte()); /* * In the absence of any EA calculations, opGrpSUBb() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -506,10 +505,10 @@ var X86OpXX = { * op=0x2D (sub AX,imm16) */ opSUBAXw: function() { - this.regAX = X86Grps.opGrpSUBw.call(this, this.regAX, this.getIPWord()); + this.regEAX = (this.regEAX & this.opMaskClear) | X86Grps.opGrpSUBw.call(this, this.regEAX & this.opMask, this.getIPWord()); /* - * In the absence of any EA calculations, opGrpSUBw() will deduct nOpCyclesArithRR, and for all CPUs through - * the 80286, we need deduct only one more cycle. + * In the absence of any EA calculations, opGrpSUBw() will deduct nOpCyclesArithRR, and for all CPUs + * through the 80286, we need deduct only one more cycle. */ this.nStepCycles--; }, @@ -533,7 +532,7 @@ var X86OpXX = { * op=0x2F (das) */ opDAS: function() { - var AL = this.regAX & 0xff; + var AL = this.regEAX & 0xff; var fAuxCarry = this.getAF(); var fCarry = (this.resultValue & this.resultSize); if ((AL & 0xf) > 9 || fAuxCarry) { @@ -544,7 +543,7 @@ var X86OpXX = { AL -= 0x60; fCarry = true; } - this.regAX = (this.regAX & ~0xff) | (this.resultValue = this.resultParitySign = (AL & 0xff)); + this.regEAX = (this.regEAX & ~0xff) | (this.resultValue = this.resultParitySign = (AL & 0xff)); this.resultSize = X86.RESULT.SIZE_WORD; if (fCarry) this.resultValue |= this.resultSize; if (fAuxCarry) this.setAF(); else this.clearAF(); @@ -556,7 +555,7 @@ var X86OpXX = { * op=0x30 (xorb rm,reg) */ opXORmb: function() { - X86Mods.aOpModsMemByte[this.getIPByte()].call(this, X86Grps.opGrpXORb); + this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpXORb); }, /** * @this {X86CPU} @@ -564,7 +563,7 @@ var X86OpXX = { * op=0x31 (xorw rm,reg) */ opXORmw: function() { - X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Grps.opGrpXORw); + this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpXORw); }, /** * @this {X86CPU} @@ -572,7 +571,7 @@ var X86OpXX = { * op=0x32 (xorb reg,rm) */ opXORrb: function() { - X86Mods.aOpModsRegByte[this.getIPByte()].call(this, X86Grps.opGrpXORb); + this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpXORb); }, /** * @this {X86CPU} @@ -580,7 +579,7 @@ var X86OpXX = { * op=0x33 (xorw reg,rm) */ opXORrw: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Grps.opGrpXORw); + this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpXORw); }, /** * @this {X86CPU} @@ -588,7 +587,7 @@ var X86OpXX = { * op=0x34 (xor AL,imm8) */ opXORALb: function() { - this.regAX = (this.regAX & ~0xff) | X86Grps.opGrpXORb.call(this, this.regAX & 0xff, this.getIPByte()); + this.regEAX = (this.regEAX & ~0xff) | X86Grps.opGrpXORb.call(this, this.regEAX & 0xff, this.getIPByte()); /* * In the absence of any EA calculations, opGrpXORb() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -601,7 +600,7 @@ var X86OpXX = { * op=0x35 (xor AX,imm16) */ opXORAXw: function() { - this.regAX = X86Grps.opGrpXORw.call(this, this.regAX, this.getIPWord()); + this.regEAX = (this.regEAX & this.opMaskClear) | X86Grps.opGrpXORw.call(this, this.regEAX & this.opMask, this.getIPWord()); /* * In the absence of any EA calculations, opGrpXORw() will deduct nOpCyclesArithRR, and for all CPUs through * the 80286, we need deduct only one more cycle. @@ -628,8 +627,8 @@ var X86OpXX = { * op=0x37 (aaa) */ opAAA: function() { - var AL = this.regAX & 0xff; - var AH = this.regAX >> 8; + var AL = this.regEAX & 0xff; + var AH = this.regEAX >> 8; var fCarry; var fAuxCarry = this.getAF(); if ((AL & 0xf) > 9 || fAuxCarry) { @@ -639,7 +638,7 @@ var X86OpXX = { } else { fCarry = fAuxCarry = false; } - this.regAX = (AH << 8) | (this.resultValue = AL); + this.regEAX = (this.regEAX & ~0xffff) | (AH << 8) | (this.resultValue = AL); this.resultSize = X86.RESULT.SIZE_WORD; if (fCarry) this.resultValue |= this.resultSize; if (fAuxCarry) this.setAF(); else this.clearAF(); @@ -651,7 +650,7 @@ var X86OpXX = { * op=0x38 (cmpb rm,reg) */ opCMPmb: function() { - X86Mods.aOpModsMemByte[this.getIPByte()].call(this, X86Grps.opGrpCMPb); + this.aOpModMemByte[this.getIPByte()].call(this, X86Grps.opGrpCMPb); if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; }, /** @@ -660,7 +659,7 @@ var X86OpXX = { * op=0x39 (cmpw rm,reg) */ opCMPmw: function() { - X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Grps.opGrpCMPw); + this.aOpModMemWord[this.getIPByte()].call(this, X86Grps.opGrpCMPw); if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; }, /** @@ -669,7 +668,7 @@ var X86OpXX = { * op=0x3A (cmpb reg,rm) */ opCMPrb: function() { - X86Mods.aOpModsRegByte[this.getIPByte()].call(this, X86Grps.opGrpCMPb); + this.aOpModRegByte[this.getIPByte()].call(this, X86Grps.opGrpCMPb); if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; }, /** @@ -678,7 +677,7 @@ var X86OpXX = { * op=0x3B (cmpw reg,rm) */ opCMPrw: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Grps.opGrpCMPw); + this.aOpModRegWord[this.getIPByte()].call(this, X86Grps.opGrpCMPw); if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; }, /** @@ -687,7 +686,7 @@ var X86OpXX = { * op=0x3C (cmp AL,imm8) */ opCMPALb: function() { - this.regAX = (this.regAX & ~0xff) | X86Grps.opGrpCMPb.call(this, this.regAX & 0xff, this.getIPByte()); + X86Grps.opGrpCMPb.call(this, this.regEAX & 0xff, this.getIPByte()); if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; /* * In the absence of any EA calculations, opGrpCMPb() will deduct nOpCyclesArithRR, and for all CPUs through @@ -701,7 +700,7 @@ var X86OpXX = { * op=0x3D (cmp AX,imm16) */ opCMPAXw: function() { - this.regAX = X86Grps.opGrpCMPw.call(this, this.regAX, this.getIPWord()); + X86Grps.opGrpCMPw.call(this, this.regEAX & this.opMask, this.getIPWord()); if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; /* * In the absence of any EA calculations, opGrpCMPw() will deduct nOpCyclesArithRR, and for all CPUs through @@ -736,8 +735,8 @@ var X86OpXX = { * 4. Set the CF flag to the value of the AF flag. */ opAAS: function() { - var AL = this.regAX & 0xff; - var AH = this.regAX >> 8; + var AL = this.regEAX & 0xff; + var AH = this.regEAX >> 8; var fCarry; var fAuxCarry = this.getAF(); if ((AL & 0xf) > 9 || fAuxCarry) { @@ -747,7 +746,7 @@ var X86OpXX = { } else { fCarry = fAuxCarry = false; } - this.regAX = (AH << 8) | (this.resultValue = AL); + this.regEAX = (this.regEAX & ~0xffff) | (AH << 8) | (this.resultValue = AL); this.resultSize = X86.RESULT.SIZE_WORD; if (fCarry) this.resultValue |= this.resultSize; if (fAuxCarry) this.setAF(); else this.clearAF(); @@ -759,9 +758,9 @@ var X86OpXX = { * op=0x40 (inc AX) */ opINCAX: function() { - this.resultAuxOverflow = this.regAX; - this.regAX = (this.resultParitySign = this.regAX + 1) & 0xffff; - this.resultValue = this.regAX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regEAX; + this.regEAX = (this.regEAX & this.opMaskClear) | (this.resultParitySign = this.regEAX + 1) & this.opMask; + this.resultValue = this.regEAX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs }, @@ -771,9 +770,9 @@ var X86OpXX = { * op=0x41 (inc CX) */ opINCCX: function() { - this.resultAuxOverflow = this.regCX; - this.regCX = (this.resultParitySign = this.regCX + 1) & 0xffff; - this.resultValue = this.regCX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regECX; + this.regECX = (this.regECX & this.opMaskClear) | (this.resultParitySign = this.regECX + 1) & this.opMask; + this.resultValue = this.regECX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs }, @@ -783,9 +782,9 @@ var X86OpXX = { * op=0x42 (inc DX) */ opINCDX: function() { - this.resultAuxOverflow = this.regDX; - this.regDX = (this.resultParitySign = this.regDX + 1) & 0xffff; - this.resultValue = this.regDX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regEDX; + this.regEDX = (this.regEDX & this.opMaskClear) | (this.resultParitySign = this.regEDX + 1) & this.opMask; + this.resultValue = this.regEDX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs }, @@ -795,9 +794,9 @@ var X86OpXX = { * op=0x43 (inc BX) */ opINCBX: function() { - this.resultAuxOverflow = this.regBX; - this.regBX = (this.resultParitySign = this.regBX + 1) & 0xffff; - this.resultValue = this.regBX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regEBX; + this.regEBX = (this.regEBX & this.opMaskClear) | (this.resultParitySign = this.regEBX + 1) & this.opMask; + this.resultValue = this.regEBX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs }, @@ -807,9 +806,9 @@ var X86OpXX = { * op=0x44 (inc SP) */ opINCSP: function() { - this.resultAuxOverflow = this.regSP; - this.regSP = (this.resultParitySign = this.regSP + 1) & 0xffff; - this.resultValue = this.regSP | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regESP; + this.regESP = (this.regESP & this.opMaskClear) | (this.resultParitySign = this.regESP + 1) & this.opMask; + this.resultValue = this.regESP | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs }, @@ -819,9 +818,9 @@ var X86OpXX = { * op=0x45 (inc BP) */ opINCBP: function() { - this.resultAuxOverflow = this.regBP; - this.regBP = (this.resultParitySign = this.regBP + 1) & 0xffff; - this.resultValue = this.regBP | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regEBP; + this.regEBP = (this.regEBP & this.opMaskClear) | (this.resultParitySign = this.regEBP + 1) & this.opMask; + this.resultValue = this.regEBP | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs }, @@ -831,9 +830,9 @@ var X86OpXX = { * op=0x46 (inc SI) */ opINCSI: function() { - this.resultAuxOverflow = this.regSI; - this.regSI = (this.resultParitySign = this.regSI + 1) & 0xffff; - this.resultValue = this.regSI | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regESI; + this.regESI = (this.regESI & this.opMaskClear) | (this.resultParitySign = this.regESI + 1) & this.opMask; + this.resultValue = this.regESI | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs }, @@ -843,9 +842,9 @@ var X86OpXX = { * op=0x47 (inc DI) */ opINCDI: function() { - this.resultAuxOverflow = this.regDI; - this.regDI = (this.resultParitySign = this.regDI + 1) & 0xffff; - this.resultValue = this.regDI | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regEDI; + this.regEDI = (this.regEDI & this.opMaskClear) | (this.resultParitySign = this.regEDI + 1) & this.opMask; + this.resultValue = this.regEDI | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of INC takes 2 cycles on all CPUs }, @@ -855,9 +854,9 @@ var X86OpXX = { * op=0x48 (dec AX) */ opDECAX: function() { - this.resultAuxOverflow = this.regAX; - this.regAX = (this.resultParitySign = this.regAX - 1) & 0xffff; - this.resultValue = this.regAX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regEAX; + this.regEAX = (this.regEAX & this.opMaskClear) | (this.resultParitySign = this.regEAX - 1) & this.opMask; + this.resultValue = this.regEAX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs }, @@ -867,9 +866,9 @@ var X86OpXX = { * op=0x49 (dec CX) */ opDECCX: function() { - this.resultAuxOverflow = this.regCX; - this.regCX = (this.resultParitySign = this.regCX - 1) & 0xffff; - this.resultValue = this.regCX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regECX; + this.regECX = (this.regECX & this.opMaskClear) | (this.resultParitySign = this.regECX - 1) & this.opMask; + this.resultValue = this.regECX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs }, @@ -879,9 +878,9 @@ var X86OpXX = { * op=0x4A (dec DX) */ opDECDX: function() { - this.resultAuxOverflow = this.regDX; - this.regDX = (this.resultParitySign = this.regDX - 1) & 0xffff; - this.resultValue = this.regDX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regEDX; + this.regEDX = (this.regEDX & this.opMaskClear) | (this.resultParitySign = this.regEDX - 1) & this.opMask; + this.resultValue = this.regEDX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs }, @@ -891,9 +890,9 @@ var X86OpXX = { * op=0x4B (dec BX) */ opDECBX: function() { - this.resultAuxOverflow = this.regBX; - this.regBX = (this.resultParitySign = this.regBX - 1) & 0xffff; - this.resultValue = this.regBX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regEBX; + this.regEBX = (this.regEBX & this.opMaskClear) | (this.resultParitySign = this.regEBX - 1) & this.opMask; + this.resultValue = this.regEBX | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs }, @@ -903,9 +902,9 @@ var X86OpXX = { * op=0x4C (dec SP) */ opDECSP: function() { - this.resultAuxOverflow = this.regSP; - this.regSP = (this.resultParitySign = this.regSP - 1) & 0xffff; - this.resultValue = this.regSP | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regESP; + this.regESP = (this.regESP & this.opMaskClear) | (this.resultParitySign = this.regESP - 1) & this.opMask; + this.resultValue = this.regESP | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs }, @@ -915,9 +914,9 @@ var X86OpXX = { * op=0x4D (dec BP) */ opDECBP: function() { - this.resultAuxOverflow = this.regBP; - this.regBP = (this.resultParitySign = this.regBP - 1) & 0xffff; - this.resultValue = this.regBP | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regEBP; + this.regEBP = (this.regEBP & this.opMaskClear) | (this.resultParitySign = this.regEBP - 1) & this.opMask; + this.resultValue = this.regEBP | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs }, @@ -927,9 +926,9 @@ var X86OpXX = { * op=0x4E (dec SI) */ opDECSI: function() { - this.resultAuxOverflow = this.regSI; - this.regSI = (this.resultParitySign = this.regSI - 1) & 0xffff; - this.resultValue = this.regSI | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regESI; + this.regESI = (this.regESI & this.opMaskClear) | (this.resultParitySign = this.regESI - 1) & this.opMask; + this.resultValue = this.regESI | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs }, @@ -939,9 +938,9 @@ var X86OpXX = { * op=0x4F (dec DI) */ opDECDI: function() { - this.resultAuxOverflow = this.regDI; - this.regDI = (this.resultParitySign = this.regDI - 1) & 0xffff; - this.resultValue = this.regDI | (((this.resultValue & this.resultSize)? 1 : 0) << 16); + this.resultAuxOverflow = this.regEDI; + this.regEDI = (this.regEDI & this.opMaskClear) | (this.resultParitySign = this.regEDI - 1) & this.opMask; + this.resultValue = this.regEDI | (((this.resultValue & this.resultSize)? 1 : 0) << 16); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= 2; // this form of DEC takes 2 cycles on all CPUs }, @@ -951,7 +950,7 @@ var X86OpXX = { * op=0x50 (push AX) */ opPUSHAX: function() { - this.pushWord(this.regAX); + this.pushWord(this.regEAX & this.opMask); this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; }, /** @@ -960,7 +959,7 @@ var X86OpXX = { * op=0x51 (push CX) */ opPUSHCX: function() { - this.pushWord(this.regCX); + this.pushWord(this.regECX & this.opMask); this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; }, /** @@ -969,7 +968,7 @@ var X86OpXX = { * op=0x52 (push DX) */ opPUSHDX: function() { - this.pushWord(this.regDX); + this.pushWord(this.regEDX & this.opMask); this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; }, /** @@ -978,7 +977,7 @@ var X86OpXX = { * op=0x53 (push BX) */ opPUSHBX: function() { - this.pushWord(this.regBX); + this.pushWord(this.regEBX & this.opMask); this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; }, /** @@ -987,7 +986,7 @@ var X86OpXX = { * op=0x54 (push SP) */ opPUSHSP8086: function() { - var w = (this.regSP - 2) & 0xffff; + var w = (this.regESP - this.opSize) & this.opMask; this.pushWord(w); this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; }, @@ -997,7 +996,7 @@ var X86OpXX = { * op=0x54 (push SP) */ opPUSHSP: function() { - this.pushWord(this.regSP); + this.pushWord(this.regESP & this.opMask); this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; }, /** @@ -1006,7 +1005,7 @@ var X86OpXX = { * op=0x55 (push BP) */ opPUSHBP: function() { - this.pushWord(this.regBP); + this.pushWord(this.regEBP & this.opMask); this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; }, /** @@ -1015,7 +1014,7 @@ var X86OpXX = { * op=0x56 (push SI) */ opPUSHSI: function() { - this.pushWord(this.regSI); + this.pushWord(this.regESI & this.opMask); this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; }, /** @@ -1024,7 +1023,7 @@ var X86OpXX = { * op=0x57 (push DI) */ opPUSHDI: function() { - this.pushWord(this.regDI); + this.pushWord(this.regEDI & this.opMask); this.nStepCycles -= this.CYCLES.nOpCyclesPushReg; }, /** @@ -1033,7 +1032,7 @@ var X86OpXX = { * op=0x58 (pop AX) */ opPOPAX: function() { - this.regAX = this.popWord(); + this.regEAX = (this.regEAX & this.opMaskClear) | this.popWord(); this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; }, /** @@ -1042,7 +1041,7 @@ var X86OpXX = { * op=0x59 (pop CX) */ opPOPCX: function() { - this.regCX = this.popWord(); + this.regECX = (this.regECX & this.opMaskClear) | this.popWord(); this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; }, /** @@ -1051,7 +1050,7 @@ var X86OpXX = { * op=0x5A (pop DX) */ opPOPDX: function() { - this.regDX = this.popWord(); + this.regEDX = (this.regEDX & this.opMaskClear) | this.popWord(); this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; }, /** @@ -1060,7 +1059,7 @@ var X86OpXX = { * op=0x5B (pop BX) */ opPOPBX: function() { - this.regBX = this.popWord(); + this.regEBX = (this.regEBX & this.opMaskClear) | this.popWord(); this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; }, /** @@ -1069,7 +1068,7 @@ var X86OpXX = { * op=0x5C (pop SP) */ opPOPSP: function() { - this.regSP = this.popWord(); + this.regESP = (this.regESP & this.opMaskClear) | this.popWord(); this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; }, /** @@ -1078,7 +1077,7 @@ var X86OpXX = { * op=0x5D (pop BP) */ opPOPBP: function() { - this.regBP = this.popWord(); + this.regEBP = (this.regEBP & this.opMaskClear) | this.popWord(); this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; }, /** @@ -1087,7 +1086,7 @@ var X86OpXX = { * op=0x5E (pop SI) */ opPOPSI: function() { - this.regSI = this.popWord(); + this.regESI = (this.regESI & this.opMaskClear) | this.popWord(); this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; }, /** @@ -1096,7 +1095,7 @@ var X86OpXX = { * op=0x5F (pop DI) */ opPOPDI: function() { - this.regDI = this.popWord(); + this.regEDI = (this.regEDI & this.opMaskClear) | this.popWord(); this.nStepCycles -= this.CYCLES.nOpCyclesPopReg; }, /** @@ -1105,15 +1104,15 @@ var X86OpXX = { * op=0x60 (pusha) (80186/80188 and up) */ opPUSHA: function() { - var temp = this.regSP; - this.pushWord(this.regAX); - this.pushWord(this.regCX); - this.pushWord(this.regDX); - this.pushWord(this.regBX); + var temp = this.regESP & this.opMask; + this.pushWord(this.regEAX & this.opMask); + this.pushWord(this.regECX & this.opMask); + this.pushWord(this.regEDX & this.opMask); + this.pushWord(this.regEBX & this.opMask); this.pushWord(temp); - this.pushWord(this.regBP); - this.pushWord(this.regSI); - this.pushWord(this.regDI); + this.pushWord(this.regEBP & this.opMask); + this.pushWord(this.regESI & this.opMask); + this.pushWord(this.regEDI & this.opMask); this.nStepCycles -= this.CYCLES.nOpCyclesPushAll; }, /** @@ -1122,14 +1121,14 @@ var X86OpXX = { * op=0x61 (popa) (80186/80188 and up) */ opPOPA: function() { - this.regDI = this.popWord(); - this.regSI = this.popWord(); - this.regBP = this.popWord(); - this.regSP += 2; - this.regBX = this.popWord(); - this.regDX = this.popWord(); - this.regCX = this.popWord(); - this.regAX = this.popWord(); + this.regEDI = (this.regEDI & this.opMaskClear) | this.popWord(); + this.regESI = (this.regESI & this.opMaskClear) | this.popWord(); + this.regEBP = (this.regEBP & this.opMaskClear) | this.popWord(); + this.regESP += this.opSize; + this.regEBX = (this.regEBX & this.opMaskClear) | this.popWord(); + this.regEDX = (this.regEDX & this.opMaskClear) | this.popWord(); + this.regECX = (this.regECX & this.opMaskClear) | this.popWord(); + this.regEAX = (this.regEAX & this.opMaskClear) | this.popWord(); this.nStepCycles -= this.CYCLES.nOpCyclesPopAll; }, /** @@ -1138,7 +1137,7 @@ var X86OpXX = { * op=0x62 (bound reg,rm) (80186/80188 and up) */ opBOUND: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Help.opHelpBOUND); + this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpBOUND); }, /** * @this {X86CPU} @@ -1146,7 +1145,7 @@ var X86OpXX = { * op=0x63 (arpl rm,reg) (80286 and up) */ opARPL: function() { - X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Help.opHelpARPL); + this.aOpModMemWord[this.getIPByte()].call(this, X86Help.opHelpARPL); }, /** * @this {X86CPU} @@ -1163,7 +1162,7 @@ var X86OpXX = { * op=0x69 (imul reg,rm,imm16) (80186/80188 and up) */ opIMUL16: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Help.opHelpIMUL16); + this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpIMUL16); }, /** * @this {X86CPU} @@ -1180,7 +1179,7 @@ var X86OpXX = { * op=0x6B (imul reg,rm,imm8) (80186/80188 and up) */ opIMUL8: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Help.opHelpIMUL8); + this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpIMUL8); }, /** * @this {X86CPU} @@ -1206,18 +1205,18 @@ var X86OpXX = { * The (normal) REP prefix, if used, is REPNZ (0xf2), but either one works.... */ if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; if (this.opPrefixes & X86.OPFLAG.REPEAT) nCycles = 4; } if (nReps--) { - var b = this.bus.checkPortInputNotify(this.regDX, this.regEIP - nDelta - 1); + var b = this.bus.checkPortInputNotify(this.regEDX, this.regEIP - nDelta - 1); if (BACKTRACK) this.backTrack.btiMemLo = this.backTrack.btiIO; - this.setSOByte(this.segES, this.regDI, b); - this.regDI = (this.regDI + ((this.regPS & X86.PS.DF)? -1 : 1)) & 0xffff; + this.setSOByte(this.segES, this.regEDI & this.addrMask, b); + this.regEDI = (this.regEDI & this.addrMaskClear) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); this.nStepCycles -= nCycles; - this.regCX -= nDelta; + this.regECX -= nDelta; if (nReps) { /* * We have to back up to the prefix byte(s), not just to the string instruction, @@ -1253,20 +1252,20 @@ var X86OpXX = { * The (normal) REP prefix, if used, is REPNZ (0xf2), but either one works.... */ if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; if (this.opPrefixes & X86.OPFLAG.REPEAT) nCycles = 4; } if (nReps--) { var addrFrom = this.regEIP - nDelta - 1; - var w = this.bus.checkPortInputNotify(this.regDX, addrFrom); + var w = this.bus.checkPortInputNotify(this.regEDX, addrFrom); if (BACKTRACK) this.backTrack.btiMemLo = this.backTrack.btiIO; - w |= (this.bus.checkPortInputNotify(this.regDX, addrFrom) << 8); + w |= (this.bus.checkPortInputNotify(this.regEDX, addrFrom) << 8); if (BACKTRACK) this.backTrack.btiMemHi = this.backTrack.btiIO; - this.setSOWord(this.segES, this.regDI, w); - this.regDI = (this.regDI + ((this.regPS & X86.PS.DF)? -2 : 2)) & 0xffff; + this.setSOWord(this.segES, this.regEDI & this.addrMask, w); + this.regEDI = (this.regEDI & this.addrMaskClear) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); this.nStepCycles -= nCycles; - this.regCX -= nDelta; + this.regECX -= nDelta; if (nReps) { /* * We have to back up to the prefix byte(s), not just to the string instruction, @@ -1300,16 +1299,16 @@ var X86OpXX = { * The (normal) REP prefix, if used, is REPNZ (0xf2), but either one works.... */ if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; if (this.opPrefixes & X86.OPFLAG.REPEAT) nCycles = 4; } if (nReps--) { - var b = this.getSOByte(this.segDS, this.regSI); - this.regSI = (this.regSI + ((this.regPS & X86.PS.DF)? -1 : 1)) & 0xffff; + var b = this.getSOByte(this.segDS, this.regESI & this.addrMask); + this.regESI = (this.regESI & this.addrMaskClear) | ((this.regESI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); this.nStepCycles -= nCycles; - this.regCX -= nDelta; - this.bus.checkPortOutputNotify(this.regDX, b, this.regEIP - nDelta - 1); + this.regECX -= nDelta; + this.bus.checkPortOutputNotify(this.regEDX, b, this.regEIP - nDelta - 1); if (nReps) { /* * We have to back up to the prefix byte(s), not just to the string instruction, @@ -1343,18 +1342,18 @@ var X86OpXX = { * The (normal) REP prefix, if used, is REPNZ (0xf2), but either one works.... */ if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; if (this.opPrefixes & X86.OPFLAG.REPEAT) nCycles = 4; } if (nReps--) { - var w = this.getSOWord(this.segDS, this.regSI); - this.regSI = (this.regSI + ((this.regPS & X86.PS.DF)? -2 : 2)) & 0xffff; + var w = this.getSOWord(this.segDS, this.regESI & this.addrMask); + this.regESI = (this.regESI & this.addrMaskClear) | ((this.regESI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); this.nStepCycles -= nCycles; - this.regCX -= nDelta; + this.regECX -= nDelta; var addrFrom = this.regEIP - nDelta - 1; - this.bus.checkPortOutputNotify(this.regDX, w & 0xff, addrFrom); - this.bus.checkPortOutputNotify(this.regDX, w >> 8, addrFrom); + this.bus.checkPortOutputNotify(this.regEDX, w & 0xff, addrFrom); + this.bus.checkPortOutputNotify(this.regEDX, w >> 8, addrFrom); if (nReps) { /* * We have to back up to the prefix byte(s), not just to the string instruction, @@ -1596,7 +1595,7 @@ var X86OpXX = { * op=0x80/0x82 (grp1b rm,imm8) */ opGrp1b: function() { - X86Mods.aOpModsGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp1b, this.getIPByte); + this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp1b, this.getIPByte); if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; this.nStepCycles -= (this.regEAWrite < 0? 1 : this.CYCLES.nOpCyclesArithMID); }, @@ -1606,7 +1605,7 @@ var X86OpXX = { * op=0x81 (grp1w rm,imm16) */ opGrp1w: function() { - X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp1w, this.getIPWord); + this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp1w, this.getIPWord); if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; this.nStepCycles -= (this.regEAWrite < 0? 1 : this.CYCLES.nOpCyclesArithMID); }, @@ -1616,7 +1615,7 @@ var X86OpXX = { * op=0x83 (grp1sw rm,disp) */ opGrp1sw: function() { - X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp1w, this.getIPDisp); + this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp1w, this.getIPDisp); if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; this.nStepCycles -= (this.regEAWrite < 0? 1 : this.CYCLES.nOpCyclesArithMID); }, @@ -1626,7 +1625,7 @@ var X86OpXX = { * op=0x84 (testb reg,rm) */ opTESTrb: function() { - X86Mods.aOpModsMemByte[this.getIPByte()].call(this, X86Help.opHelpTESTb); + this.aOpModMemByte[this.getIPByte()].call(this, X86Help.opHelpTESTb); if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; }, /** @@ -1635,7 +1634,7 @@ var X86OpXX = { * op=0x85 (testw reg,rm) */ opTESTrw: function() { - X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Help.opHelpTESTw); + this.aOpModMemWord[this.getIPByte()].call(this, X86Help.opHelpTESTw); if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; }, /** @@ -1655,17 +1654,17 @@ var X86OpXX = { * To be clear, a single assignment like this will fail: * * opModsRegByteF2: function(fn) { - * this.regDX = (this.regDX & 0xff) | (fn.call(this, this.regDX >> 8, this.regDX & 0xff) << 8); + * this.regEDX = (this.regEDX & 0xff) | (fn.call(this, this.regEDX >> 8, this.regEDX & 0xff) << 8); * } * * which is why all affected decoders now use separate assignments; eg: * * opModsRegByteF2: function(fn) { - * var b = fn.call(this, this.regDX >> 8, this.regDX & 0xff); - * this.regDX = (this.regDX & 0xff) | (b << 8); + * var b = fn.call(this, this.regEDX >> 8, this.regEDX & 0xff); + * this.regEDX = (this.regEDX & 0xff) | (b << 8); * } */ - X86Mods.aOpModsRegByte[this.bModRM = this.getIPByte()].call(this, X86Help.opHelpXCHGrb); + this.aOpModRegByte[this.bModRM = this.getIPByte()].call(this, X86Help.opHelpXCHGrb); }, /** * @this {X86CPU} @@ -1676,7 +1675,7 @@ var X86OpXX = { * see opHelpXCHGrw() for how we deal with this special case. */ opXCHGrw: function() { - X86Mods.aOpModsRegWord[this.bModRM = this.getIPByte()].call(this, X86Help.opHelpXCHGrw); + this.aOpModRegWord[this.bModRM = this.getIPByte()].call(this, X86Help.opHelpXCHGrw); }, /** * @this {X86CPU} @@ -1688,7 +1687,7 @@ var X86OpXX = { * Like other MOV operations, the destination does not need to be read, just written. */ if (EAFUNCS) this.modEAByte = this.modEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; - X86Mods.aOpModsMemByte[this.getIPByte()].call(this, X86Help.opHelpMOV); + this.aOpModMemByte[this.getIPByte()].call(this, X86Help.opHelpMOV); if (EAFUNCS) this.modEAByte = this.modEAByteEnabled; }, /** @@ -1701,7 +1700,7 @@ var X86OpXX = { * Like other MOV operations, the destination does not need to be read, just written. */ if (EAFUNCS) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; - X86Mods.aOpModsMemWord[this.getIPByte()].call(this, X86Help.opHelpMOV); + this.aOpModMemWord[this.getIPByte()].call(this, X86Help.opHelpMOV); if (EAFUNCS) this.modEAWord = this.modEAWordEnabled; }, /** @@ -1710,7 +1709,7 @@ var X86OpXX = { * op=0x8A (movb reg,rm) */ opMOVrb: function() { - X86Mods.aOpModsRegByte[this.getIPByte()].call(this, X86Help.opHelpMOV); + this.aOpModRegByte[this.getIPByte()].call(this, X86Help.opHelpMOV); }, /** * @this {X86CPU} @@ -1718,7 +1717,7 @@ var X86OpXX = { * op=0x8B (movw reg,rm) */ opMOVrw: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Help.opHelpMOV); + this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpMOV); }, /** * @this {X86CPU} @@ -1753,7 +1752,7 @@ var X86OpXX = { * Like other MOV operations, the destination does not need to be read, just written. */ if (EAFUNCS) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; - X86Mods.aOpModsMemWord[bModRM].call(this, X86Help.opHelpMOVSegSrc); + this.aOpModMemWord[bModRM].call(this, X86Help.opHelpMOVSegSrc); if (EAFUNCS) this.modEAWord = this.modEAWordEnabled; }, /** @@ -1764,7 +1763,7 @@ var X86OpXX = { opLEA: function() { if (EAFUNCS) this.getEAWord = this.getEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; this.segData = this.segStack = this.segNULL; // we can't have the EA calculation, if any, "polluted" by segment arithmetic - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Help.opHelpLEA); + this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpLEA); if (EAFUNCS) this.getEAWord = this.getEAWordEnabled; }, /** @@ -1782,13 +1781,13 @@ var X86OpXX = { var reg = (bModRM & 0x38) >> 3; switch(reg) { case 0x0: - temp = this.regAX; + temp = this.regEAX; break; case 0x2: - temp = this.regDX; + temp = this.regEDX; break; case 0x3: - temp = this.regBX; + temp = this.regEBX; break; default: if (this.model >= X86.MODEL_80286) { @@ -1797,58 +1796,58 @@ var X86OpXX = { } switch(reg) { case 0x1: // MOV to CS is undocumented on 8086/8088/80186/80188, and invalid on 80286 and up - temp = this.regCX; + temp = this.regECX; break; case 0x4: // this form of MOV to ES is undocumented on 8086/8088/80186/80188, invalid on 80286, and uses FS starting with 80386 - temp = this.regSP; + temp = this.regESP; break; case 0x5: // this form of MOV to CS is undocumented on 8086/8088/80186/80188, invalid on 80286, and uses GS starting with 80386 - temp = this.regBP; + temp = this.regEBP; break; case 0x6: // this form of MOV to SS is undocumented on 8086/8088/80186/80188, invalid on 80286 and up - temp = this.regSI; + temp = this.regESI; break; case 0x7: // this form of MOV to DS is undocumented on 8086/8088/80186/80188, invalid on 80286 and up - temp = this.regDI; + temp = this.regEDI; break; default: break; } break; } - X86Mods.aOpModsRegWord[bModRM].call(this, X86Help.opHelpMOV); + this.aOpModRegWord[bModRM].call(this, X86Help.opHelpMOV); switch (reg) { case 0x0: - this.setES(this.regAX); - this.regAX = temp; + this.setES(this.regEAX); + this.regEAX = temp; break; case 0x1: - this.setCS(this.regCX); - this.regCX = temp; + this.setCS(this.regECX); + this.regECX = temp; break; case 0x2: - this.setSS(this.regDX); - this.regDX = temp; + this.setSS(this.regEDX); + this.regEDX = temp; break; case 0x3: - this.setDS(this.regBX); - this.regBX = temp; + this.setDS(this.regEBX); + this.regEBX = temp; break; case 0x4: - this.setES(this.regSP); - this.regSP = temp; + this.setES(this.regESP); + this.regESP = temp; break; case 0x5: - this.setCS(this.regBP); - this.regBP = temp; + this.setCS(this.regEBP); + this.regEBP = temp; break; case 0x6: - this.setSS(this.regSI); - this.regSI = temp; + this.setSS(this.regESI); + this.regESI = temp; break; case 0x7: - this.setDS(this.regDI); - this.regDI = temp; + this.setDS(this.regEDI); + this.regEDI = temp; break; default: break; // there IS no other case, but JavaScript inspections don't know that @@ -1864,7 +1863,7 @@ var X86OpXX = { * Like other MOV operations, the destination does not need to be read, just written. */ if (EAFUNCS) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; - X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrpPOPw, this.popWord); + this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrpPOPw, this.popWord); if (EAFUNCS) this.modEAWord = this.modEAWordEnabled; }, /** @@ -1881,9 +1880,9 @@ var X86OpXX = { * op=0x91 (xchg AX,CX) */ opXCHGCX: function() { - var temp = this.regAX; - this.regAX = this.regCX; - this.regCX = temp; + var temp = this.regEAX; + this.regEAX = (this.regEAX & this.opMaskClear) | (this.regECX & this.opMask); + this.regECX = (this.regECX & this.opMaskClear) | (temp & this.opMask); this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs }, /** @@ -1892,9 +1891,9 @@ var X86OpXX = { * op=0x92 (xchg AX,DX) */ opXCHGDX: function() { - var temp = this.regAX; - this.regAX = this.regDX; - this.regDX = temp; + var temp = this.regEAX; + this.regEAX = (this.regEAX & this.opMaskClear) | (this.regEDX & this.opMask); + this.regEDX = (this.regEDX & this.opMaskClear) | (temp & this.opMask); this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs }, /** @@ -1903,9 +1902,9 @@ var X86OpXX = { * op=0x93 (xchg AX,BX) */ opXCHGBX: function() { - var temp = this.regAX; - this.regAX = this.regBX; - this.regBX = temp; + var temp = this.regEAX; + this.regEAX = (this.regEAX & this.opMaskClear) | (this.regEBX & this.opMask); + this.regEBX = (this.regEBX & this.opMaskClear) | (temp & this.opMask); this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs }, /** @@ -1914,9 +1913,9 @@ var X86OpXX = { * op=0x94 (xchg AX,SP) */ opXCHGSP: function() { - var temp = this.regAX; - this.regAX = this.regSP; - this.regSP = temp; + var temp = this.regEAX; + this.regEAX = (this.regEAX & this.opMaskClear) | (this.regESP & this.opMask); + this.regESP = (this.regESP & this.opMaskClear) | (temp & this.opMask); this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs }, /** @@ -1925,9 +1924,9 @@ var X86OpXX = { * op=0x95 (xchg AX,BP) */ opXCHGBP: function() { - var temp = this.regAX; - this.regAX = this.regBP; - this.regBP = temp; + var temp = this.regEAX; + this.regEAX = (this.regEAX & this.opMaskClear) | (this.regEBP & this.opMask); + this.regEBP = (this.regEBP & this.opMaskClear) | (temp & this.opMask); this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs }, /** @@ -1936,9 +1935,9 @@ var X86OpXX = { * op=0x96 (xchg AX,SI) */ opXCHGSI: function() { - var temp = this.regAX; - this.regAX = this.regSI; - this.regSI = temp; + var temp = this.regEAX; + this.regEAX = (this.regEAX & this.opMaskClear) | (this.regESI & this.opMask); + this.regESI = (this.regESI & this.opMaskClear) | (temp & this.opMask); this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs }, /** @@ -1947,9 +1946,9 @@ var X86OpXX = { * op=0x97 (xchg AX,DI) */ opXCHGDI: function() { - var temp = this.regAX; - this.regAX = this.regDI; - this.regDI = temp; + var temp = this.regEAX; + this.regEAX = (this.regEAX & this.opMaskClear) | (this.regEDI & this.opMask); + this.regEDI = (this.regEDI & this.opMaskClear) | (temp & this.opMask); this.nStepCycles -= 3; // this form of XCHG takes 3 cycles on all CPUs }, /** @@ -1958,7 +1957,11 @@ var X86OpXX = { * op=0x98 (cbw) */ opCBW: function() { - this.regAX = ((this.regAX << 24) >> 24) & 0xffff; + if (this.opSize == 2) { + this.regEAX = (this.regEAX & this.opMaskClear) | (((this.regEAX << 24) >> 24) & 0xffff); + } else { + this.regEAX = ((this.regEAX << 16) >> 16); + } this.nStepCycles -= 2; // CBW takes 2 cycles on all CPUs through 80286 }, /** @@ -1967,7 +1970,11 @@ var X86OpXX = { * op=0x99 (cwd) */ opCWD: function() { - this.regDX = (this.regAX & 0x8000)? 0xffff : 0x0000; + if (this.opSize == 2) { + this.regEDX = (this.regEDX & this.opMaskClear) | ((this.regEAX & 0x8000)? 0xffff : 0); + } else { + this.regEDX = (this.regEAX & 0x80000000)? 0xffffffff : 0; + } this.nStepCycles -= this.CYCLES.nOpCyclesCWD; }, /** @@ -2018,13 +2025,13 @@ var X86OpXX = { /* * NOTE: While it make LOOK more efficient to do this: * - * this.setPS((this.getPS() & ~X86.PS.SAHF) | ((this.regAX >> 8) & X86.PS.SAHF)); + * this.setPS((this.getPS() & ~X86.PS.SAHF) | ((this.regEAX >> 8) & X86.PS.SAHF)); * * the call to getPS() forces all the "indirect" flags to be resolved first, and then the call * to setPS() forces them all to be recalculated, so on balance, the code below is probably more * efficient, and may also avoid some unexpected side-effects of slamming the entire PS register. */ - var ah = this.regAX >> 8; + var ah = this.regEAX >> 8; if (ah & X86.PS.CF) this.setCF(); else this.clearCF(); if (ah & X86.PS.PF) this.setPF(); else this.clearPF(); if (ah & X86.PS.AF) this.setAF(); else this.clearAF(); @@ -2039,7 +2046,7 @@ var X86OpXX = { * op=0x9F (lahf) */ opLAHF: function() { - this.regAX = (this.regAX & 0xff) | (this.getPS() & X86.PS.SAHF) << 8; + this.regEAX = (this.regEAX & 0xff) | (this.getPS() & X86.PS.SAHF) << 8; this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2048,7 +2055,7 @@ var X86OpXX = { * op=0xA0 (mov AL,mem) */ opMOVALDst: function() { - this.regAX = (this.regAX & ~0xff) | this.getEAByte(this.segData, this.getIPWord()); + this.regEAX = (this.regEAX & ~0xff) | this.getEAByte(this.segData, this.getIPWord()); this.nStepCycles -= this.CYCLES.nOpCyclesMovAM; }, /** @@ -2057,7 +2064,7 @@ var X86OpXX = { * op=0xA1 (mov AX,mem) */ opMOVAXDst: function() { - this.regAX = this.getEAWord(this.segData, this.getIPWord()); + this.regEAX = (this.regEAX & this.opMaskClear) | this.getEAWord(this.segData, this.getIPWord()); this.nStepCycles -= this.CYCLES.nOpCyclesMovAM; }, /** @@ -2066,7 +2073,10 @@ var X86OpXX = { * op=0xA2 (mov mem,AL) */ opMOVALSrc: function() { - this.setSOByte(this.segData, this.getIPWord(), this.regAX); + /* + * setSOByte() truncates the value as appropriate + */ + this.setSOByte(this.segData, this.getIPWord(), this.regEAX); this.nStepCycles -= this.CYCLES.nOpCyclesMovMA; }, /** @@ -2075,7 +2085,10 @@ var X86OpXX = { * op=0xA3 (mov mem,AX) */ opMOVAXSrc: function() { - this.setSOWord(this.segData, this.getIPWord(), this.regAX); + /* + * setSOWord() truncates the value as appropriate + */ + this.setSOWord(this.segData, this.getIPWord(), this.regEAX); this.nStepCycles -= this.CYCLES.nOpCyclesMovMA; }, /** @@ -2088,18 +2101,18 @@ var X86OpXX = { var nDelta = 0; var nCycles = this.CYCLES.nOpCyclesMovS; if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; nCycles = this.CYCLES.nOpCyclesMovSrn; if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesMovSr0; } if (nReps--) { var nInc = ((this.regPS & X86.PS.DF)? -1 : 1); - this.setSOByte(this.segES, this.regDI, this.getEAByte(this.segData, this.regSI)); - this.regSI = (this.regSI + nInc) & 0xffff; - this.regDI = (this.regDI + nInc) & 0xffff; + this.setSOByte(this.segES, this.regEDI & this.addrMask, this.getEAByte(this.segData, this.regESI)); + this.regESI = (this.regESI & this.addrMaskClear) | ((this.regESI + nInc) & this.addrMask); + this.regEDI = (this.regEDI & this.addrMaskClear) | ((this.regEDI + nInc) & this.addrMask); this.nStepCycles -= nCycles; - this.regCX -= nDelta; + this.regECX -= nDelta; if (nReps) { /* * We have to back up to the prefix byte(s), not just to the string instruction, @@ -2125,18 +2138,18 @@ var X86OpXX = { var nDelta = 0; var nCycles = this.CYCLES.nOpCyclesMovS; if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; nCycles = this.CYCLES.nOpCyclesMovSrn; if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesMovSr0; } if (nReps--) { var nInc = ((this.regPS & X86.PS.DF)? -2 : 2); - this.setSOWord(this.segES, this.regDI, this.getEAWord(this.segData, this.regSI)); - this.regSI = (this.regSI + nInc) & 0xffff; - this.regDI = (this.regDI + nInc) & 0xffff; + this.setSOWord(this.segES, this.regEDI & this.addrMask, this.getEAWord(this.segData, this.regESI)); + this.regESI = (this.regESI & this.addrMaskClear) | ((this.regESI + nInc) & this.addrMask); + this.regEDI = (this.regEDI & this.addrMaskClear) | ((this.regEDI + nInc) & this.addrMask); this.nStepCycles -= nCycles; - this.regCX -= nDelta; + this.regECX -= nDelta; if (nReps) { /* * We have to back up to the prefix byte(s), not just to the string instruction, @@ -2162,23 +2175,23 @@ var X86OpXX = { var nDelta = 0; var nCycles = this.CYCLES.nOpCyclesCmpS; if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; nCycles = this.CYCLES.nOpCyclesCmpSrn; if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesCmpSr0; } if (nReps--) { var nInc = ((this.regPS & X86.PS.DF)? -1 : 1); - var bDst = this.getEAByte(this.segData, this.regSI); - var bSrc = this.modEAByte(this.segES, this.regDI); + var bDst = this.getEAByte(this.segData, this.regESI & this.addrMask); + var bSrc = this.modEAByte(this.segES, this.regEDI & this.addrMask); X86Grps.opGrpCMPb.call(this, bDst, bSrc); - this.regSI = (this.regSI + nInc) & 0xffff; - this.regDI = (this.regDI + nInc) & 0xffff; + this.regESI = (this.regESI & this.addrMaskClear) | ((this.regESI + nInc) & this.addrMask); + this.regEDI = (this.regEDI & this.addrMaskClear) | ((this.regEDI + nInc) & this.addrMask); /* * NOTE: As long as we're calling opGrpCMPb(), all our cycle times must be reduced by nOpCyclesArithRM */ this.nStepCycles -= nCycles - this.CYCLES.nOpCyclesArithRM; - this.regCX -= nDelta; + this.regECX -= nDelta; /* * Repetition continues while ZF matches bit 0 of the REP prefix. getZF() returns 0x40 if ZF is * set, and OP_REPZ (which represents the REP prefix whose bit 0 is set) is 0x40 as well, so when those @@ -2210,23 +2223,23 @@ var X86OpXX = { var nDelta = 0; var nCycles = this.CYCLES.nOpCyclesCmpS; if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; nCycles = this.CYCLES.nOpCyclesCmpSrn; if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesCmpSr0; } if (nReps--) { var nInc = ((this.regPS & X86.PS.DF)? -2 : 2); - var wDst = this.getEAWord(this.segData, this.regSI); - var wSrc = this.modEAWord(this.segES, this.regDI); + var wDst = this.getEAWord(this.segData, this.regESI & this.addrMask); + var wSrc = this.modEAWord(this.segES, this.regEDI & this.addrMask); X86Grps.opGrpCMPw.call(this, wDst, wSrc); - this.regSI = (this.regSI + nInc) & 0xffff; - this.regDI = (this.regDI + nInc) & 0xffff; + this.regESI = (this.regESI & this.addrMaskClear) | ((this.regESI + nInc) & this.addrMask); + this.regEDI = (this.regEDI & this.addrMaskClear) | ((this.regEDI + nInc) & this.addrMask); /* * NOTE: As long as we're calling opGrpCMPw(), all our cycle times must be reduced by nOpCyclesArithRM */ this.nStepCycles -= nCycles - this.CYCLES.nOpCyclesArithRM; - this.regCX -= nDelta; + this.regECX -= nDelta; /* * Repetition continues while ZF matches bit 0 of the REP prefix. getZF() returns 0x40 if ZF is * set, and OP_REPZ (which represents the REP prefix whose bit 0 is set) is 0x40 as well, so when those @@ -2254,7 +2267,7 @@ var X86OpXX = { * op=0xA8 (test AL,imm8) */ opTESTALb: function() { - this.resultValue = this.resultParitySign = this.resultAuxOverflow = (this.regAX & 0xff) & this.getIPByte(); + this.resultValue = this.resultParitySign = this.resultAuxOverflow = this.regEAX & this.getIPByte(); this.resultSize = X86.RESULT.SIZE_BYTE; this.nStepCycles -= this.CYCLES.nOpCyclesAAA; }, @@ -2264,7 +2277,7 @@ var X86OpXX = { * op=0xA9 (test AX,imm16) */ opTESTAXw: function() { - this.resultValue = this.resultParitySign = this.resultAuxOverflow = this.regAX & this.getIPWord(); + this.resultValue = this.resultParitySign = this.resultAuxOverflow = this.regEAX & this.getIPWord(); this.resultSize = X86.RESULT.SIZE_WORD; this.nStepCycles -= this.CYCLES.nOpCyclesAAA; }, @@ -2282,19 +2295,19 @@ var X86OpXX = { var nDelta = 0; var nCycles = this.CYCLES.nOpCyclesStoS; if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; nCycles = this.CYCLES.nOpCyclesStoSrn; if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesStoSr0; } if (nReps--) { /* - * NOTE: We rely on setSOByte() to truncate regAX to 8 bits; if setSOByte() changes, mask AX below. + * NOTE: We rely on setSOByte() to truncate regEAX to 8 bits; if setSOByte() changes, mask AX below. */ - this.setSOByte(this.segES, this.regDI, this.regAX); - this.regDI = (this.regDI + ((this.regPS & X86.PS.DF)? -1 : 1)) & 0xffff; + this.setSOByte(this.segES, this.regEDI & this.addrMask, this.regEAX); + this.regEDI = (this.regEDI & this.addrMaskClear) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); this.nStepCycles -= nCycles; - this.regCX -= nDelta; + this.regECX -= nDelta; if (nReps) { /* * We have to back up to the prefix byte(s), not just to the string instruction, @@ -2302,6 +2315,7 @@ var X86OpXX = { * the interrupt handler will return us to an invalid state. */ this.advanceIP(-2); // this instruction does not support segment overrides + this.assert(this.regEIP == this.opEA); this.opFlags |= X86.OPFLAG.REPEAT; } } @@ -2320,7 +2334,7 @@ var X86OpXX = { var nDelta = 0; var nCycles = this.CYCLES.nOpCyclesStoS; if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; nCycles = this.CYCLES.nOpCyclesStoSrn; if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesStoSr0; @@ -2330,10 +2344,10 @@ var X86OpXX = { * NOTE: Storing a word imposes another 4-cycle penalty on the 8088, so consider that * if you think the cycle times here are too high. */ - this.setSOWord(this.segES, this.regDI, this.regAX); - this.regDI = (this.regDI + ((this.regPS & X86.PS.DF)? -2 : 2)) & 0xffff; + this.setSOWord(this.segES, this.regEDI & this.addrMask, this.regEAX); + this.regEDI = (this.regEDI & this.addrMaskClear) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); this.nStepCycles -= nCycles; - this.regCX -= nDelta; + this.regECX -= nDelta; if (nReps) { /* * We have to back up to the prefix byte(s), not just to the string instruction, @@ -2355,16 +2369,16 @@ var X86OpXX = { var nDelta = 0; var nCycles = this.CYCLES.nOpCyclesLodS; if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; nCycles = this.CYCLES.nOpCyclesLodSrn; if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesLodSr0; } if (nReps--) { - this.regAX = (this.regAX & ~0xff) | this.getEAByte(this.segData, this.regSI); - this.regSI = (this.regSI + ((this.regPS & X86.PS.DF)? -1 : 1)) & 0xffff; + this.regEAX = (this.regEAX & ~0xff) | this.getEAByte(this.segData, this.regESI & this.addrMask); + this.regESI = (this.regESI & this.addrMaskClear) | ((this.regESI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); this.nStepCycles -= nCycles; - this.regCX -= nDelta; + this.regECX -= nDelta; if (nReps) { /* * We have to back up to the prefix byte(s), not just to the string instruction, @@ -2390,16 +2404,16 @@ var X86OpXX = { var nDelta = 0; var nCycles = this.CYCLES.nOpCyclesLodS; if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; nCycles = this.CYCLES.nOpCyclesLodSrn; if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesLodSr0; } if (nReps--) { - this.regAX = this.getEAWord(this.segData, this.regSI); - this.regSI = (this.regSI + ((this.regPS & X86.PS.DF)? -2 : 2)) & 0xffff; + this.regEAX = this.getEAWord(this.segData, this.regESI & this.addrMask); + this.regESI = (this.regESI & this.addrMaskClear) | ((this.regESI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); this.nStepCycles -= nCycles; - this.regCX -= nDelta; + this.regECX -= nDelta; if (nReps) { /* * We have to back up to the prefix byte(s), not just to the string instruction, @@ -2425,19 +2439,19 @@ var X86OpXX = { var nDelta = 0; var nCycles = this.CYCLES.nOpCyclesScaS; if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; nCycles = this.CYCLES.nOpCyclesScaSrn; if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesScaSr0; } if (nReps--) { - X86Grps.opGrpCMPb.call(this, this.regAX & 0xff, this.modEAByte(this.segES, this.regDI)); - this.regDI = (this.regDI + ((this.regPS & X86.PS.DF)? -1 : 1)) & 0xffff; + X86Grps.opGrpCMPb.call(this, this.regEAX & 0xff, this.modEAByte(this.segES, this.regEDI & this.addrMask)); + this.regEDI = (this.regEDI & this.addrMaskClear) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -1 : 1)) & this.addrMask); /* * NOTE: As long as we're calling opGrpCMPb(), all our cycle times must be reduced by nOpCyclesArithRM */ this.nStepCycles -= nCycles - this.CYCLES.nOpCyclesArithRM; - this.regCX -= nDelta; + this.regECX -= nDelta; /* * Repetition continues while ZF matches bit 0 of the REP prefix. getZF() returns 0x40 if ZF is * set, and OP_REPZ (which represents the REP prefix whose bit 0 is set) is 0x40 as well, so when those @@ -2465,19 +2479,19 @@ var X86OpXX = { var nDelta = 0; var nCycles = this.CYCLES.nOpCyclesScaS; if (this.opPrefixes & (X86.OPFLAG.REPZ | X86.OPFLAG.REPNZ)) { - nReps = this.regCX; + nReps = this.regECX; nDelta = 1; nCycles = this.CYCLES.nOpCyclesScaSrn; if (!(this.opPrefixes & X86.OPFLAG.REPEAT)) this.nStepCycles -= this.CYCLES.nOpCyclesScaSr0; } if (nReps--) { - X86Grps.opGrpCMPw.call(this, this.regAX, this.modEAWord(this.segES, this.regDI)); - this.regDI = (this.regDI + ((this.regPS & X86.PS.DF)? -2 : 2)) & 0xffff; + X86Grps.opGrpCMPw.call(this, this.regEAX, this.modEAWord(this.segES, this.regEDI & this.addrMask)); + this.regEDI = (this.regEDI & this.addrMaskClear) | ((this.regEDI + ((this.regPS & X86.PS.DF)? -2 : 2)) & this.addrMask); /* * NOTE: As long as we're calling opGrpCMPb(), all our cycle times must be reduced by nOpCyclesArithRM */ this.nStepCycles -= nCycles - this.CYCLES.nOpCyclesArithRM; - this.regCX -= nDelta; + this.regECX -= nDelta; /* * Repetition continues while ZF matches bit 0 of the REP prefix. getZF() returns 0x40 if ZF is * set, and OP_REPZ (which represents the REP prefix whose bit 0 is set) is 0x40 as well, so when those @@ -2501,7 +2515,7 @@ var X86OpXX = { * op=0xB0 (mov AL,imm8) */ opMOVALb: function() { - this.regAX = (this.regAX & ~0xff) | this.getIPByte(); + this.regEAX = (this.regEAX & ~0xff) | this.getIPByte(); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2510,7 +2524,7 @@ var X86OpXX = { * op=0xB1 (mov CL,imm8) */ opMOVCLb: function() { - this.regCX = (this.regCX & ~0xff) | this.getIPByte(); + this.regECX = (this.regECX & ~0xff) | this.getIPByte(); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2519,7 +2533,7 @@ var X86OpXX = { * op=0xB2 (mov DL,imm8) */ opMOVDLb: function() { - this.regDX = (this.regDX & ~0xff) | this.getIPByte(); + this.regEDX = (this.regEDX & ~0xff) | this.getIPByte(); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2528,7 +2542,7 @@ var X86OpXX = { * op=0xB3 (mov BL,imm8) */ opMOVBLb: function() { - this.regBX = (this.regBX & ~0xff) | this.getIPByte(); + this.regEBX = (this.regEBX & ~0xff) | this.getIPByte(); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2537,7 +2551,7 @@ var X86OpXX = { * op=0xB4 (mov AH,imm8) */ opMOVAHb: function() { - this.regAX = (this.regAX & 0xff) | (this.getIPByte() << 8); + this.regEAX = (this.regEAX & 0xff) | (this.getIPByte() << 8); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2546,7 +2560,7 @@ var X86OpXX = { * op=0xB5 (mov CH,imm8) */ opMOVCHb: function() { - this.regCX = (this.regCX & 0xff) | (this.getIPByte() << 8); + this.regECX = (this.regECX & 0xff) | (this.getIPByte() << 8); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2555,7 +2569,7 @@ var X86OpXX = { * op=0xB6 (mov DH,imm8) */ opMOVDHb: function() { - this.regDX = (this.regDX & 0xff) | (this.getIPByte() << 8); + this.regEDX = (this.regEDX & 0xff) | (this.getIPByte() << 8); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2564,7 +2578,7 @@ var X86OpXX = { * op=0xB7 (mov BH,imm8) */ opMOVBHb: function() { - this.regBX = (this.regBX & 0xff) | (this.getIPByte() << 8); + this.regEBX = (this.regEBX & 0xff) | (this.getIPByte() << 8); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2573,7 +2587,7 @@ var X86OpXX = { * op=0xB8 (mov AX,imm16) */ opMOVAXw: function() { - this.regAX = this.getIPWord(); + this.regEAX = (this.regEAX & this.opMaskClear) | this.getIPWord(); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2582,7 +2596,7 @@ var X86OpXX = { * op=0xB9 (mov CX,imm16) */ opMOVCXw: function() { - this.regCX = this.getIPWord(); + this.regECX = (this.regECX & this.opMaskClear) | this.getIPWord(); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2591,7 +2605,7 @@ var X86OpXX = { * op=0xBA (mov DX,imm16) */ opMOVDXw: function() { - this.regDX = this.getIPWord(); + this.regEDX = (this.regEDX & this.opMaskClear) | this.getIPWord(); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2600,7 +2614,7 @@ var X86OpXX = { * op=0xBB (mov BX,imm16) */ opMOVBXw: function() { - this.regBX = this.getIPWord(); + this.regEBX = (this.regEBX & this.opMaskClear) | this.getIPWord(); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2609,7 +2623,7 @@ var X86OpXX = { * op=0xBC (mov SP,imm16) */ opMOVSPw: function() { - this.regSP = this.getIPWord(); + this.regESP = (this.regESP & this.opMaskClear) | this.getIPWord(); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2618,7 +2632,7 @@ var X86OpXX = { * op=0xBD (mov BP,imm16) */ opMOVBPw: function() { - this.regBP = this.getIPWord(); + this.regEBP = (this.regEBP & this.opMaskClear) | this.getIPWord(); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2627,7 +2641,7 @@ var X86OpXX = { * op=0xBE (mov SI,imm16) */ opMOVSIw: function() { - this.regSI = this.getIPWord(); + this.regESI = (this.regESI & this.opMaskClear) | this.getIPWord(); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2636,7 +2650,7 @@ var X86OpXX = { * op=0xBF (mov DI,imm16) */ opMOVDIw: function() { - this.regDI = this.getIPWord(); + this.regEDI = (this.regEDI & this.opMaskClear) | this.getIPWord(); this.nStepCycles -= this.CYCLES.nOpCyclesLAHF; }, /** @@ -2645,7 +2659,7 @@ var X86OpXX = { * op=0xC0 (grp2bi rm) (80186/80188 and up) */ opGrp2bi: function() { - X86Mods.aOpModsGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp2b, X86Grps.opGrp2CountImm); + this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp2b, X86Grps.opGrp2CountImm); }, /** * @this {X86CPU} @@ -2653,7 +2667,7 @@ var X86OpXX = { * op=0xC1 (grp2wi rm) (80186/80188 and up) */ opGrp2wi: function() { - X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp2w, X86Grps.opGrp2CountImm); + this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp2w, X86Grps.opGrp2CountImm); }, /** * @this {X86CPU} @@ -2663,7 +2677,7 @@ var X86OpXX = { opRETn: function() { var n = this.getIPWord(); this.setIP(this.popWord()); - this.regSP = (this.regSP + n) & 0xffff; + this.regESP = (this.regESP & this.addrMaskClear) | ((this.regESP + (n << (this.opSize >> 2))) & this.addrMask); this.nStepCycles -= this.CYCLES.nOpCyclesRetn; }, /** @@ -2684,7 +2698,7 @@ var X86OpXX = { /* * This is like a "MOV reg,rm" operation, but it also loads ES from the next word. */ - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Help.opHelpLES); + this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpLES); }, /** * @this {X86CPU} @@ -2695,7 +2709,7 @@ var X86OpXX = { /* * This is like a "MOV reg,rm" operation, but it also loads DS from the next word. */ - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Help.opHelpLDS); + this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpLDS); }, /** * @this {X86CPU} @@ -2707,7 +2721,7 @@ var X86OpXX = { * Like other MOV operations, the destination does not need to be read, just written. */ if (EAFUNCS) this.modEAByte = this.modEAByteDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; - X86Mods.aOpModsGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrpMOVImm, this.getIPByte); + this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrpMOVImm, this.getIPByte); if (EAFUNCS) this.modEAByte = this.modEAByteEnabled; }, /** @@ -2720,7 +2734,7 @@ var X86OpXX = { * Like other MOV operations, the destination does not need to be read, just written. */ if (EAFUNCS) this.modEAWord = this.modEAWordDisabled; else this.opFlags |= X86.OPFLAG.NOREAD; - X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrpMOVImm, this.getIPWord); + this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrpMOVImm, this.getIPWord); if (EAFUNCS) this.modEAWord = this.modEAWordEnabled; }, /** @@ -2754,18 +2768,18 @@ var X86OpXX = { * is low priority. TODO: Fix this someday. */ this.nStepCycles -= 11; - this.pushWord(this.regBP); - var wFrame = this.regSP; + this.pushWord(this.regEBP); + var wFrame = this.regESP & this.segSS.addrMask; if (bLevel > 0) { this.nStepCycles -= (bLevel << 2) + (bLevel > 1? 1 : 0); while (--bLevel) { - this.regBP = (this.regBP - 2) & 0xffff; - this.pushWord(this.getSOWord(this.segSS, this.regBP)); + this.regEBP = (this.regEBP & this.segSS.addrMaskClear) | ((this.regEBP - this.opSize) & this.segSS.addrMask); + this.pushWord(this.getSOWord(this.segSS, this.regEBP & this.segSS.addrMask)); } this.pushWord(wFrame); } - this.regBP = wFrame; - this.regSP = (this.regSP - wLocal) & 0xffff; + this.regEBP = (this.regEBP & this.segSS.addrMaskClear) | wFrame; + this.regESP = (this.regESP & this.segSS.addrMaskClear) | ((this.regESP - wLocal) & this.segSS.addrMask); }, /** * @this {X86CPU} @@ -2775,8 +2789,8 @@ var X86OpXX = { * op=0xC9 (leave) (80186/80188 and up) */ opLEAVE: function() { - this.regSP = this.regBP; - this.regBP = this.popWord(); + this.regESP = (this.regESP & this.segSS.addrMaskClear) | (this.regEBP & this.segSS.addrMask); + this.regEBP = (this.regEBP & this.opMaskClear) | (this.popWord() & this.opMask); /* * NOTE: 5 is the cycle time for the 80286; the 80186/80188 has a cycle time of 8. However, accurate cycle * counts for the 80186/80188 is low priority. TODO: Fix this someday. @@ -2848,7 +2862,7 @@ var X86OpXX = { * op=0xD0 (grp2b rm,1) */ opGrp2b1: function() { - X86Mods.aOpModsGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp2b, X86Grps.opGrp2Count1); + this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp2b, X86Grps.opGrp2Count1); }, /** * @this {X86CPU} @@ -2856,7 +2870,7 @@ var X86OpXX = { * op=0xD1 (grp2w rm,1) */ opGrp2w1: function() { - X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp2w, X86Grps.opGrp2Count1); + this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp2w, X86Grps.opGrp2Count1); }, /** * @this {X86CPU} @@ -2864,7 +2878,7 @@ var X86OpXX = { * op=0xD2 (grp2b rm,CL) */ opGrp2bCL: function() { - X86Mods.aOpModsGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp2b, X86Grps.opGrp2CountCL); + this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp2b, X86Grps.opGrp2CountCL); }, /** * @this {X86CPU} @@ -2872,7 +2886,7 @@ var X86OpXX = { * op=0xD3 (grp2w rm,CL) */ opGrp2wCL: function() { - X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp2w, X86Grps.opGrp2CountCL); + this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp2w, X86Grps.opGrp2CountCL); }, /** * @this {X86CPU} @@ -2889,10 +2903,10 @@ var X86OpXX = { */ opAAM: function() { var bDivisor = this.getIPByte(); - var AL = this.regAX & 0xff; + var AL = this.regEAX & 0xff; var bQuotient = (AL / bDivisor) & 0xff; var bRemainder = AL % bDivisor; - this.regAX = (bQuotient << 8) | bRemainder; + this.regEAX = (bQuotient << 8) | bRemainder; this.resultSize = X86.RESULT.SIZE_BYTE; this.resultValue = this.resultParitySign = AL; this.nStepCycles -= this.CYCLES.nOpCyclesAAM; @@ -2915,7 +2929,7 @@ var X86OpXX = { */ opAAD: function() { var bMultiplier = this.getIPByte(); - this.resultValue = this.resultParitySign = this.regAX = (((this.regAX >> 8) * bMultiplier) + this.regAX) & 0xff; + this.resultValue = this.resultParitySign = this.regEAX = (((this.regEAX >> 8) * bMultiplier) + this.regEAX) & 0xff; this.resultSize = X86.RESULT.SIZE_BYTE; this.nStepCycles -= this.CYCLES.nOpCyclesAAD; }, @@ -2929,7 +2943,7 @@ var X86OpXX = { * WARNING: I have no idea how many clocks this instruction originally consumed, so for now, I'm going with the minimum of 2. */ opSALC: function() { - this.regAX = (this.regAX & ~0xff) | (this.getCF()? 0xFF : 0); + this.regEAX = (this.regEAX & ~0xff) | (this.getCF()? 0xFF : 0); this.nStepCycles -= 2; }, /** @@ -2942,7 +2956,7 @@ var X86OpXX = { * NOTE: I have no idea whether XLAT actually wraps the 16-bit address calculation; * I'm masking it as if it does, but I need to run a test on real hardware to be sure. */ - this.regAX = (this.regAX & ~0xff) | this.getEAByte(this.segData, ((this.regBX + (this.regAX & 0xff)) & 0xffff)); + this.regEAX = (this.regEAX & ~0xff) | this.getEAByte(this.segData, ((this.regEBX + (this.regEAX & 0xff)) & 0xffff)); this.nStepCycles -= this.CYCLES.nOpCyclesXLAT; }, /** @@ -2951,7 +2965,7 @@ var X86OpXX = { * op=0xD8-0xDF (esc) */ opESC: function() { - X86Mods.aOpModsRegWord[this.getIPByte()].call(this, X86Help.opHelpESC); + this.aOpModRegWord[this.getIPByte()].call(this, X86Help.opHelpESC); this.nStepCycles -= 8; // TODO: Fix }, /** @@ -2961,7 +2975,7 @@ var X86OpXX = { */ opLOOPNZ: function() { var disp = this.getIPDisp(); - if ((this.regCX = (this.regCX - 1) & 0xffff) && (this.resultValue & (this.resultSize - 1))) { + if ((this.regECX = (this.regECX - 1) & 0xffff) && (this.resultValue & (this.resultSize - 1))) { this.setIP(this.regIP + disp); this.nStepCycles -= this.CYCLES.nOpCyclesLoopNZ; return; @@ -2975,7 +2989,7 @@ var X86OpXX = { */ opLOOPZ: function() { var disp = this.getIPDisp(); - if ((this.regCX = (this.regCX - 1) & 0xffff) && !(this.resultValue & (this.resultSize - 1))) { + if ((this.regECX = (this.regECX - 1) & 0xffff) && !(this.resultValue & (this.resultSize - 1))) { this.setIP(this.regIP + disp); this.nStepCycles -= this.CYCLES.nOpCyclesLoopZ; return; @@ -2989,7 +3003,7 @@ var X86OpXX = { */ opLOOP: function() { var disp = this.getIPDisp(); - if ((this.regCX = (this.regCX - 1) & 0xffff)) { + if ((this.regECX = (this.regECX - 1) & 0xffff)) { this.setIP(this.regIP + disp); this.nStepCycles -= this.CYCLES.nOpCyclesLoop; return; @@ -3003,7 +3017,7 @@ var X86OpXX = { */ opJCXZ: function() { var disp = this.getIPDisp(); - if (!this.regCX) { + if (!this.regECX) { this.setIP(this.regIP + disp); this.nStepCycles -= this.CYCLES.nOpCyclesLoopZ; return; @@ -3017,7 +3031,7 @@ var X86OpXX = { */ opINb: function() { var port = this.getIPByte(); - this.regAX = (this.regAX & ~0xff) | this.bus.checkPortInputNotify(port, this.regEIP - 2); + this.regEAX = (this.regEAX & ~0xff) | this.bus.checkPortInputNotify(port, this.regEIP - 2); if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiIO; this.nStepCycles -= this.CYCLES.nOpCyclesInP; }, @@ -3028,9 +3042,9 @@ var X86OpXX = { */ opINw: function() { var port = this.getIPByte(); - this.regAX = this.bus.checkPortInputNotify(port, this.regEIP - 2); + this.regEAX = this.bus.checkPortInputNotify(port, this.regEIP - 2); if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiIO; - this.regAX |= (this.bus.checkPortInputNotify((port + 1) & 0xffff, this.regEIP - 2) << 8); + this.regEAX |= (this.bus.checkPortInputNotify((port + 1) & 0xffff, this.regEIP - 2) << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiIO; this.nStepCycles -= this.CYCLES.nOpCyclesInP; }, @@ -3041,7 +3055,7 @@ var X86OpXX = { */ opOUTb: function() { var port = this.getIPByte(); - this.bus.checkPortOutputNotify(port, this.regAX & 0xff, this.regEIP - 2); + this.bus.checkPortOutputNotify(port, this.regEAX & 0xff, this.regEIP - 2); this.nStepCycles -= this.CYCLES.nOpCyclesOutP; }, /** @@ -3051,8 +3065,8 @@ var X86OpXX = { */ opOUTw: function() { var port = this.getIPByte(); - this.bus.checkPortOutputNotify(port, this.regAX & 0xff, this.regEIP - 2); - this.bus.checkPortOutputNotify((port + 1) & 0xffff, this.regAX >> 8, this.regEIP - 2); + this.bus.checkPortOutputNotify(port, this.regEAX & 0xff, this.regEIP - 2); + this.bus.checkPortOutputNotify((port + 1) & 0xffff, this.regEAX >> 8, this.regEIP - 2); this.nStepCycles -= this.CYCLES.nOpCyclesOutP; }, /** @@ -3101,7 +3115,7 @@ var X86OpXX = { * op=0xEC (in AL,dx) */ opINDXb: function() { - this.regAX = (this.regAX & ~0xff) | this.bus.checkPortInputNotify(this.regDX, this.regEIP - 1); + this.regEAX = (this.regEAX & ~0xff) | this.bus.checkPortInputNotify(this.regEDX, this.regEIP - 1); if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiIO; this.nStepCycles -= this.CYCLES.nOpCyclesInDX; }, @@ -3111,9 +3125,9 @@ var X86OpXX = { * op=0xED (in AX,dx) */ opINDXw: function() { - this.regAX = this.bus.checkPortInputNotify(this.regDX, this.regEIP - 1); + this.regEAX = this.bus.checkPortInputNotify(this.regEDX, this.regEIP - 1); if (BACKTRACK) this.backTrack.btiAL = this.backTrack.btiIO; - this.regAX |= (this.bus.checkPortInputNotify((this.regDX + 1) & 0xffff, this.regEIP - 1) << 8); + this.regEAX |= (this.bus.checkPortInputNotify((this.regEDX + 1) & 0xffff, this.regEIP - 1) << 8); if (BACKTRACK) this.backTrack.btiAH = this.backTrack.btiIO; this.nStepCycles -= this.CYCLES.nOpCyclesInDX; }, @@ -3123,7 +3137,7 @@ var X86OpXX = { * op=0xEE (out dx,AL) */ opOUTDXb: function() { - this.bus.checkPortOutputNotify(this.regDX, this.regAX & 0xff, this.regEIP - 1); + this.bus.checkPortOutputNotify(this.regEDX, this.regEAX & 0xff, this.regEIP - 1); this.nStepCycles -= this.CYCLES.nOpCyclesOutDX; }, /** @@ -3132,8 +3146,8 @@ var X86OpXX = { * op=0xEF (out dx,AX) */ opOUTDXw: function() { - this.bus.checkPortOutputNotify(this.regDX, this.regAX & 0xff, this.regEIP - 1); - this.bus.checkPortOutputNotify((this.regDX + 1) & 0xffff, this.regAX >> 8, this.regEIP - 1); + this.bus.checkPortOutputNotify(this.regEDX, this.regEAX & 0xff, this.regEIP - 1); + this.bus.checkPortOutputNotify((this.regEDX + 1) & 0xffff, this.regEAX >> 8, this.regEIP - 1); this.nStepCycles -= this.CYCLES.nOpCyclesOutDX; }, /** @@ -3242,15 +3256,15 @@ var X86OpXX = { * know what the target is (only the target's value), it cannot easily work around the problem. * * A simple, albeit kludgy, solution is for opGrpMULb to always save its result in a special "register" - * (eg, regMD16), which we will then put back into regAX if it's been updated. This also relieves us + * (eg, regMD16), which we will then put back into regEAX if it's been updated. This also relieves us * from having to decode any part of the ModRM byte, so maybe it's not such a bad work-around after all. * * Similar issues with IMUL (and DIV and IDIV) are resolved using the same special variable(s). */ opGrp3b: function() { this.regMD16 = -1; - X86Mods.aOpModsGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp3b, X86Grps.opGrpNoSrc); - if (this.regMD16 >= 0) this.regAX = this.regMD16; + this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp3b, X86Grps.opGrpNoSrc); + if (this.regMD16 >= 0) this.regEAX = this.regMD16; if (EAFUNCS) this.setEAByte = this.setEAByteEnabled; }, /** @@ -3268,15 +3282,15 @@ var X86OpXX = { * know what the target is (only the target's value), it cannot easily work around the problem. * * A simple, albeit kludgey, solution is for opGrpMULw to always save its result in a special "register" - * (eg, regMD16/regMD32), which we will then put back into regAX/regDX if it's been updated. This also relieves + * (eg, regMD16/regMD32), which we will then put back into regEAX/regEDX if it's been updated. This also relieves * us from having to decode any part of the ModRM byte, so maybe it's not such a bad work-around after all. */ opGrp3w: function() { this.regMD16 = -1; - X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp3w, X86Grps.opGrpNoSrc); + this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp3w, X86Grps.opGrpNoSrc); if (this.regMD16 >= 0) { - this.regAX = this.regMD16; - this.regDX = this.regMD32; + this.regEAX = this.regMD16; + this.regEDX = this.regMD32; } if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; }, @@ -3341,7 +3355,7 @@ var X86OpXX = { * op=0xFE (grp4b rm) */ opGrp4b: function() { - X86Mods.aOpModsGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp4b, X86Grps.opGrpNoSrc); + this.aOpModGrpByte[this.getIPByte()].call(this, X86Grps.aOpGrp4b, X86Grps.opGrpNoSrc); }, /** * @this {X86CPU} @@ -3349,7 +3363,7 @@ var X86OpXX = { * op=0xFF (grp4w rm) */ opGrp4w: function() { - X86Mods.aOpModsGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp4w, X86Grps.opGrpNoSrc); + this.aOpModGrpWord[this.getIPByte()].call(this, X86Grps.aOpGrp4w, X86Grps.opGrpNoSrc); if (EAFUNCS) this.setEAWord = this.setEAWordEnabled; } }; @@ -3432,7 +3446,7 @@ X86OpXX.aOps = [ X86OpXX.opINT3, X86OpXX.opINTn, X86OpXX.opINTO, X86OpXX.opIRET, // 0xCC-0xCF X86OpXX.opGrp2b1, X86OpXX.opGrp2w1, X86OpXX.opGrp2bCL, X86OpXX.opGrp2wCL, // 0xD0-0xD3 /* - * Even as of the Pentium, opcode 0xD6 is still marked as "reserved", but it's always been SETALC/SALC. + * Even as of the Pentium, opcode 0xD6 is still marked as "reserved", but it's always been SALC (aka SETALC). */ X86OpXX.opAAM, X86OpXX.opAAD, X86OpXX.opSALC, X86OpXX.opXLAT, // 0xD4-0xD7 X86OpXX.opESC, X86OpXX.opESC, X86OpXX.opESC, X86OpXX.opESC, // 0xD8-0xDB @@ -3442,8 +3456,10 @@ X86OpXX.aOps = [ X86OpXX.opCALL, X86OpXX.opJMP, X86OpXX.opJMPF, X86OpXX.opJMPs, // 0xE8-0xEB X86OpXX.opINDXb, X86OpXX.opINDXw, X86OpXX.opOUTDXb, X86OpXX.opOUTDXw, // 0xEC-0xEF /* - * On an 8086/8088, opcode 0xF1 is assumed to be an alias for 0xF0; in any case, it definitely behaves like - * a prefix on those processors, so we treat it as such. As of the Pentium, it is still marked as "reserved". + * On an 8086/8088, opcode 0xF1 is believed to be an alias for 0xF0; in any case, it definitely behaves like + * a prefix on those processors, so we treat it as such. On the 80186 and up, we treat as opINT1(). + * + * As of the Pentium, opcode 0xF1 is still marked "reserved". */ X86OpXX.opLOCK, X86OpXX.opLOCK, X86OpXX.opREPNZ, X86OpXX.opREPZ, // 0xF0-0xF3 X86OpXX.opHLT, X86OpXX.opCMC, X86OpXX.opGrp3b, X86OpXX.opGrp3w, // 0xF4-0xF7 diff --git a/modules/pcjs/lib/x86seg.js b/modules/pcjs/lib/x86seg.js index df291f0b8..11ac64216 100644 --- a/modules/pcjs/lib/x86seg.js +++ b/modules/pcjs/lib/x86seg.js @@ -117,6 +117,7 @@ X86Seg.ID = { X86Seg.loadReal = function loadReal(sel, fSuppress) { this.sel = sel; + this.ext = 0; return this.base = sel << 4; }; @@ -423,14 +424,14 @@ X86Seg.switchTSS = function switchTSS(selNew, fNest) } cpu.setWord(addrOld + X86.TSS.TASK_IP, cpu.regIP); cpu.setWord(addrOld + X86.TSS.TASK_PS, cpu.getPS()); - cpu.setWord(addrOld + X86.TSS.TASK_AX, cpu.regAX); - cpu.setWord(addrOld + X86.TSS.TASK_CX, cpu.regCX); - cpu.setWord(addrOld + X86.TSS.TASK_DX, cpu.regDX); - cpu.setWord(addrOld + X86.TSS.TASK_BX, cpu.regBX); - cpu.setWord(addrOld + X86.TSS.TASK_SP, cpu.regSP); - cpu.setWord(addrOld + X86.TSS.TASK_BP, cpu.regBP); - cpu.setWord(addrOld + X86.TSS.TASK_SI, cpu.regSI); - cpu.setWord(addrOld + X86.TSS.TASK_DI, cpu.regDI); + cpu.setWord(addrOld + X86.TSS.TASK_AX, cpu.regEAX); + cpu.setWord(addrOld + X86.TSS.TASK_CX, cpu.regECX); + cpu.setWord(addrOld + X86.TSS.TASK_DX, cpu.regEDX); + cpu.setWord(addrOld + X86.TSS.TASK_BX, cpu.regEBX); + cpu.setWord(addrOld + X86.TSS.TASK_SP, cpu.regESP); + cpu.setWord(addrOld + X86.TSS.TASK_BP, cpu.regEBP); + cpu.setWord(addrOld + X86.TSS.TASK_SI, cpu.regESI); + cpu.setWord(addrOld + X86.TSS.TASK_DI, cpu.regEDI); cpu.setWord(addrOld + X86.TSS.TASK_ES, cpu.segES.sel); cpu.setWord(addrOld + X86.TSS.TASK_CS, cpu.segCS.sel); cpu.setWord(addrOld + X86.TSS.TASK_SS, cpu.segSS.sel); @@ -439,13 +440,13 @@ X86Seg.switchTSS = function switchTSS(selNew, fNest) var offSP = X86.TSS.TASK_SP; cpu.setPS(cpu.getWord(addrNew + X86.TSS.TASK_PS) | (fNest? X86.PS.NT : 0)); cpu.assert(!fNest || !!(cpu.regPS & X86.PS.NT)); - cpu.regAX = cpu.getWord(addrNew + X86.TSS.TASK_AX); - cpu.regCX = cpu.getWord(addrNew + X86.TSS.TASK_CX); - cpu.regDX = cpu.getWord(addrNew + X86.TSS.TASK_DX); - cpu.regBX = cpu.getWord(addrNew + X86.TSS.TASK_BX); - cpu.regBP = cpu.getWord(addrNew + X86.TSS.TASK_BP); - cpu.regSI = cpu.getWord(addrNew + X86.TSS.TASK_SI); - cpu.regDI = cpu.getWord(addrNew + X86.TSS.TASK_DI); + cpu.regEAX = cpu.getWord(addrNew + X86.TSS.TASK_AX); + cpu.regECX = cpu.getWord(addrNew + X86.TSS.TASK_CX); + cpu.regEDX = cpu.getWord(addrNew + X86.TSS.TASK_DX); + cpu.regEBX = cpu.getWord(addrNew + X86.TSS.TASK_BX); + cpu.regEBP = cpu.getWord(addrNew + X86.TSS.TASK_BP); + cpu.regESI = cpu.getWord(addrNew + X86.TSS.TASK_SI); + cpu.regEDI = cpu.getWord(addrNew + X86.TSS.TASK_DI); cpu.segES.load(cpu.getWord(addrNew + X86.TSS.TASK_ES)); cpu.segDS.load(cpu.getWord(addrNew + X86.TSS.TASK_DS)); cpu.setCSIP(cpu.getWord(addrNew + X86.TSS.TASK_IP), cpu.getWord(addrNew + X86.TSS.TASK_CS)); @@ -453,7 +454,7 @@ X86Seg.switchTSS = function switchTSS(selNew, fNest) offSP = (this.cpl << 2) + X86.TSS.CPL0_SP; offSS = offSP + 2; } - cpu.regSP = cpu.getWord(addrNew + offSP); + cpu.regESP = cpu.getWord(addrNew + offSP); cpu.segSS.load(cpu.getWord(addrNew + offSS)); cpu.segLDT.load(cpu.getWord(addrNew + X86.TSS.TASK_LDT)); if (fNest) cpu.setWord(addrNew + X86.TSS.PREV_TSS, selOld); @@ -514,13 +515,15 @@ X86Seg.prototype.loadDesc6 = function(addrDesc, sel) { var cpu = this.cpu; var acc = cpu.getWord(addrDesc + 2); - var base = cpu.getWord(addrDesc + 0) | ((acc & 0xff) << 16); + var base = cpu.getWord(addrDesc) | ((acc & 0xff) << 16); var limit = cpu.getWord(addrDesc + 4); this.sel = sel; this.base = base; this.limit = limit; this.acc = acc & X86.DESC.ACC.MASK; + this.type = (acc & X86.DESC.ACC.TYPE.MASK); + this.ext = 0; this.addrDesc = addrDesc; this.updateMode(); @@ -554,7 +557,7 @@ X86Seg.prototype.loadDesc8 = function(addrDesc, sel, fSuppress) var acc = cpu.getWord(addrDesc + X86.DESC.ACC.OFFSET); var type = (acc & X86.DESC.ACC.TYPE.MASK); var base = cpu.getWord(addrDesc + X86.DESC.BASE.OFFSET) | ((acc & X86.DESC.ACC.BASE1623) << 16); - var ext = (DEBUG? cpu.getWord(addrDesc + X86.DESC.EXT.OFFSET) : 0); + var ext = cpu.getWord(addrDesc + X86.DESC.EXT.OFFSET); var selMasked = sel & X86.SEL.MASK; while (true) { @@ -589,7 +592,7 @@ X86Seg.prototype.loadDesc8 = function(addrDesc, sel, fSuppress) } regSP = cpu.popWord(); cpu.segSS.load(cpu.popWord()); - cpu.regSP = regSP; + cpu.regESP = regSP; this.fStackSwitch = true; } fGate = false; @@ -644,7 +647,7 @@ X86Seg.prototype.loadDesc8 = function(addrDesc, sel, fSuppress) base = X86.ADDR_INVALID; break; } - regSP = cpu.regSP; + regSP = cpu.regESP; var i = 0, nWords = (acc & 0x1f); while (nWords--) { this.awParms[i++] = cpu.getSOWord(cpu.segSS, regSP); @@ -653,9 +656,9 @@ X86Seg.prototype.loadDesc8 = function(addrDesc, sel, fSuppress) addrTSS = cpu.segTSS.base; offSP = (this.cpl << 2) + X86.TSS.CPL0_SP; offSS = offSP + 2; - regSPPrev = cpu.regSP; + regSPPrev = cpu.regESP; regSSPrev = cpu.segSS.sel; - cpu.regSP = cpu.getWord(addrTSS + offSP); + cpu.regESP = cpu.getWord(addrTSS + offSP); cpu.segSS.load(cpu.getWord(addrTSS + offSS)); cpu.pushWord(regSSPrev); cpu.pushWord(regSPPrev); @@ -735,6 +738,7 @@ X86Seg.prototype.loadDesc8 = function(addrDesc, sel, fSuppress) this.limit = limit; this.acc = acc; this.type = type; + this.ext = ext; this.addrDesc = addrDesc; this.updateMode(); break; diff --git a/package.json b/package.json index 8eaf0d034..b3f4d9ba8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pcjs", - "version": "1.16.5", + "version": "1.17.0", "description": "Node-enabled version of PCjs", "main": "server.js", "directories": { @@ -108,7 +108,8 @@ "./modules/pcjs/lib/x86cpu.js", "./modules/pcjs/lib/x86grps.js", "./modules/pcjs/lib/x86help.js", - "./modules/pcjs/lib/x86mods.js", + "./modules/pcjs/lib/x86modb.js", + "./modules/pcjs/lib/x86modw.js", "./modules/pcjs/lib/x86opxx.js", "./modules/pcjs/lib/x86op0f.js", "./modules/pcjs/lib/chipset.js", diff --git a/pubs/pc/programming/manifest.xml b/pubs/pc/programming/manifest.xml index 6d5f72813..9c51ef5a1 100644 --- a/pubs/pc/programming/manifest.xml +++ b/pubs/pc/programming/manifest.xml @@ -1,5 +1,5 @@ - + PC Programming Guides diff --git a/pubs/pc/reference/ibm/5150/techref/manifest.xml b/pubs/pc/reference/ibm/5150/techref/manifest.xml index 0545e7614..65b25081a 100644 --- a/pubs/pc/reference/ibm/5150/techref/manifest.xml +++ b/pubs/pc/reference/ibm/5150/techref/manifest.xml @@ -1,5 +1,5 @@ - + IBM 5150 Manuals minuszerodegrees.net diff --git a/pubs/pc/reference/ibm/5160/techref/manifest.xml b/pubs/pc/reference/ibm/5160/techref/manifest.xml index 544c91a74..98bc63929 100644 --- a/pubs/pc/reference/ibm/5160/techref/manifest.xml +++ b/pubs/pc/reference/ibm/5160/techref/manifest.xml @@ -1,5 +1,5 @@ - + IBM 5160 Technical Reference (April 1983) retroarchive.org diff --git a/pubs/pc/reference/ibm/5170/setup/manifest.xml b/pubs/pc/reference/ibm/5170/setup/manifest.xml index a01424f0e..a6372b909 100644 --- a/pubs/pc/reference/ibm/5170/setup/manifest.xml +++ b/pubs/pc/reference/ibm/5170/setup/manifest.xml @@ -1,5 +1,5 @@ - + IBM 5170 Installation and Setup (March 1984) minuszerodegrees.net diff --git a/pubs/pc/reference/ibm/5170/techref/manifest.xml b/pubs/pc/reference/ibm/5170/techref/manifest.xml index 3702b9f4d..7138ba314 100644 --- a/pubs/pc/reference/ibm/5170/techref/manifest.xml +++ b/pubs/pc/reference/ibm/5170/techref/manifest.xml @@ -1,5 +1,5 @@ - + IBM 5170 Technical Reference minuszerodegrees.net diff --git a/pubs/pc/reference/ibm/ega/manifest.xml b/pubs/pc/reference/ibm/ega/manifest.xml index c7f5f7721..2b33563c8 100644 --- a/pubs/pc/reference/ibm/ega/manifest.xml +++ b/pubs/pc/reference/ibm/ega/manifest.xml @@ -1,5 +1,5 @@ - + IBM Enhanced Graphics Adapter minuszerodegrees.net diff --git a/pubs/pc/reference/ibm/ps2/manifest.xml b/pubs/pc/reference/ibm/ps2/manifest.xml index cda148748..93678bb80 100644 --- a/pubs/pc/reference/ibm/ps2/manifest.xml +++ b/pubs/pc/reference/ibm/ps2/manifest.xml @@ -1,5 +1,5 @@ - + PS/2 Technical Reference diff --git a/pubs/pc/reference/intel/80286/manifest.xml b/pubs/pc/reference/intel/80286/manifest.xml index 66f3f45ff..f7b5ac5d4 100644 --- a/pubs/pc/reference/intel/80286/manifest.xml +++ b/pubs/pc/reference/intel/80286/manifest.xml @@ -1,5 +1,5 @@ - + Intel 80286 References diff --git a/pubs/pc/software/os2/sdk10/manifest.xml b/pubs/pc/software/os2/sdk10/manifest.xml index fecf8888e..a04ce45d1 100644 --- a/pubs/pc/software/os2/sdk10/manifest.xml +++ b/pubs/pc/software/os2/sdk10/manifest.xml @@ -1,5 +1,5 @@ - + OS/2 1.0 Programmer's Toolkit 1.0 diff --git a/pubs/pc/software/windows/sdk20/manifest.xml b/pubs/pc/software/windows/sdk20/manifest.xml index 392d18ca2..9b6d9f16a 100644 --- a/pubs/pc/software/windows/sdk20/manifest.xml +++ b/pubs/pc/software/windows/sdk20/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows Software Development Kit 2.0