# HG changeset patch # User Mike Pavone # Date 1374045825 25200 # Node ID 9ac3828ea5603f0616aead6d7a277d24b7327f66 # Parent 1a48b31f53169948c4cc4d1c02c110c7af79eeb8 Fix sign flag on swap diff -r 1a48b31f5316 -r 9ac3828ea560 m68k_to_x86.c --- a/m68k_to_x86.c Wed Jul 17 00:18:28 2013 -0700 +++ b/m68k_to_x86.c Wed Jul 17 00:23:45 2013 -0700 @@ -3840,9 +3840,12 @@ dst = cycles(dst, BUS); if (src_op.mode == MODE_REG_DIRECT) { dst = rol_ir(dst, 16, src_op.base, SZ_D); + dst = cmp_ir(dst, 0, src_op.base, SZ_D); } else{ dst = rol_irdisp8(dst, 16, src_op.base, src_op.disp, SZ_D); + dst = cmp_irdisp8(dst, 0, src_op.base, src_op.disp, SZ_D); } + dst = mov_ir(dst, 0, FLAG_C, SZ_B); dst = setcc_r(dst, CC_Z, FLAG_Z); dst = setcc_r(dst, CC_S, FLAG_N);