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:
parent
78b60dbd1a
commit
a103f30d51
@ -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.
|
||||
//
|
||||
|
Loading…
x
Reference in New Issue
Block a user