diff options
Diffstat (limited to 'qtmips_gui/mainwindow.cpp')
| -rw-r--r-- | qtmips_gui/mainwindow.cpp | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/qtmips_gui/mainwindow.cpp b/qtmips_gui/mainwindow.cpp index 90d6911..c4f57f5 100644 --- a/qtmips_gui/mainwindow.cpp +++ b/qtmips_gui/mainwindow.cpp @@ -151,12 +151,26 @@ void MainWindow::create_core(const machine::MachineConfig &config) {      // Connect signal from break to machine pause      connect(machine->core(), SIGNAL(stop_on_exception_reached()), machine, SLOT(pause())); +      // Setup docks      registers->setup(machine);      program->setup(machine);      memory->setup(machine);      cache_program->setup(machine->cache_program());      cache_data->setup(machine->cache_data()); + +    // Connect signals for instruction address followup +    connect(machine->core(), SIGNAL(fetch_inst_addr_value(std::uint32_t)), +            program, SLOT(fetch_inst_addr(std::uint32_t))); +    connect(machine->core(), SIGNAL(decode_inst_addr_value(std::uint32_t)), +            program, SLOT(decode_inst_addr(std::uint32_t))); +    connect(machine->core(), SIGNAL(execute_inst_addr_value(std::uint32_t)), +            program, SLOT(execute_inst_addr(std::uint32_t))); +    connect(machine->core(), SIGNAL(memory_inst_addr_value(std::uint32_t)), +            program, SLOT(memory_inst_addr(std::uint32_t))); +    connect(machine->core(), SIGNAL(writeback_inst_addr_value(std::uint32_t)), +            program, SLOT(writeback_inst_addr(std::uint32_t))); +      // Set status to ready      machine_status(machine::QtMipsMachine::ST_READY);  }  | 
