Mercurial > repos > blastem
comparison m68k_core.c @ 1461:aa945f1bdd71
Properly clear trace mode on interrupt or other exception. Fix NBCD with memory destination
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 06 Sep 2017 23:10:11 -0700 |
parents | 4e5797b3935a |
children | ffe45c5b8390 |
comparison
equal
deleted
inserted
replaced
1460:4929325c3ce0 | 1461:aa945f1bdd71 |
---|---|
92 } | 92 } |
93 | 93 |
94 void m68k_save_result(m68kinst * inst, m68k_options * opts) | 94 void m68k_save_result(m68kinst * inst, m68k_options * opts) |
95 { | 95 { |
96 if (inst->dst.addr_mode != MODE_REG && inst->dst.addr_mode != MODE_AREG && inst->dst.addr_mode != MODE_UNUSED) { | 96 if (inst->dst.addr_mode != MODE_REG && inst->dst.addr_mode != MODE_AREG && inst->dst.addr_mode != MODE_UNUSED) { |
97 if (inst->dst.addr_mode == MODE_AREG_PREDEC && inst->src.addr_mode == MODE_AREG_PREDEC && inst->op != M68K_MOVE) { | 97 if (inst->dst.addr_mode == MODE_AREG_PREDEC && |
98 ((inst->src.addr_mode == MODE_AREG_PREDEC && inst->op != M68K_MOVE) || (inst->op == M68K_NBCD)) | |
99 ) { | |
98 areg_to_native(opts, inst->dst.params.regs.pri, opts->gen.scratch2); | 100 areg_to_native(opts, inst->dst.params.regs.pri, opts->gen.scratch2); |
99 } | 101 } |
100 m68k_write_size(opts, inst->extra.size, 1); | 102 m68k_write_size(opts, inst->extra.size, 1); |
101 } | 103 } |
102 } | 104 } |