1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-02-04 14:30:19 +00:00

Attempt to game out LEA, PEA. Add various special MOVEs.

This commit is contained in:
Thomas Harte 2022-04-29 14:43:58 -04:00
parent 78b60dbd1a
commit a103f30d51

View File

@ -23,6 +23,43 @@ template<Model model> uint16_t Sequence<model>::steps_for(Operation operation) {
// This handles a NOP, and not much else.
default: return 0;
//
// No operands that require fetching.
//
case Operation::LEA:
return Steps<
Step::Perform
>::value;
//
// No logic, custom bus activity required.
//
case Operation::PEA:
return Steps<
Step::SpecificBusActivity
>::value;
//
// Single operand, read.
//
case Operation::MOVEtoSR: case Operation::MOVEtoCCR: case Operation::MOVEtoUSP:
case Operation::ORItoSR: case Operation::ORItoCCR:
case Operation::ANDItoSR: case Operation::ANDItoCCR:
case Operation::EORItoSR: case Operation::EORItoCCR:
return Steps<
Step::FetchOp1,
Step::Perform
>::value;
//
// Single operand, write.
//
case Operation::MOVEfromSR: case Operation::MOVEfromUSP:
return Steps<
Step::Perform,
Step::StoreOp1
>::value;
//
// Single operand, read-modify-write.
//