comparison m68k_core_x86.c @ 698:0a86e81fa87d

Fixed a missed call to do_sync when updating SR in 68K core
author Michael Pavone <pavone@retrodev.com>
date Mon, 11 May 2015 20:30:13 -0700
parents fc04781f4d28
children 7367b14ac01c
comparison
equal deleted inserted replaced
697:7f96bd1cb1be 698:0a86e81fa87d
2011 mov_rr(code, src_op->base, opts->gen.scratch1, SZ_W); 2011 mov_rr(code, src_op->base, opts->gen.scratch1, SZ_W);
2012 } else { 2012 } else {
2013 mov_rdispr(code, src_op->base, src_op->disp, opts->gen.scratch1, SZ_W); 2013 mov_rdispr(code, src_op->base, src_op->disp, opts->gen.scratch1, SZ_W);
2014 } 2014 }
2015 } 2015 }
2016 call(code, inst->op == M68K_MOVE_SR ? opts->set_sr : opts->set_ccr); 2016 if (inst->op == M68K_MOVE_SR) {
2017 call(code, opts->set_sr);
2018 call(code, opts->do_sync);
2019 } else {
2020 call(code, opts->set_ccr);
2021 }
2017 cycles(&opts->gen, 12); 2022 cycles(&opts->gen, 12);
2018 } 2023 }
2019 } 2024 }
2020 2025
2021 void translate_m68k_stop(m68k_options *opts, m68kinst *inst) 2026 void translate_m68k_stop(m68k_options *opts, m68kinst *inst)