This commit is contained in:
folkert van heusden 2023-03-19 18:30:28 +01:00
parent d703d38ea2
commit 658071b486
Signed by untrusted user who does not match committer: folkert
GPG key ID: 6B6455EDFEED3BD1

View file

@ -514,10 +514,13 @@ bool cpu::double_operand_instructions(const uint16_t instr)
} }
} }
else { else {
result = (g_dst.value.value() + g_ssrc.value.value()) & 0xffff; uint32_t temp = g_dst.value.value() + g_ssrc.value.value();
result = temp;
if (set_flags) { if (set_flags) {
setPSW_v((result ^ g_ssrc.value.value()) & (result ^ g_ssrc.value.value())); setPSW_v((temp ^ g_ssrc.value.value()) & (temp ^ g_dst.value.value()));
setPSW_v(SIGN((~g_ssrc.value.value() ^ g_dst.value.value()) & (g_ssrc.value.value() ^ (temp & 0xffff)), false));
setPSW_c(uint16_t(result) < uint16_t(g_ssrc.value.value())); setPSW_c(uint16_t(result) < uint16_t(g_ssrc.value.value()));
} }
} }