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);