about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-01-31 18:38:52 +0100
committerptitSeb <sebastien.chev@gmail.com>2024-01-31 18:38:52 +0100
commit5f57de017cc5a1ac6f1793a338837dbba70e75d7 (patch)
tree15fd17b55b4e45c45dda7466b0c0961cb0ce2f3c /src
parent508a1539737b5ba86516c73e34bf167eb37859ad (diff)
downloadbox64-5f57de017cc5a1ac6f1793a338837dbba70e75d7.tar.gz
box64-5f57de017cc5a1ac6f1793a338837dbba70e75d7.zip
[INTERPRETER] Added CE opcode
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64run.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/emu/x64run.c b/src/emu/x64run.c
index ceb38f9a..d89712a8 100644
--- a/src/emu/x64run.c
+++ b/src/emu/x64run.c
@@ -1435,7 +1435,15 @@ x64emurun:
                 #endif
             }
             break;
-
+        case 0xCE:                      /* INTO */
+            emu->old_ip = R_RIP;
+            #ifndef TEST_INTERPRETER
+            CHECK_FLAGS(emu);
+            if(ACCESS_FLAG(F_OF))
+                emit_signal(emu, SIGSEGV, (void*)R_RIP, 128);
+            STEP;
+            #endif
+            break;
         case 0xCF:                      /* IRET */
             addr = rex.is32bits?Pop32(emu):Pop64(emu);
             emu->segs[_CS] = (rex.is32bits?Pop32(emu):Pop64(emu))&0xffff;