changeset 642:08d0e3e7d0d8

Fix interpretation of moves direction field
author Michael Pavone <pavone@retrodev.com>
date Wed, 15 Oct 2014 00:30:19 -0700
parents 66857bd2df0b
children da52f7b72156
files 68kinst.c
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/68kinst.c	Wed Oct 15 00:26:57 2014 -0700
+++ b/68kinst.c	Wed Oct 15 00:30:19 2014 -0700
@@ -610,13 +610,13 @@
 				reg = immed  >> 12 & 0x7;
 				opmode = immed & 0x8000 ? MODE_AREG : MODE_REG;
 				if (immed & 0x800) {
+					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;
-				} 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));
 				}
 #endif
 				break;