Mercurial > repos > blastem
comparison z80_to_x86.c @ 311:56fcbfb8767a
Set the N flag to the correct value for DEC instructions
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 09 May 2013 00:33:06 -0700 |
parents | bf440db64086 |
children | cf7ecda060c7 |
comparison
equal
deleted
inserted
replaced
310:bf440db64086 | 311:56fcbfb8767a |
---|---|
804 if (dst_op.mode == MODE_UNUSED) { | 804 if (dst_op.mode == MODE_UNUSED) { |
805 dst = translate_z80_ea(inst, &dst_op, dst, opts, READ, MODIFY); | 805 dst = translate_z80_ea(inst, &dst_op, dst, opts, READ, MODIFY); |
806 } | 806 } |
807 dst = sub_ir(dst, 1, dst_op.base, z80_size(inst)); | 807 dst = sub_ir(dst, 1, dst_op.base, z80_size(inst)); |
808 if (z80_size(inst) == SZ_B) { | 808 if (z80_size(inst) == SZ_B) { |
809 dst = mov_irdisp8(dst, 0, CONTEXT, zf_off(ZF_N), SZ_B); | 809 dst = mov_irdisp8(dst, 1, CONTEXT, zf_off(ZF_N), SZ_B); |
810 //TODO: Implement half-carry flag | 810 //TODO: Implement half-carry flag |
811 dst = setcc_rdisp8(dst, CC_O, CONTEXT, zf_off(ZF_PV)); | 811 dst = setcc_rdisp8(dst, CC_O, CONTEXT, zf_off(ZF_PV)); |
812 dst = setcc_rdisp8(dst, CC_Z, CONTEXT, zf_off(ZF_Z)); | 812 dst = setcc_rdisp8(dst, CC_Z, CONTEXT, zf_off(ZF_Z)); |
813 dst = setcc_rdisp8(dst, CC_S, CONTEXT, zf_off(ZF_S)); | 813 dst = setcc_rdisp8(dst, CC_S, CONTEXT, zf_off(ZF_S)); |
814 } | 814 } |