diff options
Diffstat (limited to 'src/citra_qt/disasm.cpp')
-rw-r--r-- | src/citra_qt/disasm.cpp | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/src/citra_qt/disasm.cpp b/src/citra_qt/disasm.cpp index ddcbf69d8..5f3a6058a 100644 --- a/src/citra_qt/disasm.cpp +++ b/src/citra_qt/disasm.cpp @@ -5,13 +5,14 @@ #include "bootmanager.hxx" #include "hotkeys.hxx" -#include "common.h" -#include "mem_map.h" +#include "common/common.h" +#include "core/mem_map.h" -#include "core.h" -#include "break_points.h" -#include "arm/interpreter/armdefs.h" -#include "arm/disassembler/arm_disasm.h" +#include "core/core.h" +#include "common/break_points.h" +#include "common/symbols.h" +#include "core/arm/interpreter/armdefs.h" +#include "core/arm/disassembler/arm_disasm.h" GDisAsmView::GDisAsmView(QWidget* parent, EmuThread& emu_thread) : QDockWidget(parent), base_addr(0), emu_thread(emu_thread) { @@ -20,7 +21,7 @@ GDisAsmView::GDisAsmView(QWidget* parent, EmuThread& emu_thread) : QDockWidget(p breakpoints = new BreakPoints(); model = new QStandardItemModel(this); - model->setColumnCount(2); + model->setColumnCount(3); disasm_ui.treeView->setModel(model); RegisterHotkey("Disassembler", "Start/Stop", QKeySequence(Qt::Key_F5), Qt::ApplicationShortcut); @@ -43,7 +44,7 @@ void GDisAsmView::Init() { ARM_Disasm* disasm = new ARM_Disasm(); - base_addr = Core::g_app_core->PC(); + base_addr = Core::g_app_core->GetPC(); unsigned int curInstAddr = base_addr; char result[255]; @@ -52,6 +53,13 @@ void GDisAsmView::Init() disasm->disasm(curInstAddr, Memory::Read32(curInstAddr), result); model->setItem(i, 0, new QStandardItem(QString("0x%1").arg((uint)(curInstAddr), 8, 16, QLatin1Char('0')))); model->setItem(i, 1, new QStandardItem(QString(result))); + if (Symbols::HasSymbol(curInstAddr)) + { + TSymbol symbol = Symbols::GetSymbol(curInstAddr); + model->setItem(i, 2, new QStandardItem(QString("%1 - Size:%2").arg(QString::fromStdString(symbol.name)) + .arg(symbol.size / 4))); // divide by 4 to get instruction count + + } curInstAddr += 4; } disasm_ui.treeView->resizeColumnToContents(0); @@ -112,7 +120,7 @@ void GDisAsmView::OnToggleStartStop() void GDisAsmView::OnCPUStepped() { - ARMword next_instr = Core::g_app_core->PC(); + ARMword next_instr = Core::g_app_core->GetPC(); if (breakpoints->IsAddressBreakPoint(next_instr)) { |