Mercurial > repos > blastem
diff 68kinst.c @ 1253:2a6049dddab0
immediate and predecrement are illegal source address modes for movem. Fixes ticket:8 and ticket:9
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 28 Feb 2017 21:59:58 -0800 |
parents | 000953a7641b |
children | 78416556ae02 |
line wrap: on
line diff
--- a/68kinst.c Mon Feb 27 00:38:53 2017 -0800 +++ b/68kinst.c Tue Feb 28 21:59:58 2017 -0800 @@ -692,7 +692,7 @@ 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; }