Mercurial > repos > blastem
changeset 126:4e45d75501cf
Fix check in translate_m68k_src that deals with instructions for which both operands are registers that are not mapped to a native x86-64 register
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 29 Dec 2012 22:22:53 -0800 |
parents | dc5fc3adf705 |
children | 0a0743a30ca1 |
files | m68k_to_x86.c |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/m68k_to_x86.c Sat Dec 29 22:11:28 2012 -0800 +++ b/m68k_to_x86.c Sat Dec 29 22:22:53 2012 -0800 @@ -110,7 +110,7 @@ //We only get one memory parameter, so if the dst operand is a register in memory, //we need to copy this to a temp register first reg = native_reg(&(inst->dst), opts); - if (reg >= 0 || inst->dst.addr_mode == MODE_UNUSED || (inst->dst.addr_mode != MODE_REG && inst->dst.addr_mode == MODE_AREG) + if (reg >= 0 || inst->dst.addr_mode == MODE_UNUSED || (inst->dst.addr_mode != MODE_REG && inst->dst.addr_mode != MODE_AREG) || inst->op == M68K_EXG) { ea->mode = MODE_REG_DISPLACE8;