comparison z80_to_x86.c @ 1056:47c748455365

Fixed bug introduced in NEG with addition of undocumented flags
author Michael Pavone <pavone@retrodev.com>
date Sat, 30 Jul 2016 14:03:25 -0700
parents ac4615d16226
children ff46d8fc2de8
comparison
equal deleted inserted replaced
1055:ac4615d16226 1056:47c748455365
1375 break; 1375 break;
1376 case Z80_NEG: 1376 case Z80_NEG:
1377 cycles(&opts->gen, num_cycles); 1377 cycles(&opts->gen, num_cycles);
1378 mov_rr(code, opts->regs[Z80_A], opts->gen.scratch2, SZ_B); 1378 mov_rr(code, opts->regs[Z80_A], opts->gen.scratch2, SZ_B);
1379 neg_r(code, opts->regs[Z80_A], SZ_B); 1379 neg_r(code, opts->regs[Z80_A], SZ_B);
1380 mov_rrdisp(code, dst_op.base, opts->gen.context_reg, zf_off(ZF_XY), SZ_B); 1380 mov_rrdisp(code, opts->regs[Z80_A], opts->gen.context_reg, zf_off(ZF_XY), SZ_B);
1381 setcc_rdisp(code, CC_Z, opts->gen.context_reg, zf_off(ZF_Z)); 1381 setcc_rdisp(code, CC_Z, opts->gen.context_reg, zf_off(ZF_Z));
1382 setcc_rdisp(code, CC_S, opts->gen.context_reg, zf_off(ZF_S)); 1382 setcc_rdisp(code, CC_S, opts->gen.context_reg, zf_off(ZF_S));
1383 setcc_rdisp(code, CC_C, opts->gen.context_reg, zf_off(ZF_C)); 1383 setcc_rdisp(code, CC_C, opts->gen.context_reg, zf_off(ZF_C));
1384 setcc_rdisp(code, CC_O, opts->gen.context_reg, zf_off(ZF_PV)); 1384 setcc_rdisp(code, CC_O, opts->gen.context_reg, zf_off(ZF_PV));
1385 mov_irdisp(code, 1, opts->gen.context_reg, zf_off(ZF_N), SZ_B); 1385 mov_irdisp(code, 1, opts->gen.context_reg, zf_off(ZF_N), SZ_B);