mirror of
https://github.com/TomHarte/CLK.git
synced 2024-12-25 18:30:21 +00:00
Implements support for the trace flag.
This commit is contained in:
parent
d6e16d0042
commit
3e34ae67f6
@ -120,7 +120,12 @@ template <class T, bool dtack_is_implicit, bool signal_will_perform> void Proces
|
||||
// Either the micro-operations for this instruction have been exhausted, or
|
||||
// no instruction was ongoing. Either way, do a standard instruction operation.
|
||||
|
||||
// TODO: unless an interrupt is pending, or the trap flag is set.
|
||||
// TODO: is an interrupt pending?
|
||||
if(trace_flag_) {
|
||||
active_program_ = nullptr;
|
||||
active_micro_op_ = exception_micro_ops_;
|
||||
populate_trap_steps(9, get_status());
|
||||
} else {
|
||||
#ifdef LOG_TRACE
|
||||
std::cout << std::setfill('0');
|
||||
std::cout << (extend_flag_ ? 'x' : '-') << (negative_flag_ ? 'n' : '-') << (zero_result_ ? '-' : 'z');
|
||||
@ -160,6 +165,7 @@ template <class T, bool dtack_is_implicit, bool signal_will_perform> void Proces
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
auto bus_program = active_micro_op_->bus_program;
|
||||
switch(active_micro_op_->action) {
|
||||
|
Loading…
Reference in New Issue
Block a user