diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/dynarec/arm64_printer.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/dynarec/arm64_printer.c b/src/dynarec/arm64_printer.c index adf4f6f6..46e1feae 100755 --- a/src/dynarec/arm64_printer.c +++ b/src/dynarec/arm64_printer.c @@ -121,17 +121,17 @@ const char* arm64_print(uint32_t opcode, uintptr_t addr) } // --- LDR / STR if(isMask(opcode, "f010100011iiiiiii22222nnnnnttttt", &a)) { - int offset = signExtend(imm, 9)<<(2+sf); + int offset = signExtend(imm, 7)<<(2+sf); snprintf(buff, sizeof(buff), "LDP %s, %s, [%s], %s0x%x", sf?Xt[Rt]:Wt[Rt], sf?Xt[Rt2]:Wt[Rt2], XtSp[Rn], (offset<0)?"-":"", abs(offset)); return buff; } if(isMask(opcode, "f010100111iiiiiii22222nnnnnttttt", &a)) { - int offset = signExtend(imm, 9)<<(2+sf); + int offset = signExtend(imm, 7)<<(2+sf); snprintf(buff, sizeof(buff), "LDP %s, %s, [%s, %s0x%x]!", sf?Xt[Rt]:Wt[Rt], sf?Xt[Rt2]:Wt[Rt2], XtSp[Rn], (offset<0)?"-":"", abs(offset)); return buff; } if(isMask(opcode, "f010100101iiiiiii22222nnnnnttttt", &a)) { - int offset = signExtend(imm, 9)<<(2+sf); + int offset = signExtend(imm, 7)<<(2+sf); if(!offset) snprintf(buff, sizeof(buff), "LDP %s, %s, [%s]", sf?Xt[Rt]:Wt[Rt], sf?Xt[Rt2]:Wt[Rt2], XtSp[Rn]); else @@ -139,17 +139,17 @@ const char* arm64_print(uint32_t opcode, uintptr_t addr) return buff; } if(isMask(opcode, "f010100010iiiiiii22222nnnnnttttt", &a)) { - int offset = signExtend(imm, 9)<<(2+sf); + int offset = signExtend(imm, 7)<<(2+sf); snprintf(buff, sizeof(buff), "STP %s, %s, [%s], %s0x%x", sf?Xt[Rt]:Wt[Rt], sf?Xt[Rt2]:Wt[Rt2], XtSp[Rn], (offset<0)?"-":"", abs(offset)); return buff; } if(isMask(opcode, "f010100110iiiiiii22222nnnnnttttt", &a)) { - int offset = signExtend(imm, 9)<<(2+sf); + int offset = signExtend(imm, 7)<<(2+sf); snprintf(buff, sizeof(buff), "STP %s, %s, [%s, %s0x%x]!", sf?Xt[Rt]:Wt[Rt], sf?Xt[Rt2]:Wt[Rt2], XtSp[Rn], (offset<0)?"-":"", abs(offset)); return buff; } if(isMask(opcode, "f010100100iiiiiii22222nnnnnttttt", &a)) { - int offset = signExtend(imm, 9)<<(2+sf); + int offset = signExtend(imm, 7)<<(2+sf); if(!offset) snprintf(buff, sizeof(buff), "STP %s, %s, [%s]", sf?Xt[Rt]:Wt[Rt], sf?Xt[Rt2]:Wt[Rt2], XtSp[Rn]); else |