src/machine_address_transfer.cpp
void Computer::executeDECi(const InstructionWord& instruction) {
    int registerIndex = instruction.operation() - Instructions::INC1 + 1;
    auto& rIi = rI(registerIndex);
    int16_t value = rIi.value();
    int16_t address = getIndexedAddress(instruction);
    value -= address;
    rIi.set(checkRange(value, 2));
}
/** Decrease rI by the address value. */
Decrease rI by the address value.
Decrease rI by the address value .
void Computer::executeDECi(const InstructionWord& instruction) {
    int registerIndex = instruction.operation() - Instructions::INC1 + 1;
    auto& rIi = rI(registerIndex);
    int16_t value = rIi.value();
    int16_t address = getIndexedAddress(instruction);
    value -= address;
    rIi.set(checkRange(value, 2));
}
void Computer :: executeDECi ( const InstructionWord & instruction ) { int registerIndex = instruction . operation ( ) - Instructions :: INC1 + 1 ; auto & rIi = rI ( registerIndex ) ; int16_t value = rIi . value ( ) ; int16_t address = getIndexedAddress ( instruction ) ; value -= address ; rIi . set ( checkRange ( value , 2 ) ) ; }
Decrease rI by the address value.
Decrease rI by the address value .