diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-06 14:11:04 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-06 14:11:04 +0100 |
| commit | 64922731eca944cc10c89913c82d0a4617f2f590 (patch) | |
| tree | bc59afdc5b74599fc4701c0b550f58e6086e7a54 /src | |
| parent | 079cb9e8337e43d4984597f595ff027de3819131 (diff) | |
| download | box64-64922731eca944cc10c89913c82d0a4617f2f590.tar.gz box64-64922731eca944cc10c89913c82d0a4617f2f590.zip | |
Fixed REX.W 81/83 opcodes
Diffstat (limited to 'src')
| -rwxr-xr-x | src/emu/x64run.c | 16 |
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; |