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

Corrects address fetches for CMPI.l #, (xxx).w.

This commit is contained in:
Thomas Harte 2019-06-19 13:52:56 -04:00
parent ca83431e54
commit e26ddd0ed5
2 changed files with 5 additions and 5 deletions

View File

@ -291,10 +291,10 @@ template <class T, bool dtack_is_implicit, bool signal_will_perform> void Proces
#ifdef LOG_TRACE
const uint32_t fetched_pc = (program_counter_.full - 4)&0xffffff;
// should_log |= fetched_pc == 0x400BF6;
// should_log &= fetched_pc != 0x400BF8;
should_log |= fetched_pc == 0x401142;
should_log &= fetched_pc != 0x4011AA;
should_log = (fetched_pc >= 0x418CE8) && (fetched_pc <= 0x418EC2);
// should_log = (fetched_pc >= 0x408D66) && (fetched_pc <= 0x408D84);
#endif
if(instructions[decoded_instruction_.full].micro_operations) {

View File

@ -2211,8 +2211,8 @@ struct ProcessorStorageConstructor {
case l(XXXw): // CMPI.l #, (xxx).w
op(Action::None, seq("np"));
op(int(Action::AssembleLongWordDataFromPrefetch) | MicroOp::SourceMask, seq("np np"));
op(int(Action::AssembleWordAddressFromPrefetch) | MicroOp::DestinationMask, seq("nRd+ nrd np", { ea(1), ea(1) }));
op(int(Action::AssembleLongWordDataFromPrefetch) | MicroOp::SourceMask, seq("np"));
op(int(Action::AssembleWordAddressFromPrefetch) | MicroOp::DestinationMask, seq("np nRd+ nrd np", { ea(1), ea(1) }));
op(Action::PerformOperation);
break;