summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2013-06-14 23:27:01 -0700
committerMike Pavone <pavone@retrodev.com>2013-06-14 23:27:01 -0700
commit58a397213adf9fd4fdf5dc7322158ae1a5eaf61b (patch)
tree3ddf5c432f389b50cf7aa6edadd4c39a99312632
parenta26f6e7deefcfc4402b4469bf25bb716a4c8ba34 (diff)
Fix adc and sbc
-rw-r--r--z80_to_x86.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/z80_to_x86.c b/z80_to_x86.c
index 9030944..1e6cfdd 100644
--- a/z80_to_x86.c
+++ b/z80_to_x86.c
@@ -618,6 +618,7 @@ uint8_t * translate_z80inst(z80inst * inst, uint8_t * dst, z80_context * context
dst = zcycles(dst, cycles);
dst = translate_z80_reg(inst, &dst_op, dst, opts);
dst = translate_z80_ea(inst, &src_op, dst, opts, READ, DONT_MODIFY);
+ dst = bt_irdisp8(dst, 0, CONTEXT, zf_off(ZF_C), SZ_B);
if (src_op.mode == MODE_REG_DIRECT) {
dst = adc_rr(dst, src_op.base, dst_op.base, z80_size(inst));
} else {
@@ -668,6 +669,7 @@ uint8_t * translate_z80inst(z80inst * inst, uint8_t * dst, z80_context * context
dst = zcycles(dst, cycles);
dst = translate_z80_reg(inst, &dst_op, dst, opts);
dst = translate_z80_ea(inst, &src_op, dst, opts, READ, DONT_MODIFY);
+ dst = bt_irdisp8(dst, 0, CONTEXT, zf_off(ZF_C), SZ_B);
if (src_op.mode == MODE_REG_DIRECT) {
dst = sbb_rr(dst, src_op.base, dst_op.base, z80_size(inst));
} else {