1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-22 12:33:29 +00:00

Decode EXTB.l.

This commit is contained in:
Thomas Harte 2022-10-30 11:20:43 -04:00
parent 23e4a47f8b
commit 63ad2e8263
3 changed files with 27 additions and 10 deletions

View File

@ -601,6 +601,11 @@ template <typename Predecoder<model>::OpT op> uint32_t Predecoder<model>::invali
AllModesNoAn,
Dn
>::value;
case OpT(Operation::EXTbtol):
return ~OneOperandMask<
Dn
>::value;
}
return InvalidOperands;
@ -1234,6 +1239,14 @@ template <typename Predecoder<model>::OpT op, bool validate> Preinstruction Pred
combined_mode(ea_mode, ea_register), ea_register,
AddressingMode::DataRegisterDirect, data_register);
//
// MARK: EXTbtol
//
// b0b2: a data register.
//
case OpT(Operation::EXTbtol):
return validated<op, validate>(AddressingMode::DataRegisterDirect, ea_register);
//
// MARK: DIVl
//
@ -1415,12 +1428,15 @@ Preinstruction Predecoder<model>::decode4(uint16_t instruction) {
switch(instruction & 0xff8) {
case 0x840: Decode(Op::SWAP); // 4-185 (p289)
case 0x848: DecodeReq(model >= Model::M68010, Op::BKPT); // 4-54 (p158)
case 0x880: Decode(Op::EXTbtow); // 4-106 (p210)
case 0x8c0: Decode(Op::EXTwtol); // 4-106 (p210)
case 0xe58: Decode(Op::UNLINK); // 4-194 (p298)
case 0xe60: Decode(Op::MOVEtoUSP); // 6-21 (p475)
case 0xe68: Decode(Op::MOVEfromUSP); // 6-21 (p475)
// 4-106 (p210)
case 0x880: Decode(Op::EXTbtow);
case 0x8c0: Decode(Op::EXTwtol);
case 0x9c0: DecodeReq(model >= Model::M68020, Op::EXTbtol);
// 4-111 (p215)
case 0x808: DecodeReq(model >= Model::M68020, Op::LINKl);
case 0xe50: Decode(Op::LINKw);

View File

@ -261,6 +261,7 @@ const char *_to_string(Operation operation, bool is_quick) {
case Operation::EXTbtow: return "EXT.w";
case Operation::EXTwtol: return "EXT.l";
case Operation::EXTbtol: return "EXTB.l";
case Operation::LINKw: return "LINK";
case Operation::LINKl: return "LINK.l";

View File

@ -18879,14 +18879,14 @@
"49bd": "None",
"49be": "None",
"49bf": "None",
"49c0": "None",
"49c1": "None",
"49c2": "None",
"49c3": "None",
"49c4": "None",
"49c5": "None",
"49c6": "None",
"49c7": "None",
"49c0": "EXTB.l D0",
"49c1": "EXTB.l D1",
"49c2": "EXTB.l D2",
"49c3": "EXTB.l D3",
"49c4": "EXTB.l D4",
"49c5": "EXTB.l D5",
"49c6": "EXTB.l D6",
"49c7": "EXTB.l D7",
"49c8": "None",
"49c9": "None",
"49ca": "None",