mirror of
https://github.com/TomHarte/CLK.git
synced 2024-07-23 06:28:59 +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
|
// Either the micro-operations for this instruction have been exhausted, or
|
||||||
// no instruction was ongoing. Either way, do a standard instruction operation.
|
// 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
|
#ifdef LOG_TRACE
|
||||||
std::cout << std::setfill('0');
|
std::cout << std::setfill('0');
|
||||||
std::cout << (extend_flag_ ? 'x' : '-') << (negative_flag_ ? 'n' : '-') << (zero_result_ ? '-' : 'z');
|
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;
|
auto bus_program = active_micro_op_->bus_program;
|
||||||
switch(active_micro_op_->action) {
|
switch(active_micro_op_->action) {
|
||||||
|
Loading…
Reference in New Issue
Block a user