diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c index 0edfcc08..6548f6b3 100644 --- a/src/emu/x64run.c +++ b/src/emu/x64run.c @@ -1563,7 +1563,10 @@ x64emurun: }; break; case 0xD7: /* XLAT */ - R_AL = *(uint8_t*)(R_RBX + R_AL); + if(rex.w || rex.is32bits) + R_AL = *(uint8_t*)(R_RBX + R_AL); + else + R_AL = *(uint8_t*)((uintptr_t)R_EBX + R_AL); break; case 0xD8: /* x87 opcodes */ #ifdef TEST_INTERPRETER |