Mercurial > repos > blastem
comparison z80_to_x86.c @ 309:cb6a37861e42
Correctly set the N flag for SBC
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 09 May 2013 00:17:12 -0700 |
parents | e0e81551fd7e |
children | bf440db64086 |
comparison
equal
deleted
inserted
replaced
308:e0e81551fd7e | 309:cb6a37861e42 |
---|---|
646 dst = sbb_rr(dst, src_op.base, dst_op.base, z80_size(inst)); | 646 dst = sbb_rr(dst, src_op.base, dst_op.base, z80_size(inst)); |
647 } else { | 647 } else { |
648 dst = sbb_ir(dst, src_op.disp, dst_op.base, z80_size(inst)); | 648 dst = sbb_ir(dst, src_op.disp, dst_op.base, z80_size(inst)); |
649 } | 649 } |
650 dst = setcc_rdisp8(dst, CC_C, CONTEXT, zf_off(ZF_C)); | 650 dst = setcc_rdisp8(dst, CC_C, CONTEXT, zf_off(ZF_C)); |
651 dst = mov_irdisp8(dst, 0, CONTEXT, zf_off(ZF_N), SZ_B); | 651 dst = mov_irdisp8(dst, 1, CONTEXT, zf_off(ZF_N), SZ_B); |
652 //TODO: Implement half-carry flag | 652 //TODO: Implement half-carry flag |
653 dst = setcc_rdisp8(dst, CC_O, CONTEXT, zf_off(ZF_PV)); | 653 dst = setcc_rdisp8(dst, CC_O, CONTEXT, zf_off(ZF_PV)); |
654 dst = setcc_rdisp8(dst, CC_Z, CONTEXT, zf_off(ZF_Z)); | 654 dst = setcc_rdisp8(dst, CC_Z, CONTEXT, zf_off(ZF_Z)); |
655 dst = setcc_rdisp8(dst, CC_S, CONTEXT, zf_off(ZF_S)); | 655 dst = setcc_rdisp8(dst, CC_S, CONTEXT, zf_off(ZF_S)); |
656 dst = z80_save_reg(dst, inst, opts); | 656 dst = z80_save_reg(dst, inst, opts); |