about summary refs log tree commit diff stats
path: root/src/dynarec
diff options
context:
space:
mode:
authorYang Liu <numbksco@gmail.com>2025-10-22 01:15:18 +0800
committerGitHub <noreply@github.com>2025-10-22 01:15:18 +0800
commitfe0e3b7a9fb6a3dd0a7b4f60b4b5c2c9d83bb796 (patch)
treef5f1438f654661352dce169dbb5d4cd879585bc2 /src/dynarec
parente3cd3e8347086b9a2a3cc370088bba0ace0e740a (diff)
downloadbox64-fe0e3b7a9fb6a3dd0a7b4f60b4b5c2c9d83bb796.tar.gz
box64-fe0e3b7a9fb6a3dd0a7b4f60b4b5c2c9d83bb796.zip
[LA64] Fixed LBT signal handling, also refined la64noext support (#3080)
Diffstat (limited to 'src/dynarec')
-rw-r--r--src/dynarec/la64/dynarec_la64_66.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/dynarec/la64/dynarec_la64_66.c b/src/dynarec/la64/dynarec_la64_66.c
index 95ef995d..90ad5a11 100644
--- a/src/dynarec/la64/dynarec_la64_66.c
+++ b/src/dynarec/la64/dynarec_la64_66.c
@@ -8,6 +8,7 @@
 #include "box64cpu.h"
 #include "emu/x64emu_private.h"
 #include "la64_emitter.h"
+#include "la64_mapping.h"
 #include "x64emu.h"
 #include "box64stack.h"
 #include "callback.h"
@@ -699,6 +700,17 @@ uintptr_t dynarec64_66(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int ni
                 ADD_D(xRDI, xRDI, x3);
             }
             break;
+        case 0xAD:
+            if (rep) {
+                DEFAULT;
+            } else {
+                INST_NAME("LODSW");
+                GETDIR(x1, x2, 2);
+                LD_HU(x2, xRSI, 0);
+                ADD_D(xRSI, xRSI, x1);
+                BSTRINSz(xRAX, x2, 15, 0);
+            }
+            break;
         case 0xAF:
             switch (rep) {
                 case 1: