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 }