7 #include "../Command.h"
14 class IncrementDecrement : public Command {
17 IncrementDecrement(const bool increment, octet_t change) {
18 this->increment = increment;
19 this->change = change;
22 void process(octet_t* memory, address_t& index) override {
23 address_t address = read<address_t>(memory, index);
24 address_t address_r = address;
25 address_t address_w = address_r;
26 octet_t value = read<octet_t>(memory, address_r);
27 value = increment ? value + change : value - change;
28 write<octet_t>(memory, address_w, value);
29 wprintf(L"%sCREMENT %*d → %02X\n", (increment ? "IN" : "DE"), 5, address, value);