From 03ce3c659235ed5460e0ca266fe1037e9351d6a8 Mon Sep 17 00:00:00 2001 From: rajdakin Date: Sat, 10 Apr 2021 14:20:25 +0200 Subject: Fixed FF INC and DEC opcodes --- src/emu/x64run.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/emu/x64run.c b/src/emu/x64run.c index 3c83e6b0..c0b7fea5 100755 --- a/src/emu/x64run.c +++ b/src/emu/x64run.c @@ -1299,14 +1299,22 @@ x64emurun: case 0: /* INC Ed */ if(rex.w) ED->q[0] = inc64(emu, ED->q[0]); - else - ED->q[0] = inc32(emu, ED->dword[0]); + else { + if(MODREG) + ED->q[0] = inc32(emu, ED->dword[0]); + else + ED->dword[0] = inc32(emu, ED->dword[0]); + } break; case 1: /* DEC Ed */ if(rex.w) ED->q[0] = dec64(emu, ED->q[0]); - else - ED->q[0] = dec32(emu, ED->dword[0]); + else { + if(MODREG) + ED->q[0] = dec32(emu, ED->dword[0]); + else + ED->dword[0] = dec32(emu, ED->dword[0]); + } break; case 2: /* CALL NEAR Ed */ tmp64u = (uintptr_t)getAlternate((void*)ED->q[0]); -- cgit 1.4.1