From f38bb8e55d1df64f8fb85d7dc58eb2902198ed97 Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Tue, 28 Feb 2017 21:59:58 -0800 Subject: immediate and predecrement are illegal source address modes for movem. Fixes ticket:8 and ticket:9 --- 68kinst.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '68kinst.c') diff --git a/68kinst.c b/68kinst.c index e406872..a753765 100644 --- a/68kinst.c +++ b/68kinst.c @@ -692,7 +692,7 @@ uint16_t * m68k_decode(uint16_t * istream, m68kinst * decoded, uint32_t address) decoded->dst.addr_mode = MODE_REG; decoded->dst.params.immed = *(++istream); istream = m68k_decode_op_ex(istream, opmode, reg, decoded->extra.size, &(decoded->src)); - if (!istream) { + if (!istream || decoded->src.addr_mode == MODE_AREG_PREDEC || decoded->src.addr_mode == MODE_IMMEDIATE) { decoded->op = M68K_INVALID; break; } -- cgit v1.2.3