Merge pull request #9980 from Pokechu22/dsp-disassembly-lsr-asr

DSPDisassembler: Fix LSR/ASR formatting
This commit is contained in:
Tilka 2021-07-31 21:30:17 +01:00 committed by GitHub
commit 71bf9d622a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 2 deletions

View File

@ -105,8 +105,9 @@ std::string DSPDisassembler::DisassembleParameters(const DSPOPCTemplate& opc, u1
// LSL, LSR, ASL, ASR // LSL, LSR, ASL, ASR
if (opc.params[j].mask == 0x003f) if (opc.params[j].mask == 0x003f)
{ {
// 6-bit sign extension // Left and right shifts function essentially as a single shift by a 7-bit signed value,
buf += fmt::format("#{}", (val & 0x20) != 0 ? (val | 0xFFFFFFC0) : val); // but are split into two intructions for clarity.
buf += fmt::format("#{}", (val & 0x20) != 0 ? (64 - val) : val);
} }
else else
{ {