about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-06 14:11:04 +0100
committerptitSeb <sebastien.chev@gmail.com>2021-03-06 14:11:04 +0100
commit64922731eca944cc10c89913c82d0a4617f2f590 (patch)
treebc59afdc5b74599fc4701c0b550f58e6086e7a54 /src
parent079cb9e8337e43d4984597f595ff027de3819131 (diff)
downloadbox64-64922731eca944cc10c89913c82d0a4617f2f590.tar.gz
box64-64922731eca944cc10c89913c82d0a4617f2f590.zip
Fixed REX.W 81/83 opcodes
Diffstat (limited to 'src')
-rwxr-xr-xsrc/emu/x64run.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c
index e7896a12..34710a44 100755
--- a/src/emu/x64run.c
+++ b/src/emu/x64run.c
@@ -291,14 +291,14 @@ x64emurun:
             if(rex.w) {
                 tmp64u = (uint64_t)tmp32s;
                 switch((nextop>>3)&7) {
-                    case 0: ED->dword[0] = add64(emu, ED->dword[0], tmp64u); break;
-                    case 1: ED->dword[0] =  or64(emu, ED->dword[0], tmp64u); break;
-                    case 2: ED->dword[0] = adc64(emu, ED->dword[0], tmp64u); break;
-                    case 3: ED->dword[0] = sbb64(emu, ED->dword[0], tmp64u); break;
-                    case 4: ED->dword[0] = and64(emu, ED->dword[0], tmp64u); break;
-                    case 5: ED->dword[0] = sub64(emu, ED->dword[0], tmp64u); break;
-                    case 6: ED->dword[0] = xor64(emu, ED->dword[0], tmp64u); break;
-                    case 7:                cmp64(emu, ED->dword[0], tmp64u); break;
+                    case 0: ED->q[0] = add64(emu, ED->q[0], tmp64u); break;
+                    case 1: ED->q[0] =  or64(emu, ED->q[0], tmp64u); break;
+                    case 2: ED->q[0] = adc64(emu, ED->q[0], tmp64u); break;
+                    case 3: ED->q[0] = sbb64(emu, ED->q[0], tmp64u); break;
+                    case 4: ED->q[0] = and64(emu, ED->q[0], tmp64u); break;
+                    case 5: ED->q[0] = sub64(emu, ED->q[0], tmp64u); break;
+                    case 6: ED->q[0] = xor64(emu, ED->q[0], tmp64u); break;
+                    case 7:            cmp64(emu, ED->q[0], tmp64u); break;
                 }
             } else {
                 tmp32u = (uint32_t)tmp32s;