diff --git a/Source/Core/Core/DSP/DSPDisassembler.cpp b/Source/Core/Core/DSP/DSPDisassembler.cpp index 91f9b8f593..6e833cdf16 100644 --- a/Source/Core/Core/DSP/DSPDisassembler.cpp +++ b/Source/Core/Core/DSP/DSPDisassembler.cpp @@ -108,7 +108,7 @@ std::string DSPDisassembler::DisassembleParameters(const DSPOPCTemplate& opc, u1 { // Left and right shifts function essentially as a single shift by a 7-bit signed value, // but are split into two intructions for clarity. - buf += fmt::format("#{}", (val & 0x20) != 0 ? (64 - val) : val); + buf += fmt::format("#{}", (val & 0x20) != 0 ? (int(val) - 64) : int(val)); } else {