comparison z80_to_x86.c @ 304:8dcc9d14413c

Set PV flag based on parity, not overflow for XOR
author Mike Pavone <pavone@retrodev.com>
date Wed, 08 May 2013 23:20:41 -0700
parents 8290d3086ff0
children a57fac5b3d65
comparison
equal deleted inserted replaced
303:8290d3086ff0 304:8dcc9d14413c
734 //TODO: Cleanup flags 734 //TODO: Cleanup flags
735 dst = setcc_rdisp8(dst, CC_C, CONTEXT, zf_off(ZF_C)); 735 dst = setcc_rdisp8(dst, CC_C, CONTEXT, zf_off(ZF_C));
736 dst = mov_irdisp8(dst, 0, CONTEXT, zf_off(ZF_N), SZ_B); 736 dst = mov_irdisp8(dst, 0, CONTEXT, zf_off(ZF_N), SZ_B);
737 //TODO: Implement half-carry flag 737 //TODO: Implement half-carry flag
738 if (z80_size(inst) == SZ_B) { 738 if (z80_size(inst) == SZ_B) {
739 dst = setcc_rdisp8(dst, CC_O, CONTEXT, zf_off(ZF_PV)); 739 dst = setcc_rdisp8(dst, CC_P, CONTEXT, zf_off(ZF_PV));
740 dst = setcc_rdisp8(dst, CC_Z, CONTEXT, zf_off(ZF_Z)); 740 dst = setcc_rdisp8(dst, CC_Z, CONTEXT, zf_off(ZF_Z));
741 dst = setcc_rdisp8(dst, CC_S, CONTEXT, zf_off(ZF_S)); 741 dst = setcc_rdisp8(dst, CC_S, CONTEXT, zf_off(ZF_S));
742 } 742 }
743 dst = z80_save_reg(dst, inst, opts); 743 dst = z80_save_reg(dst, inst, opts);
744 dst = z80_save_ea(dst, inst, opts); 744 dst = z80_save_ea(dst, inst, opts);