Implement the disassembly mode too

This commit is contained in:
Henrik Rydgård committed 2025-01-09 13:35:29 +01:00
1 parent 08d251b5bc
commit 23954f5403
8 files changed
+119 -143

No files matched your search

+1 -27
View File
@@ -53,33 +53,7 @@ bool ImDisasmView::getDisasmAddressText(u32 address, char* dest, bool abbreviate
if (!PSP_IsInited())
return false;
if (displaySymbols_) {
const std::string addressSymbol = g_symbolMap->GetLabelString(address);
if (!addressSymbol.empty()) {
for (int k = 0; addressSymbol[k] != 0; k++) {
// abbreviate long names
if (abbreviateLabels && k == 16 && addressSymbol[k + 1] != 0) {
*dest++ = '+';
break;
}
*dest++ = addressSymbol[k];
}
*dest++ = ':';
*dest = 0;
return true;
} else {
sprintf(dest, " %08X", address);
return false;
}
} else {
if (showData) {
u32 encoding = Memory::IsValidAddress(address) ? Memory::Read_Instruction(address, true).encoding : 0;
sprintf(dest, "%08X %08X", address, encoding);
} else {
sprintf(dest, "%08X", address);
}
return false;
}
return GetDisasmAddressText(address, dest, abbreviateLabels, showData, displaySymbols_);
}
void ImDisasmView::assembleOpcode(u32 address, const std::string &defaultText) {