about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64run.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c
index 77543e08..ceb38f9a 100644
--- a/src/emu/x64run.c
+++ b/src/emu/x64run.c
@@ -1705,13 +1705,19 @@ x64emurun:
                 Push32(emu, addr);
             else
                 Push64(emu, addr);
-            addr += tmp32s;
+            if(rex.is32bits)
+                addr = (uint32_t)(addr+tmp32s);
+            else
+                addr += tmp32s;
             addr = (uintptr_t)getAlternate((void*)addr);
             STEP2
             break;
         case 0xE9:                      /* JMP Id */
             tmp32s = F32S; // jmp is relative
-            addr += tmp32s;
+            if(rex.is32bits)
+                addr = (uint32_t)(addr+tmp32s);
+            else
+                addr += tmp32s;
             addr = (uintptr_t)getAlternate((void*)addr);
             STEP2
             break;