comparison 68kinst.c @ 60:6ffea8607730

Fix operand order for AND instructions
author Mike Pavone <pavone@retrodev.com>
date Tue, 18 Dec 2012 23:55:10 -0800
parents 3b79cbcf6846
children 918468c623e9
comparison
equal deleted inserted replaced
59:32650c77008a 60:6ffea8607730
884 decoded->src.addr_mode = decoded->dst.addr_mode = MODE_REG; 884 decoded->src.addr_mode = decoded->dst.addr_mode = MODE_REG;
885 } 885 }
886 } else { 886 } else {
887 decoded->op = M68K_AND; 887 decoded->op = M68K_AND;
888 decoded->extra.size = (*istream >> 6); 888 decoded->extra.size = (*istream >> 6);
889 decoded->dst.addr_mode = MODE_REG; 889 decoded->src.addr_mode = MODE_REG;
890 decoded->dst.params.regs.pri = m68k_reg_quick_field(*istream); 890 decoded->src.params.regs.pri = m68k_reg_quick_field(*istream);
891 istream = m68k_decode_op(istream, decoded->extra.size, &(decoded->src)); 891 istream = m68k_decode_op(istream, decoded->extra.size, &(decoded->dst));
892 } 892 }
893 } else { 893 } else {
894 if ((*istream & 0xC0) == 0xC0) { 894 if ((*istream & 0xC0) == 0xC0) {
895 decoded->op = M68K_MULU; 895 decoded->op = M68K_MULU;
896 decoded->extra.size = OPSIZE_WORD; 896 decoded->extra.size = OPSIZE_WORD;
898 decoded->dst.params.regs.pri = m68k_reg_quick_field(*istream); 898 decoded->dst.params.regs.pri = m68k_reg_quick_field(*istream);
899 istream = m68k_decode_op(istream, OPSIZE_WORD, &(decoded->src)); 899 istream = m68k_decode_op(istream, OPSIZE_WORD, &(decoded->src));
900 } else { 900 } else {
901 decoded->op = M68K_AND; 901 decoded->op = M68K_AND;
902 decoded->extra.size = (*istream >> 6); 902 decoded->extra.size = (*istream >> 6);
903 decoded->src.addr_mode = MODE_REG; 903 decoded->dst.addr_mode = MODE_REG;
904 decoded->src.params.regs.pri = m68k_reg_quick_field(*istream); 904 decoded->dst.params.regs.pri = m68k_reg_quick_field(*istream);
905 istream = m68k_decode_op(istream, decoded->extra.size, &(decoded->dst)); 905 istream = m68k_decode_op(istream, decoded->extra.size, &(decoded->src));
906 } 906 }
907 } 907 }
908 break; 908 break;
909 case ADD_ADDX: 909 case ADD_ADDX:
910 size = *istream >> 6 & 0x3; 910 size = *istream >> 6 & 0x3;