diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-24 14:52:27 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-24 14:52:27 +0100 |
| commit | ce51207e44646add90c703cd172f2e88d5876402 (patch) | |
| tree | ce08e183f8de6ba21c8590fb6af4e9d05955aea9 | |
| parent | a3dcaf42847ef2fb67904474e02a05445e3b8a39 (diff) | |
| download | box64-ce51207e44646add90c703cd172f2e88d5876402.tar.gz box64-ce51207e44646add90c703cd172f2e88d5876402.zip | |
[DYNAREC] Added 64 89 opcodes
| -rw-r--r-- | src/dynarec/dynarec_arm64_64.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/dynarec/dynarec_arm64_64.c b/src/dynarec/dynarec_arm64_64.c index 434cc2c3..6a0735ff 100644 --- a/src/dynarec/dynarec_arm64_64.c +++ b/src/dynarec/dynarec_arm64_64.c @@ -57,6 +57,19 @@ uintptr_t dynarec64_64(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin emit_xor32(dyn, ninst, rex, gd, ed, x3, x4); break; + case 0x89: + INST_NAME("MOV FS:Ed, Gd"); + grab_segdata(dyn, addr, ninst, x4, _FS); + nextop=F8; + GETGD; + if(MODREG) { // reg <= reg + MOVxw_REG(xRAX+(nextop&7)+(rex.b<<3), gd); + } else { // mem <= reg + addr = geted(dyn, addr, ninst, nextop, &ed, x2, &fixedaddress, 0, 0, rex, 0, 0); + STRxw_REG(gd, ed, x4); + } + break; + case 0x8B: INST_NAME("MOV Gd, FS:Ed"); grab_segdata(dyn, addr, ninst, x4, _FS); |