From d3b44f1c84c42c52b401b357a3765f8e9ffdca17 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 20 Nov 2023 12:31:04 +0100 Subject: [INTERPRETER] Fixed some rare issue with XLAT ocpode --- src/emu/x64run.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') 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 -- cgit 1.4.1