From 64922731eca944cc10c89913c82d0a4617f2f590 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 6 Mar 2021 14:11:04 +0100 Subject: Fixed REX.W 81/83 opcodes --- src/emu/x64run.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src') 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; -- cgit 1.4.1