# HG changeset patch # User Michael Pavone # Date 1394249991 28800 # Node ID 82aadd5d103ab1e6abeb82d6501e47fb8e89f8d1 # Parent b6713c1b6f55430da514c967ebb1910c018a39af Use swap_ssp_usp in translate_m68k_move_ccr_sr diff -r b6713c1b6f55 -r 82aadd5d103a m68k_core_x86.c --- a/m68k_core_x86.c Fri Mar 07 19:35:13 2014 -0800 +++ b/m68k_core_x86.c Fri Mar 07 19:39:51 2014 -0800 @@ -2067,9 +2067,7 @@ 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 @@ } call(code, inst->op == M68K_MOVE_SR ? opts->set_sr : opts->set_ccr); cycles(&opts->gen, 12); - } }