Add PC, SP, FLAGS status bar to Assembly tab.

This commit is contained in:
Ernie Pasveer
2022-12-24 15:42:07 -06:00
parent 225850dddf
commit e1320fafcf
7 changed files with 238 additions and 8 deletions
+12
View File
@@ -151,6 +151,7 @@ void SeerEditorManagerWidget::showAssembly () {
}
assemblyWidgetTab()->assemblyArea()->setAddress("$pc");
assemblyWidgetTab()->reloadRegisters();
}
SeerEditorWidgetAssembly* SeerEditorManagerWidget::assemblyWidgetTab () {
@@ -445,6 +446,7 @@ void SeerEditorManagerWidget::handleText (const QString& text) {
if (assemblyWidget) {
assemblyWidget->assemblyArea()->handleText(text);
assemblyWidget->handleText(text);
}
// Handle certain reasons uniquely.
@@ -584,6 +586,7 @@ void SeerEditorManagerWidget::handleText (const QString& text) {
if (assemblyWidget) {
assemblyWidget->assemblyArea()->handleText(text);
assemblyWidget->handleText(text);
}
}else if (text.startsWith("^done,asm_insns=")) {
@@ -593,6 +596,7 @@ void SeerEditorManagerWidget::handleText (const QString& text) {
if (assemblyWidget) {
assemblyWidget->assemblyArea()->handleText(text);
assemblyWidget->handleText(text);
}
}else if (text.startsWith("^error,msg=\"No registers.\"")) {
@@ -619,6 +623,13 @@ void SeerEditorManagerWidget::handleText (const QString& text) {
static_cast<SeerEditorWidgetSource*>(w)->sourceArea()->handleText(text);
}
SeerEditorWidgetAssembly* assemblyWidget = assemblyWidgetTab();
if (assemblyWidget) {
assemblyWidget->assemblyArea()->handleText(text);
assemblyWidget->handleText(text);
}
}else if (text.contains(QRegExp("^([0-9]+)\\^error,msg="))) {
// 12^error,msg="No symbol \"return\" in current context."
@@ -940,6 +951,7 @@ SeerEditorWidgetAssembly* SeerEditorManagerWidget::createAssemblyWidgetTab () {
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::addMemoryVisualize, this, &SeerEditorManagerWidget::handleAddMemoryVisualizer);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::addArrayVisualize, this, &SeerEditorManagerWidget::handleAddArrayVisualizer);
QObject::connect(assemblyWidget->assemblyArea(), &SeerEditorWidgetAssemblyArea::addStructVisualize, this, &SeerEditorManagerWidget::handleAddStructVisualizer);
QObject::connect(assemblyWidget, &SeerEditorWidgetAssembly::evaluateVariableExpression, this, &SeerEditorManagerWidget::handleEvaluateVariableExpression);
// Load the file.
assemblyWidget->assemblyArea()->setPlainText("");