1
0
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:
Thomas Harte 2024-02-26 15:12:39 -05:00
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) {}