diff options
author | Michael Pavone <pavone@retrodev.com> | 2014-10-15 00:30:19 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2014-10-15 00:30:19 -0700 |
commit | 56416afb69f0aa098e252e63c65ce6cd7bcc64c6 (patch) | |
tree | 50026fe7fe3a7b43b7ec29127ce58eb9b7cd26bd /68kinst.c | |
parent | 1718b42809a67d9634b4cf5ac7126b03e3209386 (diff) |
Fix interpretation of moves direction field
Diffstat (limited to '68kinst.c')
-rw-r--r-- | 68kinst.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -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; |