Mercurial > repos > blastem
comparison 68kinst.c @ 51:937b47c9b79b
Implement shift instructions (asl, lsl, asr, lsr). Add flags to register printout. Fix minor bug in shift/rotate instruction decoding.
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 15 Dec 2012 23:01:32 -0800 |
parents | 4836d1f3841a |
children | 3b79cbcf6846 |
comparison
equal
deleted
inserted
replaced
50:4836d1f3841a | 51:937b47c9b79b |
---|---|
1005 decoded->op = M68K_ROL; | 1005 decoded->op = M68K_ROL; |
1006 break; | 1006 break; |
1007 } | 1007 } |
1008 decoded->extra.size = (*istream >> 6) & 0x3; | 1008 decoded->extra.size = (*istream >> 6) & 0x3; |
1009 immed = (*istream >> 9) & 0x7; | 1009 immed = (*istream >> 9) & 0x7; |
1010 if (*istream & 0x100) { | 1010 if (*istream & 0x20) { |
1011 decoded->src.addr_mode = MODE_REG; | 1011 decoded->src.addr_mode = MODE_REG; |
1012 decoded->src.params.regs.pri = immed; | 1012 decoded->src.params.regs.pri = immed; |
1013 } else { | 1013 } else { |
1014 decoded->src.addr_mode = MODE_IMMEDIATE; | 1014 decoded->src.addr_mode = MODE_IMMEDIATE; |
1015 if (!immed) { | 1015 if (!immed) { |