mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-26 08:49:37 +00:00
Correct timing of ADDQ.
This commit is contained in:
parent
35e73b77f4
commit
57aa8d2f17
@ -747,18 +747,25 @@ void Processor<BusHandler, dtack_is_implicit, permit_overrun, signal_will_perfor
|
||||
Duplicate(SUBb, ADDb) StdCASE(ADDb, perform_state_ = Perform_np)
|
||||
Duplicate(SUBw, ADDw) StdCASE(ADDw, perform_state_ = Perform_np)
|
||||
Duplicate(SUBl, ADDl) StdCASE(ADDl, {
|
||||
if(instruction_.mode(1) != Mode::DataRegisterDirect) {
|
||||
perform_state_ = Perform_np;
|
||||
if(instruction_.mode(0) == Mode::Quick) {
|
||||
perform_state_ = (
|
||||
instruction_.mode(1) == Mode::AddressRegisterDirect ||
|
||||
instruction_.mode(1) == Mode::DataRegisterDirect
|
||||
) ? Perform_np_nn : Perform_np;
|
||||
} else {
|
||||
switch(instruction_.mode(0)) {
|
||||
default:
|
||||
perform_state_ = Perform_np_n;
|
||||
break;
|
||||
case Mode::DataRegisterDirect:
|
||||
case Mode::AddressRegisterDirect:
|
||||
case Mode::ImmediateData:
|
||||
perform_state_ = Perform_np_nn;
|
||||
break;
|
||||
if(instruction_.mode(1) != Mode::DataRegisterDirect) {
|
||||
perform_state_ = Perform_np;
|
||||
} else {
|
||||
switch(instruction_.mode(0)) {
|
||||
default:
|
||||
perform_state_ = Perform_np_n;
|
||||
break;
|
||||
case Mode::DataRegisterDirect:
|
||||
case Mode::AddressRegisterDirect:
|
||||
case Mode::ImmediateData:
|
||||
perform_state_ = Perform_np_nn;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user