From c9f76989d03409e5323871979d34053fc771c86d Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Wed, 9 Jan 2013 22:31:07 -0800 Subject: Fix (a7)+ src when size is byte, fix trap return address, make div with areg src decoded to invalid --- 68kinst.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '68kinst.c') diff --git a/68kinst.c b/68kinst.c index a42df45..d0e8c20 100644 --- a/68kinst.c +++ b/68kinst.c @@ -876,7 +876,7 @@ uint16_t * m68k_decode(uint16_t * istream, m68kinst * decoded, uint32_t address) decoded->dst.addr_mode = MODE_REG; decoded->dst.params.regs.pri = (*istream >> 9) & 0x7; istream = m68k_decode_op(istream, OPSIZE_WORD, &(decoded->src)); - if (!istream) { + if (!istream || decoded->src.addr_mode == MODE_AREG) { decoded->op = M68K_INVALID; return start+1; } @@ -901,7 +901,7 @@ uint16_t * m68k_decode(uint16_t * istream, m68kinst * decoded, uint32_t address) decoded->dst.addr_mode = MODE_REG; decoded->dst.params.regs.pri = (*istream >> 9) & 0x7; istream = m68k_decode_op(istream, OPSIZE_WORD, &(decoded->src)); - if (!istream) { + if (!istream || decoded->src.addr_mode == MODE_AREG) { decoded->op = M68K_INVALID; return start+1; } -- cgit v1.2.3