mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-26 23:52:26 +00:00
Shuffle Step
to give meaning to the LSB.
This commit is contained in:
parent
52f355db24
commit
43cd740a7b
@ -15,22 +15,17 @@
|
|||||||
namespace InstructionSet {
|
namespace InstructionSet {
|
||||||
namespace M68k {
|
namespace M68k {
|
||||||
|
|
||||||
|
/// Additional guarantees: [Fetch/Store/CalcEA][1/2] have an LSB of 0 for
|
||||||
|
/// operand 1, and an LSB of 1 for operand 2.
|
||||||
enum class Step {
|
enum class Step {
|
||||||
/// No further steps remain.
|
/// No further steps remain.
|
||||||
Done,
|
Done,
|
||||||
|
/// Do the logical operation.
|
||||||
|
Perform,
|
||||||
/// Fetch the value of operand 1.
|
/// Fetch the value of operand 1.
|
||||||
FetchOp1,
|
FetchOp1,
|
||||||
/// Fetch the value of operand 2.
|
/// Fetch the value of operand 2.
|
||||||
FetchOp2,
|
FetchOp2,
|
||||||
/// Do the logical operation.
|
|
||||||
Perform,
|
|
||||||
/// A catch-all for bus activity that doesn't fit the pattern
|
|
||||||
/// of fetch/stop operand 1/2, e.g. this opaquely covers almost
|
|
||||||
/// the entirety of MOVEM.
|
|
||||||
///
|
|
||||||
/// TODO: list all operations that contain this step,
|
|
||||||
/// and to cover what activity.
|
|
||||||
SpecificBusActivity,
|
|
||||||
/// Store the value of operand 1.
|
/// Store the value of operand 1.
|
||||||
StoreOp1,
|
StoreOp1,
|
||||||
/// Store the value of operand 2.
|
/// Store the value of operand 2.
|
||||||
@ -39,8 +34,15 @@ enum class Step {
|
|||||||
CalcEA1,
|
CalcEA1,
|
||||||
/// Calculate effective address of operand 2.
|
/// Calculate effective address of operand 2.
|
||||||
CalcEA2,
|
CalcEA2,
|
||||||
|
/// A catch-all for bus activity that doesn't fit the pattern
|
||||||
|
/// of fetch/stop operand 1/2, e.g. this opaquely covers almost
|
||||||
|
/// the entirety of MOVEM.
|
||||||
|
///
|
||||||
|
/// TODO: list all operations that contain this step,
|
||||||
|
/// and to cover what activity.
|
||||||
|
SpecificBusActivity,
|
||||||
|
|
||||||
Max = CalcEA2
|
Max = SpecificBusActivity
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Indicates the abstract steps necessary to perform an operation,
|
/// Indicates the abstract steps necessary to perform an operation,
|
||||||
|
Loading…
Reference in New Issue
Block a user