diff options
Diffstat (limited to 'm68k_core.c')
-rw-r--r-- | m68k_core.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/m68k_core.c b/m68k_core.c index a39830b..c920768 100644 --- a/m68k_core.c +++ b/m68k_core.c @@ -796,6 +796,13 @@ void translate_m68k(m68k_options * opts, m68kinst * inst) { check_cycles_int(&opts->gen, inst->address); //log_address(&opts->gen, inst->address, "M68K: %X @ %d\n"); + if ( + (inst->src.addr_mode > MODE_AREG && inst->src.addr_mode < MODE_IMMEDIATE) + || (inst->dst.addr_mode > MODE_AREG && inst->dst.addr_mode < MODE_IMMEDIATE) + ) { + //Not accurate for all cases, but probably good enough for now + m68k_set_last_prefetch(opts, inst->address + inst->bytes); + } impl_info * info = m68k_impls + inst->op; if (info->itype == RAW_FUNC) { info->impl.raw(opts, inst); |