sim: bugfix for overflow and so ...
[calu.git] / 3c_disasm / instr / subi.cpp
index 701599c3323c84108c848c3ae34cb3c19ebc2960..d264ee3d0c819ddca9445712d2c46d35ce433565 100644 (file)
@@ -66,7 +66,7 @@ void Csubi::execInstr()
        CDatd reg = ra - this->m_imm;
        this->m_cpu->setRegister(m_rd, reg);
        if(!this->m_d) {
-               this->m_cpu->updateFlags(reg, ra, this->m_imm);
+               this->m_cpu->updateFlags(reg, ra, (~this->m_imm)+1);
        }
 }