NEGB carry-flag fix
This commit is contained in:
parent
a6710ad0ff
commit
8e9c4d3eb0
1 changed files with 2 additions and 2 deletions
4
cpu.cpp
4
cpu.cpp
|
@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue