summaryrefslogtreecommitdiff
path: root/m68k_to_x86.c
diff options
context:
space:
mode:
Diffstat (limited to 'm68k_to_x86.c')
-rw-r--r--m68k_to_x86.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/m68k_to_x86.c b/m68k_to_x86.c
index cb29a83..c8d9432 100644
--- a/m68k_to_x86.c
+++ b/m68k_to_x86.c
@@ -2640,6 +2640,7 @@ uint8_t * translate_shift(uint8_t * dst, m68kinst * inst, x86_ea *src_op, x86_ea
} else {
dst = shift_irdisp8(dst, src_op->disp, dst_op->base, dst_op->disp, inst->extra.size);
}
+ dst = setcc_r(dst, CC_O, FLAG_V);
}
} else {
if (src_op->base != RCX) {
@@ -3432,7 +3433,11 @@ uint8_t * translate_m68k(uint8_t * dst, m68kinst * inst, x86_68k_options * opts)
}
}
break;
- /*case M68K_RESET:*/
+ case M68K_RESET:
+ dst = call(dst, (uint8_t *)m68k_save_context);
+ dst = mov_rr(dst, CONTEXT, RDI, SZ_Q);
+ dst = call(dst, (uint8_t *)print_regs_exit);
+ break;
case M68K_ROL:
case M68K_ROR:
dst = mov_ir(dst, 0, FLAG_V, SZ_B);