diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-03-08 14:03:55 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-03-08 14:03:55 +0100 |
| commit | ad75da85028ceeeabc610fb3977f334f0f936706 (patch) | |
| tree | 9e1d82ac13dd0450f92722c1dd904f067d6562e3 /src | |
| parent | c7c6880a019313545049eb9e1df6593242e8367c (diff) | |
| download | box64-ad75da85028ceeeabc610fb3977f334f0f936706.tar.gz box64-ad75da85028ceeeabc610fb3977f334f0f936706.zip | |
[ARM64_DYNAREC] Added 67 64 8B 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 73a29a89..12f74409 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 0x8B: + INST_NAME("MOV Gd, Seg:Ed"); + nextop=F8; + GETGD; + if(MODREG) { // reg => reg + MOVxw_REG(gd, xRAX+(nextop&7)+(rex.b<<3)); + } else { // mem => reg + grab_segdata(dyn, addr, ninst, x4, seg); + addr = geted16(dyn, addr, ninst, nextop, &ed, x2, &fixedaddress, NULL, 0, 0, 0); + LDRw_REG(gd, ed, x4); + } + break; + case 0x8F: INST_NAME("POP Seg:Ed"); nextop=F8; |