sim: bugfix for overflow and so ...
[calu.git] / 3c_disasm / instr / cmp.cpp
index 7924ed7511d97cefb550e6b416cb603b4c6acde8..b9b02bfef4b450de938a4f685ee0a669166552c9 100644 (file)
@@ -56,7 +56,7 @@ void Ccmp::execInstr()
        CDat ra = this->m_cpu->getRegister(m_ra);
        CDat rb = this->m_cpu->getRegister(m_rb);
        CDatd val = ra - rb;
-       this->m_cpu->updateFlags(val, ra, rb);
+       this->m_cpu->updateFlags(val, ra, (~rb)+1);
 }
 
 std::string Ccmp::toString()