mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-06 13:31:55 +00:00
Corrects EA selection logic, fixing MOVEP.
This commit is contained in:
parent
0a67cc3dab
commit
c4cbe9476c
@ -361,12 +361,11 @@ struct ProcessorStorageConstructor {
|
|||||||
|
|
||||||
step.microcycle.operation = Microcycle::SameAddress | (is_read ? Microcycle::Read : 0) | (read_full_words ? Microcycle::SelectWord : Microcycle::SelectByte);
|
step.microcycle.operation = Microcycle::SameAddress | (is_read ? Microcycle::Read : 0) | (read_full_words ? Microcycle::SelectWord : Microcycle::SelectByte);
|
||||||
if(post_adjustment) {
|
if(post_adjustment) {
|
||||||
// nr and nR should affect address 0; nw, nW, nrd and nRd should affect address 1.
|
assert((*address_iterator == &storage_.effective_address_[0].full) || (*address_iterator == &storage_.effective_address_[1].full));
|
||||||
if(tolower(access_pattern[1]) == 'r' && token_length == 2) {
|
if(*address_iterator == &storage_.effective_address_[0].full) {
|
||||||
step.action = (post_adjustment > 0) ? Action::IncrementEffectiveAddress0 : Action::DecrementEffectiveAddress0;
|
step.action = (post_adjustment > 0) ? Action::IncrementEffectiveAddress0 : Action::DecrementEffectiveAddress0;
|
||||||
} else {
|
} else {
|
||||||
step.action = (post_adjustment > 0) ? Action::IncrementEffectiveAddress1 : Action::DecrementEffectiveAddress1;
|
step.action = (post_adjustment > 0) ? Action::IncrementEffectiveAddress1 : Action::DecrementEffectiveAddress1;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
steps.push_back(step);
|
steps.push_back(step);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user