about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-04-10 14:36:02 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-04-10 14:36:02 +0200
commit4f38801ba67a36a227bf1d8df67f439efef6172d (patch)
tree145d5d091ce45bc6e31a376d9be30079502a5c64 /src
parent2a4649f6ef02be3f2286d569e52b6c9e99b046b5 (diff)
parent31b41f5b9435f4bc3d60125faf396019b47012fd (diff)
downloadbox64-4f38801ba67a36a227bf1d8df67f439efef6172d.tar.gz
box64-4f38801ba67a36a227bf1d8df67f439efef6172d.zip
Merge branch 'main' of https://github.com/ptitSeb/box64 into main
Diffstat (limited to 'src')
-rwxr-xr-xsrc/emu/x64run.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c
index 3c83e6b0..c0b7fea5 100755
--- a/src/emu/x64run.c
+++ b/src/emu/x64run.c
@@ -1299,14 +1299,22 @@ x64emurun:
                 case 0:                 /* INC Ed */
                     if(rex.w)
                         ED->q[0] = inc64(emu, ED->q[0]);
-                    else
-                        ED->q[0] = inc32(emu, ED->dword[0]);
+                    else {
+                        if(MODREG)
+                            ED->q[0] = inc32(emu, ED->dword[0]);
+                        else
+                            ED->dword[0] = inc32(emu, ED->dword[0]);
+                    }
                     break;
                 case 1:                 /* DEC Ed */
                     if(rex.w)
                         ED->q[0] = dec64(emu, ED->q[0]);
-                    else
-                        ED->q[0] = dec32(emu, ED->dword[0]);
+                    else {
+                        if(MODREG)
+                            ED->q[0] = dec32(emu, ED->dword[0]);
+                        else
+                            ED->dword[0] = dec32(emu, ED->dword[0]);
+                    }
                     break;
                 case 2:                 /* CALL NEAR Ed */
                     tmp64u = (uintptr_t)getAlternate((void*)ED->q[0]);