Mercurial > repos > blastem
comparison z80_to_x86.c @ 257:4c7933444df4
Implement CCF and SCF
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 29 Apr 2013 23:02:39 -0700 |
parents | 572b935dd030 |
children | d9417261366f |
comparison
equal
deleted
inserted
replaced
256:ce7ce2b9c2df | 257:4c7933444df4 |
---|---|
696 dst = z80_save_reg(dst, inst, opts); | 696 dst = z80_save_reg(dst, inst, opts); |
697 dst = z80_save_ea(dst, inst, opts); | 697 dst = z80_save_ea(dst, inst, opts); |
698 break; | 698 break; |
699 /*case Z80_DAA: | 699 /*case Z80_DAA: |
700 case Z80_CPL: | 700 case Z80_CPL: |
701 case Z80_NEG: | 701 case Z80_NEG:*/ |
702 case Z80_CCF: | 702 case Z80_CCF: |
703 case Z80_SCF:*/ | 703 dst = zcycles(dst, 4); |
704 dst = xor_irdisp8(dst, 1, CONTEXT, zf_off(ZF_C), SZ_B); | |
705 dst = mov_irdisp8(dst, 0, CONTEXT, zf_off(ZF_N), SZ_B); | |
706 //TODO: Implement half-carry flag | |
707 break; | |
708 case Z80_SCF: | |
709 dst = zcycles(dst, 4); | |
710 dst = mov_irdisp8(dst, 1, CONTEXT, zf_off(ZF_C), SZ_B); | |
711 dst = mov_irdisp8(dst, 0, CONTEXT, zf_off(ZF_N), SZ_B); | |
712 //TODO: Implement half-carry flag | |
713 break; | |
704 case Z80_NOP: | 714 case Z80_NOP: |
705 if (inst->immed == 42) { | 715 if (inst->immed == 42) { |
706 dst = call(dst, (uint8_t *)z80_save_context); | 716 dst = call(dst, (uint8_t *)z80_save_context); |
707 dst = mov_rr(dst, CONTEXT, RDI, SZ_Q); | 717 dst = mov_rr(dst, CONTEXT, RDI, SZ_Q); |
708 dst = jmp(dst, (uint8_t *)z80_print_regs_exit); | 718 dst = jmp(dst, (uint8_t *)z80_print_regs_exit); |