diff options
Diffstat (limited to 'src/emu')
| -rw-r--r-- | src/emu/x64run0f.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c index bac642b3..d7b0fe61 100644 --- a/src/emu/x64run0f.c +++ b/src/emu/x64run0f.c @@ -1125,19 +1125,19 @@ uintptr_t Run0F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step) nextop = F8; GETED(0); GETGD; - tmp32s = GD->sdword[0]; - tmp8u=tmp32s&(rex.w?63:31); - tmp32s >>= (rex.w?6:5); + tmp64s = rex.w?GD->sq[0]:GD->sdword[0]; + tmp8u=tmp64s&(rex.w?63:31); + tmp64s >>= (rex.w?6:5); if(!MODREG) { #ifdef TEST_INTERPRETER - test->memaddr=((test->memaddr)+(tmp32s<<(rex.w?3:2))); + test->memaddr=((test->memaddr)+(tmp64s<<(rex.w?3:2))); if(rex.w) *(uint64_t*)test->mem = *(uint64_t*)test->memaddr; else *(uint32_t*)test->mem = *(uint32_t*)test->memaddr; #else - ED=(reg64_t*)(((uintptr_t)(ED))+(tmp32s<<(rex.w?3:2))); + ED=(reg64_t*)(((uintptr_t)(ED))+(tmp64s<<(rex.w?3:2))); #endif } if(rex.w) { |