diff options
author | Michael Pavone <pavone@retrodev.com> | 2014-03-07 19:39:51 -0800 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2014-03-07 19:39:51 -0800 |
commit | b942d0f819a44a26b7c1235908e54d94bb723a47 (patch) | |
tree | d3ea856bca3131f8a9f43f28b7a88df79709d734 /m68k_core_x86.c | |
parent | 617f6c62ea109d2209e2b6fbdc150d279a1885cf (diff) |
Use swap_ssp_usp in translate_m68k_move_ccr_sr
Diffstat (limited to 'm68k_core_x86.c')
-rw-r--r-- | m68k_core_x86.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/m68k_core_x86.c b/m68k_core_x86.c index 5a6e058..7ffe1b8 100644 --- a/m68k_core_x86.c +++ b/m68k_core_x86.c @@ -2067,9 +2067,7 @@ void translate_m68k_move_ccr_sr(m68k_options *opts, m68kinst *inst, host_ea *src mov_irdisp(code, (src_op->disp >> 8), opts->gen.context_reg, offsetof(m68k_context, status), SZ_B); if (!((inst->src.params.immed >> 8) & (1 << BIT_SUPERVISOR))) { //leave supervisor mode - mov_rr(code, opts->aregs[7], opts->gen.scratch1, SZ_D); - mov_rdispr(code, opts->gen.context_reg, offsetof(m68k_context, aregs) + sizeof(uint32_t) * 8, opts->aregs[7], SZ_D); - mov_rrdisp(code, opts->gen.scratch1, opts->gen.context_reg, offsetof(m68k_context, aregs) + sizeof(uint32_t) * 8, SZ_D); + swap_ssp_usp(opts); } call(code, opts->do_sync); } @@ -2084,7 +2082,6 @@ void translate_m68k_move_ccr_sr(m68k_options *opts, m68kinst *inst, host_ea *src } call(code, inst->op == M68K_MOVE_SR ? opts->set_sr : opts->set_ccr); cycles(&opts->gen, 12); - } } |