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.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c
index 6d4742d7..276dd91f 100644
--- a/src/emu/x64run.c
+++ b/src/emu/x64run.c
@@ -1464,7 +1464,11 @@ x64emurun:
             }
             emu->segs_serial[_CS] = 0;
             R_RSP += tmp16u;
-            // need to check status of CS register!
+            is32bits = (R_CS==0x23);    // checking if CS changed
+            #ifndef TEST_INTERPRETER
+            if(is32bits)
+                running32bits = 1;
+            #endif
             STEP2;
             break;
         case 0xCB:                      /* FAR RET */
@@ -1476,7 +1480,11 @@ x64emurun:
                 emu->segs[_CS] = Pop64(emu);    // no check, no use....
             }
             emu->segs_serial[_CS] = 0;
-            // need to check status of CS register!
+            is32bits = (R_CS==0x23);    // checking if CS changed
+            #ifndef TEST_INTERPRETER
+            if(is32bits)
+                running32bits = 1;
+            #endif
             STEP2;
             break;
         case 0xCC:                      /* INT 3 */