mirror of
https://github.com/TomHarte/CLK.git
synced 2025-03-25 06:30:38 +00:00
Add notes on R15.
This commit is contained in:
parent
054a799699
commit
def69ce6d5
@ -53,12 +53,15 @@ void shift(ShiftType type, uint32_t &source, uint32_t amount, uint32_t *carry) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
struct Scheduler {
|
||||
template <Flags f> void perform(Condition condition, DataProcessing fields) {
|
||||
if(!status.test(condition)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: how does register 15 fit into all of below? As an operand or as a target?
|
||||
|
||||
constexpr DataProcessingFlags flags(f);
|
||||
auto &destination = registers_[fields.destination()];
|
||||
const auto &operand1 = registers_[fields.operand1()];
|
||||
@ -113,6 +116,8 @@ struct Scheduler {
|
||||
if constexpr (shift_sets_carry) {
|
||||
status.set_c(rotate_carry);
|
||||
}
|
||||
|
||||
// TODO: If register 15 was in use as a destination, write back and clean up.
|
||||
}
|
||||
|
||||
template <Operation, Flags> void perform(Condition, Multiply) {}
|
||||
|
Loading…
x
Reference in New Issue
Block a user