diff options
author | Mike Pavone <pavone@retrodev.com> | 2012-12-26 22:13:31 -0800 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2012-12-26 22:13:31 -0800 |
commit | 4525e91982d9ecc8432f498ff009e10c63b80177 (patch) | |
tree | a1e2580a29ac3736660e0e27ede9b64ba9c39c30 /68kinst.c | |
parent | 38724ed91cf8de72f999d6adb159bd803562128e (diff) |
Fix decoding of and
Diffstat (limited to '68kinst.c')
-rw-r--r-- | 68kinst.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -907,7 +907,7 @@ uint16_t * m68k_decode(uint16_t * istream, m68kinst * decoded, uint32_t address) } } else { decoded->op = M68K_AND; - decoded->extra.size = (*istream >> 6); + decoded->extra.size = (*istream >> 6) & 0x3; decoded->src.addr_mode = MODE_REG; decoded->src.params.regs.pri = m68k_reg_quick_field(*istream); istream = m68k_decode_op(istream, decoded->extra.size, &(decoded->dst)); @@ -921,7 +921,7 @@ uint16_t * m68k_decode(uint16_t * istream, m68kinst * decoded, uint32_t address) istream = m68k_decode_op(istream, OPSIZE_WORD, &(decoded->src)); } else { decoded->op = M68K_AND; - decoded->extra.size = (*istream >> 6); + decoded->extra.size = (*istream >> 6) & 0x3; decoded->dst.addr_mode = MODE_REG; decoded->dst.params.regs.pri = m68k_reg_quick_field(*istream); istream = m68k_decode_op(istream, decoded->extra.size, &(decoded->src)); |