c++/rgb-assembler/commands/IncrementDecrement.h
changeset 27 835bd4559e5c
parent 26 47ee91579133
child 29 10d6964e7b4a
     1.1 --- a/c++/rgb-assembler/commands/IncrementDecrement.h	Sun Dec 24 00:08:55 2017 +0100
     1.2 +++ b/c++/rgb-assembler/commands/IncrementDecrement.h	Sun Dec 24 00:12:58 2017 +0100
     1.3 @@ -14,8 +14,9 @@
     1.4  class IncrementDecrement : public Command {
     1.5  public:
     1.6  
     1.7 -	IncrementDecrement(const bool increment) {
     1.8 +	IncrementDecrement(const bool increment, octet_t change) {
     1.9  		this->increment = increment;
    1.10 +		this->change = change;
    1.11  	}
    1.12  
    1.13  	void process(octet_t* memory, address_t& index) override {
    1.14 @@ -23,12 +24,13 @@
    1.15  		address_t address_r = address;
    1.16  		address_t address_w = address_r;
    1.17  		octet_t value = read<octet_t>(memory, address_r);
    1.18 -		value = increment ? value + 1 : value - 1;
    1.19 +		value = increment ? value + change : value - change;
    1.20  		write<octet_t>(memory, address_w, value);
    1.21  		wprintf(L"%sCREMENT %*d → %02X\n", (increment ? "IN" : "DE"), 5, address, value);
    1.22  	}
    1.23  private:
    1.24  	bool increment;
    1.25 +	octet_t change;
    1.26  
    1.27  };
    1.28