From e30a02a0c030d544c8b01dad0300b227212c7db8 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Tue, 19 Apr 2022 16:57:46 -0400 Subject: [PATCH] Better log MOVEs. --- Processors/68000/Implementation/68000Storage.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Processors/68000/Implementation/68000Storage.cpp b/Processors/68000/Implementation/68000Storage.cpp index a3bdcc497..70d38a1ba 100644 --- a/Processors/68000/Implementation/68000Storage.cpp +++ b/Processors/68000/Implementation/68000Storage.cpp @@ -3082,14 +3082,16 @@ struct ProcessorStorageConstructor { // ... there are also no byte moves from address registers. if(ea_mode == An && is_byte_access) continue; - // Perform the MOVE[A]'s fetch.. - const int combined_source_mode = combined_mode(ea_mode, ea_register, true); + // Perform the MOVE[A]'s fetch... + const int combined_source_mode = combined_mode(ea_mode, ea_register); dumper.set_source(combined_source_mode, ea_register); switch(is_long_word_access ? l(combined_source_mode) : bw(combined_source_mode)) { default: continue; case l(Dn): // MOVE[A].l [An/Dn], case bw(Dn): // MOVE[A].bw [An/Dn], + case l(An): // MOVE[A].l [An/Dn], + case bw(An): // MOVE[A].bw [An/Dn], break; case bw(PreDec): // MOVE[A].bw -(An), @@ -3153,7 +3155,9 @@ struct ProcessorStorageConstructor { // Perform the MOVE[A]'s store. const int combined_destination_mode = combined_mode(destination_mode, data_register, true); - dumper.set_dest(combined_destination_mode, data_register); + dumper.set_dest( + (combined_destination_mode == Dn && destination_mode == An) ? An : combined_destination_mode, + data_register); switch(is_long_word_access ? l(combined_destination_mode) : bw(combined_destination_mode)) { default: continue;