about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-06-28 18:10:39 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-06-28 18:10:39 +0200
commit4a447e7f9413de9619ca6232fb35d3c6b1023b39 (patch)
tree71cc6d9d71e8e71ed12d99aefa494540a20be591 /src
parentc8c2b84287129cee895b308093c1306e0b5fd304 (diff)
downloadbox64-4a447e7f9413de9619ca6232fb35d3c6b1023b39.tar.gz
box64-4a447e7f9413de9619ca6232fb35d3c6b1023b39.zip
[INTERP] Added 0F 03 opcode (for LEGO2Kdrive)
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64run0f.c14
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;