diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-01-31 18:38:52 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-01-31 18:38:52 +0100 |
| commit | 5f57de017cc5a1ac6f1793a338837dbba70e75d7 (patch) | |
| tree | 15fd17b55b4e45c45dda7466b0c0961cb0ce2f3c /src | |
| parent | 508a1539737b5ba86516c73e34bf167eb37859ad (diff) | |
| download | box64-5f57de017cc5a1ac6f1793a338837dbba70e75d7.tar.gz box64-5f57de017cc5a1ac6f1793a338837dbba70e75d7.zip | |
[INTERPRETER] Added CE opcode
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run.c | 10 |
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; |