disassembler: Deduplicate SignStr

Also just makes it return a character, rather than a pointer to a
string.
This commit is contained in:
Lioncash
2016-08-23 10:50:06 -04:00
committed by MerryMage
parent 8bed891011
commit 867d345fdc
3 changed files with 10 additions and 15 deletions

View File

@@ -17,11 +17,6 @@ namespace Arm {
class DisassemblerVisitor {
public:
template<typename T>
const char* SignStr(T value) {
return value >= 0 ? "+" : "-";
}
std::string thumb16_LSL_imm(Imm5 imm5, Reg m, Reg d) {
return Common::StringFromFormat("lsls %s, %s, #%u", RegToString(d), RegToString(m), imm5);
}
@@ -308,12 +303,12 @@ public:
std::string thumb16_B_t1(Cond cond, Imm8 imm8) {
s32 imm32 = Common::SignExtend<9, s32>(imm8 << 1) + 4;
return Common::StringFromFormat("b%s %s#%u", CondToString(cond), SignStr(imm32), abs(imm32));
return Common::StringFromFormat("b%s %c#%u", CondToString(cond), Common::SignToChar(imm32), abs(imm32));
}
std::string thumb16_B_t2(Imm11 imm11) {
s32 imm32 = Common::SignExtend<12, s32>(imm11 << 1) + 4;
return Common::StringFromFormat("b %s#%u", SignStr(imm32), abs(imm32));
return Common::StringFromFormat("b %c#%u", Common::SignToChar(imm32), abs(imm32));
}
};