diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-01-29 14:44:18 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-01-29 14:46:36 +0100 |
| commit | 30b83f4f9c1cf2e5b62d1b59f9f301f6081d601d (patch) | |
| tree | a402a5746d4bffb4201b784834e366c6b6d1f798 | |
| parent | 265f969a44748a7341e00185c3be6db54ab1ec23 (diff) | |
| download | box64-30b83f4f9c1cf2e5b62d1b59f9f301f6081d601d.tar.gz box64-30b83f4f9c1cf2e5b62d1b59f9f301f6081d601d.zip | |
[ARM64_DYNAREC] Fixed 66 50-5F opcodes (helps Dave the Diver)
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_66.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_66.c b/src/dynarec/arm64/dynarec_arm64_66.c index fa35e7b6..5da501c2 100644 --- a/src/dynarec/arm64/dynarec_arm64_66.c +++ b/src/dynarec/arm64/dynarec_arm64_66.c @@ -355,7 +355,7 @@ uintptr_t dynarec64_66(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin case 0x56: case 0x57: INST_NAME("PUSH reg"); - gd = xRAX+(opcode&0x07); + gd = xRAX+(opcode&0x07)+(rex.b<<3); if (gd==xRSP) { MOVw_REG(x1, xRSP); PUSH1_16(x1); @@ -372,7 +372,7 @@ uintptr_t dynarec64_66(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin case 0x5E: case 0x5F: INST_NAME("POP reg"); - gd = xRAX+(opcode&0x07); + gd = xRAX+(opcode&0x07)+(rex.b<<3); POP1_16(x1); BFIw(gd, x1, 0, 16); break; |