diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-03-08 13:55:00 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-03-08 13:55:00 +0100 |
| commit | c7c6880a019313545049eb9e1df6593242e8367c (patch) | |
| tree | 539d5631c5a2e1c90d446d07450be84df11acb15 /src | |
| parent | 5ed3ef918dcdab1619f087f1e0747d73c8d19ded (diff) | |
| download | box64-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.c | 13 |
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; |