diff -r 47ee91579133 -r 835bd4559e5c c++/rgb-assembler/commands/IncrementDecrement.h --- a/c++/rgb-assembler/commands/IncrementDecrement.h Sun Dec 24 00:08:55 2017 +0100 +++ b/c++/rgb-assembler/commands/IncrementDecrement.h Sun Dec 24 00:12:58 2017 +0100 @@ -14,8 +14,9 @@ class IncrementDecrement : public Command { public: - IncrementDecrement(const bool increment) { + IncrementDecrement(const bool increment, octet_t change) { this->increment = increment; + this->change = change; } void process(octet_t* memory, address_t& index) override { @@ -23,12 +24,13 @@ address_t address_r = address; address_t address_w = address_r; octet_t value = read(memory, address_r); - value = increment ? value + 1 : value - 1; + value = increment ? value + change : value - change; write(memory, address_w, value); wprintf(L"%sCREMENT %*d → %02X\n", (increment ? "IN" : "DE"), 5, address, value); } private: bool increment; + octet_t change; };