mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-26 23:52:26 +00:00
Update interface.
This commit is contained in:
parent
645152a1fd
commit
9b42d35d56
@ -443,7 +443,7 @@ struct OperationMapper {
|
|||||||
|
|
||||||
// Software interreupt; cf. p.35.
|
// Software interreupt; cf. p.35.
|
||||||
if constexpr (((partial >> 24) & 0b1111) == 0b1111) {
|
if constexpr (((partial >> 24) & 0b1111) == 0b1111) {
|
||||||
scheduler.software_interrupt(condition);
|
scheduler.software_interrupt();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -502,16 +502,16 @@ struct SampleScheduler {
|
|||||||
// (2) An operation-specific encapsulation of the operation code for decoding of fields that didn't
|
// (2) An operation-specific encapsulation of the operation code for decoding of fields that didn't
|
||||||
// fit into the template parameters.
|
// fit into the template parameters.
|
||||||
template <Flags> void perform(DataProcessing);
|
template <Flags> void perform(DataProcessing);
|
||||||
template <Operation, Flags> void perform(Condition, Multiply);
|
template <Flags> void perform(Multiply);
|
||||||
template <Operation, Flags> void perform(Condition, SingleDataTransfer);
|
template <Operation, Flags> void perform(Condition, SingleDataTransfer);
|
||||||
template <Operation, Flags> void perform(Condition, BlockDataTransfer);
|
template <Operation, Flags> void perform(Condition, BlockDataTransfer);
|
||||||
template <Operation> void perform(Condition, Branch);
|
template <Flags> void perform(Branch);
|
||||||
template <Operation, Flags> void perform(Condition, CoprocessorRegisterTransfer);
|
template <Operation, Flags> void perform(Condition, CoprocessorRegisterTransfer);
|
||||||
template <Flags> void perform(Condition, CoprocessorDataOperation);
|
template <Flags> void perform(Condition, CoprocessorDataOperation);
|
||||||
template<Operation, Flags> void perform(Condition, CoprocessorDataTransfer);
|
template<Operation, Flags> void perform(Condition, CoprocessorDataTransfer);
|
||||||
|
|
||||||
// Irregular operations.
|
// Irregular operations.
|
||||||
void software_interrupt(Condition);
|
void software_interrupt();
|
||||||
void unknown(uint32_t opcode);
|
void unknown(uint32_t opcode);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -317,7 +317,7 @@ struct Scheduler {
|
|||||||
template <Flags> void perform(Condition, CoprocessorDataOperation) {}
|
template <Flags> void perform(Condition, CoprocessorDataOperation) {}
|
||||||
template<Operation, Flags> void perform(Condition, CoprocessorDataTransfer) {}
|
template<Operation, Flags> void perform(Condition, CoprocessorDataTransfer) {}
|
||||||
|
|
||||||
void software_interrupt(Condition) {}
|
void software_interrupt() {}
|
||||||
void unknown(uint32_t) {}
|
void unknown(uint32_t) {}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Loading…
Reference in New Issue
Block a user