diff --git a/InstructionSets/M68k/Implementation/PerformImplementation.hpp b/InstructionSets/M68k/Implementation/PerformImplementation.hpp index 9a07b31f5..f151393c2 100644 --- a/InstructionSets/M68k/Implementation/PerformImplementation.hpp +++ b/InstructionSets/M68k/Implementation/PerformImplementation.hpp @@ -1176,6 +1176,22 @@ template < #undef set_neg_zero_overflow #undef set_neg_zero + case Operation::MOVEPl: + if(instruction.mode<0>() == AddressingMode::DataRegisterDirect) { + flow_controller.template movep_fromR(src.l, dest.l); + } else { + flow_controller.template movep_toR(src.l, dest.l); + } + break; + + case Operation::MOVEPw: + if(instruction.mode<0>() == AddressingMode::DataRegisterDirect) { + flow_controller.template movep_fromR(src.l, dest.l); + } else { + flow_controller.template movep_toR(src.l, dest.l); + } + break; + /* RTE and RTR share an implementation. */ diff --git a/InstructionSets/M68k/Instruction.hpp b/InstructionSets/M68k/Instruction.hpp index 591ffacef..bc2b0ccfb 100644 --- a/InstructionSets/M68k/Instruction.hpp +++ b/InstructionSets/M68k/Instruction.hpp @@ -264,6 +264,7 @@ template uint8_t ope // case Operation::PEA: case Operation::JMP: case Operation::JSR: + case Operation::MOVEPw: case Operation::MOVEPl: return 0; //