1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-04 18:29:40 +00:00

Decode MOVE from CCR.

This commit is contained in:
Thomas Harte 2022-10-26 12:39:40 -04:00
parent 4e5a80e23a
commit c1f0eed0a3
2 changed files with 15 additions and 0 deletions

View File

@ -502,6 +502,11 @@ template <typename Predecoder<model>::OpT op> uint32_t Predecoder<model>::invali
return ~OneOperandMask<
Imm
>::value;
case OpT(Operation::MOVEfromCCR):
return ~OneOperandMask<
AlterableAddressingModesNoAn
>::value;
}
//
@ -992,6 +997,12 @@ template <typename Predecoder<model>::OpT op, bool validate> Preinstruction Pred
//
case OpT(Operation::RTD):
return validated<op, validate>(AddressingMode::ImmediateData);
//
// MARK: MOVE from CCR.
//
case OpT(Operation::MOVEfromCCR):
return validated<op, validate>(combined_mode(ea_mode, ea_register), ea_register);
}
//
@ -1357,6 +1368,9 @@ Preinstruction Predecoder<model>::decode4(uint16_t instruction) {
// 4-94 (p198)
case 0xc40: DecodeReq(model >= Model::M68020, Op::DIVSl);
// 4-121 (p225)
case 0x2c0: DecodeReq(model >= Model::M68010, Op::MOVEfromCCR);
default: break;
}

View File

@ -102,6 +102,7 @@ const char *_to_string(Operation operation, bool is_quick) {
case Operation::MOVEtoSR: return "MOVEtoSR";
case Operation::MOVEfromSR: return "MOVEfromSR";
case Operation::MOVEtoCCR: return "MOVEtoCCR";
case Operation::MOVEfromCCR: return "MOVEfromCCR";
case Operation::MOVEtoUSP: return "MOVEtoUSP";
case Operation::MOVEfromUSP: return "MOVEfromUSP";