about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-03-08 13:55:00 +0100
committerptitSeb <sebastien.chev@gmail.com>2024-03-08 13:55:00 +0100
commitc7c6880a019313545049eb9e1df6593242e8367c (patch)
tree539d5631c5a2e1c90d446d07450be84df11acb15 /src
parent5ed3ef918dcdab1619f087f1e0747d73c8d19ded (diff)
downloadbox64-c7c6880a019313545049eb9e1df6593242e8367c.tar.gz
box64-c7c6880a019313545049eb9e1df6593242e8367c.zip
[ARM64_DYNAREC] Added 67 64 8F opcode
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_6764_32.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_6764_32.c b/src/dynarec/arm64/dynarec_arm64_6764_32.c
index 27691e74..73a29a89 100644
--- a/src/dynarec/arm64/dynarec_arm64_6764_32.c
+++ b/src/dynarec/arm64/dynarec_arm64_6764_32.c
@@ -74,6 +74,19 @@ uintptr_t dynarec64_6764_32(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, in
             }
             break;
 
+        case 0x8F:
+            INST_NAME("POP Seg:Ed");
+            nextop=F8;
+            POP1_32(x1);
+            if(MODREG) {   // reg <= reg
+                MOVxw_REG(xRAX+(nextop&7)+(rex.b<<3), x1);
+            } else {                    // mem <= reg
+                grab_segdata(dyn, addr, ninst, x4, seg);
+                addr = geted16(dyn, addr, ninst, nextop, &ed, x2, &fixedaddress, NULL, 0, 0, 0);
+                STRw_REG(x1, ed, x4);
+            }
+            break;
+
         case 0xA1:
             INST_NAME("MOV EAX, Seg:[Od]");
             i32 = F16;