1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-03 11:30:02 +00:00

Ensures A7 is correct at end of an UNLINK.

This commit is contained in:
Thomas Harte 2019-05-28 16:02:42 -04:00
parent 5e2496d59c
commit 3bb8d6717f

View File

@ -48,7 +48,7 @@ template <class T, bool dtack_is_implicit, bool signal_will_perform> void Proces
const HalfCycles remaining_duration = duration + half_cycles_left_to_run_;
#ifdef LOG_TRACE
static bool should_log = true;
static bool should_log = false;
#endif
// This loop counts upwards rather than downwards because it simplifies calculation of
@ -272,13 +272,9 @@ template <class T, bool dtack_is_implicit, bool signal_will_perform> void Proces
}
#ifdef LOG_TRACE
// should_log |= ((program_counter_.full - 4) == 0x405054);
// should_log |= ((program_counter_.full - 4) == 0x4058d8);
#endif
if(decoded_instruction_.full == 0x206f) {
printf("");
}
if(instructions[decoded_instruction_.full].micro_operations) {
if(instructions[decoded_instruction_.full].requires_supervisor && !is_supervisor_) {
// A privilege violation has been detected.
@ -1368,7 +1364,7 @@ template <class T, bool dtack_is_implicit, bool signal_will_perform> void Proces
break;
case Operation::UNLINK:
address_[7].full = effective_address_[1].full;
address_[7].full = effective_address_[1].full + 2;
active_program_->destination->full = destination_bus_data_[0].full;
break;