From 56416afb69f0aa098e252e63c65ce6cd7bcc64c6 Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Wed, 15 Oct 2014 00:30:19 -0700 Subject: Fix interpretation of moves direction field --- 68kinst.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to '68kinst.c') diff --git a/68kinst.c b/68kinst.c index 4842758..eaeb2e4 100644 --- a/68kinst.c +++ b/68kinst.c @@ -610,13 +610,13 @@ uint16_t * m68k_decode(uint16_t * istream, m68kinst * decoded, uint32_t address) reg = immed >> 12 & 0x7; opmode = immed & 0x8000 ? MODE_AREG : MODE_REG; if (immed & 0x800) { - m68k_decode_op_ex(istream, *start >> 3 & 0x7, *start & 0x7, decoded->extra.size, &(decoded->src)); - decoded->dst.addr_mode = opmode; - decoded->dst.params.regs.pri = reg; - } else { decoded->src.addr_mode = opmode; decoded->src.params.regs.pri = reg; m68k_decode_op_ex(istream, *start >> 3 & 0x7, *start & 0x7, decoded->extra.size, &(decoded->dst)); + } else { + m68k_decode_op_ex(istream, *start >> 3 & 0x7, *start & 0x7, decoded->extra.size, &(decoded->src)); + decoded->dst.addr_mode = opmode; + decoded->dst.params.regs.pri = reg; } #endif break; -- cgit v1.2.3