Mercurial > repos > blastem
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); |