diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-06-28 18:10:39 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-06-28 18:10:39 +0200 |
| commit | 4a447e7f9413de9619ca6232fb35d3c6b1023b39 (patch) | |
| tree | 71cc6d9d71e8e71ed12d99aefa494540a20be591 /src | |
| parent | c8c2b84287129cee895b308093c1306e0b5fd304 (diff) | |
| download | box64-4a447e7f9413de9619ca6232fb35d3c6b1023b39.tar.gz box64-4a447e7f9413de9619ca6232fb35d3c6b1023b39.zip | |
[INTERP] Added 0F 03 opcode (for LEGO2Kdrive)
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run0f.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c index 4163ddff..d1d2cd52 100644 --- a/src/emu/x64run0f.c +++ b/src/emu/x64run0f.c @@ -162,6 +162,20 @@ uintptr_t Run0F(x64emu_t *emu, rex_t rex, uintptr_t addr, int *step) } break; + case 0x03: /* LSL */ + nextop = F8; + GETED(0); + GETGD; + UpdateFlags(emu); + tmp8u = ED->word[0]>>3; + if (tmp8u>0x10 || !my_context->segtls[tmp8u].present) { + CLEAR_FLAG(F_ZF); + } else { + GD->dword[0] = my_context->segtls[tmp8u].limit; + SET_FLAG(F_ZF); + } + break; + case 0x05: /* SYSCALL */ #ifndef TEST_INTERPRETER R_RIP = addr; |