NEGB carry-flag fix

This commit is contained in:
Folkert van Heusden 2025-04-04 23:56:01 +02:00
parent a6710ad0ff
commit 8e9c4d3eb0
Signed by untrusted user who does not match committer: folkert
GPG key ID: 6B6455EDFEED3BD1

View file

@ -1120,7 +1120,7 @@ bool cpu::single_operand_instructions(const uint16_t instr)
setPSW_n(SIGN(v, word_mode)); setPSW_n(SIGN(v, word_mode));
setPSW_z(IS_0(v, word_mode)); setPSW_z(IS_0(v, word_mode));
setPSW_v(word_mode == wm_byte ? (v & 0xff) == 0x80 : v == 0x8000); setPSW_v(word_mode == wm_byte ? (v & 0xff) == 0x80 : v == 0x8000);
setPSW_c(v); setPSW_c(v & (word_mode == wm_byte ? 0xff : 0xffff));
set_register(dst_reg, v); set_register(dst_reg, v);
} }
@ -1135,7 +1135,7 @@ bool cpu::single_operand_instructions(const uint16_t instr)
setPSW_n(SIGN(v, word_mode)); setPSW_n(SIGN(v, word_mode));
setPSW_z(IS_0(v, word_mode)); setPSW_z(IS_0(v, word_mode));
setPSW_v(word_mode == wm_byte ? (v & 0xff) == 0x80 : v == 0x8000); setPSW_v(word_mode == wm_byte ? (v & 0xff) == 0x80 : v == 0x8000);
setPSW_c(v); setPSW_c(v & (word_mode == wm_byte ? 0xff : 0xffff));
} }
} }