about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-13 10:05:25 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-13 10:05:25 +0100
commit066410a31de7893e1c96a167e1f7d9a9350997f9 (patch)
tree0e8699b77e295eb4f91d042d7b127909e88957df /src
parent30e8fa9620a826b67bc752b3b5aea32e413bb846 (diff)
downloadbox64-066410a31de7893e1c96a167e1f7d9a9350997f9.tar.gz
box64-066410a31de7893e1c96a167e1f7d9a9350997f9.zip
Fixed some 32bits versio of F7 opcodes
Diffstat (limited to 'src')
-rwxr-xr-xsrc/emu/x64run.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c
index c127d7d7..0a393466 100755
--- a/src/emu/x64run.c
+++ b/src/emu/x64run.c
@@ -1188,10 +1188,16 @@ x64emurun:
                         test32(emu, ED->dword[0], tmp32u);
                         break;
                     case 2:                 /* NOT Ed */
-                        ED->q[0] = not32(emu, ED->dword[0]);
+                        if(MODREG)
+                            ED->q[0] = not32(emu, ED->dword[0]);
+                        else
+                            ED->dword[0] = not32(emu, ED->dword[0]);
                         break;
                     case 3:                 /* NEG Ed */
-                        ED->q[0] = neg32(emu, ED->dword[0]);
+                        if(MODREG)
+                            ED->q[0] = neg32(emu, ED->dword[0]);
+                        else
+                            ED->dword[0] = neg32(emu, ED->dword[0]);
                         break;
                     case 4:                 /* MUL EAX,Ed */
                         mul32_eax(emu, ED->dword[0]);