# HG changeset patch # User Mike Pavone # Date 1368083832 25200 # Node ID cb6a37861e42095dbc104c0e64c226afc21ce972 # Parent e0e81551fd7ebc1e0f93c3800da7136cce8490dd Correctly set the N flag for SBC diff -r e0e81551fd7e -r cb6a37861e42 z80_to_x86.c --- a/z80_to_x86.c Thu May 09 00:14:54 2013 -0700 +++ b/z80_to_x86.c Thu May 09 00:17:12 2013 -0700 @@ -648,7 +648,7 @@ dst = sbb_ir(dst, src_op.disp, dst_op.base, z80_size(inst)); } dst = setcc_rdisp8(dst, CC_C, CONTEXT, zf_off(ZF_C)); - dst = mov_irdisp8(dst, 0, CONTEXT, zf_off(ZF_N), SZ_B); + dst = mov_irdisp8(dst, 1, CONTEXT, zf_off(ZF_N), SZ_B); //TODO: Implement half-carry flag dst = setcc_rdisp8(dst, CC_O, CONTEXT, zf_off(ZF_PV)); dst = setcc_rdisp8(dst, CC_Z, CONTEXT, zf_off(ZF_Z));