summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2012-12-30 18:40:33 -0800
committerMike Pavone <pavone@retrodev.com>2012-12-30 18:40:33 -0800
commitfc392c1296fe7a3703c1d51fa6e9d7dd0377bd23 (patch)
tree1ce8fbe5372aab2dc5b70c591443ca62e3bac9b5
parentd120b3df1f0991d11158c68ec7b26fcb3a4db512 (diff)
Fix some bugs in decoding cmp
-rw-r--r--68kinst.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/68kinst.c b/68kinst.c
index 7a7c239..63fc25b 100644
--- a/68kinst.c
+++ b/68kinst.c
@@ -847,7 +847,7 @@ uint16_t * m68k_decode(uint16_t * istream, m68kinst * decoded, uint32_t address)
decoded->extra.size = OPSIZE_LONG;
decoded->dst.addr_mode = MODE_AREG;
decoded->dst.params.regs.pri = m68k_reg_quick_field(*istream);
- istream = m68k_decode_op(istream, size, &(decoded->src));
+ istream = m68k_decode_op(istream, decoded->extra.size, &(decoded->src));
} else {
istream = m68k_decode_op(istream, size, &(decoded->dst));
if (decoded->src.addr_mode == MODE_AREG) {
@@ -873,7 +873,7 @@ uint16_t * m68k_decode(uint16_t * istream, m68kinst * decoded, uint32_t address)
decoded->dst.addr_mode = MODE_REG;
}
decoded->dst.params.regs.pri = m68k_reg_quick_field(*istream);
- istream = m68k_decode_op(istream, size, &(decoded->src));
+ istream = m68k_decode_op(istream, decoded->extra.size, &(decoded->src));
}
break;
case AND_MUL_ABCD_EXG: