File:  [Isaki's NoNo m68k/m88k emulator] / nono / m680x0 / m68030switch.h
Revision 1.1.1.4 (vendor branch): download - view: text, annotated - select for diffs
Wed Apr 29 17:05:26 2026 UTC (2 months, 3 weeks ago) by root
Branches: MAIN, Isaki
CVS tags: v020, HEAD
nono 1.0.0

	 case (0x0000 >> 6):
		// %0000_000000_mmmrrr	ORI.B #<imm>,<ea>
		// %0000_000000_111100	ORI.B #<imm>,CCR
		OP_FUNC(ori_b);
		break;
	 case (0x0040 >> 6):
		// %0000_000001_mmmrrr	ORI.W #<imm>,<ea>
		// %0000_000001_111100	ORI.W #<imm>,SR
		OP_FUNC(ori_w);
		break;
	 case (0x0080 >> 6):
		// %0000_000010_mmmrrr	ORI.L #<imm>,<ea>
		OP_FUNC(ori_l);
		break;
	 case (0x00c0 >> 6):
		// %0000_000011_mmmrrr	CMP2/CHK2.B <ea>,Rn
		OP_FUNC(cmp2chk2_b);
		break;
	 case (0x0100 >> 6):
	 case (0x0300 >> 6):
	 case (0x0500 >> 6):
	 case (0x0700 >> 6):
	 case (0x0900 >> 6):
	 case (0x0b00 >> 6):
	 case (0x0d00 >> 6):
	 case (0x0f00 >> 6):
		// %0000_xxx100_000yyy	BTST.L Dx,Dy
		// %0000_xxx100_001yyy	MOVEP.W (d,Ay),Dx
		// %0000_xxx100_mmmrrr	BTST.B Dx,<ea>
		OP_FUNC(btst_dn_ea);
		break;
	 case (0x0140 >> 6):
	 case (0x0340 >> 6):
	 case (0x0540 >> 6):
	 case (0x0740 >> 6):
	 case (0x0940 >> 6):
	 case (0x0b40 >> 6):
	 case (0x0d40 >> 6):
	 case (0x0f40 >> 6):
		// %0000_xxx101_000yyy	BCHG.L Dx,Dy
		// %0000_xxx101_001yyy	MOVEP.L (d,Ay),Dx
		// %0000_xxx101_mmmrrr	BCHG.B Dx,<ea>
		OP_FUNC(bchg_dn_ea);
		break;
	 case (0x0180 >> 6):
	 case (0x0380 >> 6):
	 case (0x0580 >> 6):
	 case (0x0780 >> 6):
	 case (0x0980 >> 6):
	 case (0x0b80 >> 6):
	 case (0x0d80 >> 6):
	 case (0x0f80 >> 6):
		// %0000_xxx110_000yyy	BCLR.L Dx,Dy
		// %0000_xxx110_001yyy	MOVEP.W Dx,(d,Ay)
		// %0000_xxx110_mmmrrr	BCLR.B Dx,<ea>
		OP_FUNC(bclr_dn_ea);
		break;
	 case (0x01c0 >> 6):
	 case (0x03c0 >> 6):
	 case (0x05c0 >> 6):
	 case (0x07c0 >> 6):
	 case (0x09c0 >> 6):
	 case (0x0bc0 >> 6):
	 case (0x0dc0 >> 6):
	 case (0x0fc0 >> 6):
		// %0000_xxx111_000yyy	BSET.L Dx,Dy
		// %0000_xxx111_001yyy	MOVEP.L Dx,(d,Ay)
		// %0000_xxx111_mmmrrr	BSET.B Dx,<ea>
		OP_FUNC(bset_dn_ea);
		break;
	 case (0x0200 >> 6):
		// %0000_001000_mmmrrr	ANDI.B #<imm>,<ea>
		// %0000_001000_111100	ANDI.B #<imm>,CCR
		OP_FUNC(andi_b);
		break;
	 case (0x0240 >> 6):
		// %0000_001001_mmmrrr	ANDI.W #<imm>,<ea>
		// %0000_001001_111100	ANDI.W #<imm>,SR
		OP_FUNC(andi_w);
		break;
	 case (0x0280 >> 6):
		// %0000_001010_mmmrrr	ANDI.L #<imm>,<ea>
		OP_FUNC(andi_l);
		break;
	 case (0x02c0 >> 6):
		// %0000_001011_mmmrrr	CMP2/CHK2.W <ea>,Rn
		OP_FUNC(cmp2chk2_w);
		break;
	 case (0x0400 >> 6):
		// %0000_010000_mmmrrr	SUBI.B #<imm>,<ea>
		OP_FUNC(subi_b);
		break;
	 case (0x0440 >> 6):
		// %0000_010001_mmmrrr	SUBI.W #<imm>,<ea>
		OP_FUNC(subi_w);
		break;
	 case (0x0480 >> 6):
		// %0000_010010_mmmrrr	SUBI.L #<imm>,<ea>
		OP_FUNC(subi_l);
		break;
	 case (0x04c0 >> 6):
		// %0000_010011_mmmrrr	CMP2/CHK2.L <ea>,Rn
		OP_FUNC(cmp2chk2_l);
		break;
	 case (0x0600 >> 6):
		// %0000_011000_mmmrrr	ADDI.B #<imm>,<ea>
		OP_FUNC(addi_b);
		break;
	 case (0x0640 >> 6):
		// %0000_011001_mmmrrr	ADDI.W #<imm>,<ea>
		OP_FUNC(addi_w);
		break;
	 case (0x0680 >> 6):
		// %0000_011010_mmmrrr	ADDI.L #<imm>,<ea>
		OP_FUNC(addi_l);
		break;
	 case (0x06c0 >> 6):
		// %0000_011011_00nnnn	RTM Rn
		// %0000_011011_mmmrrr	CALLM #<imm>,<ea>
		OP_FUNC(callm);
		break;
	 case (0x0800 >> 6):
		// %0000_100000_000yyy	BTST.L #<imm>,Dy
		// %0000_100000_mmmrrr	BTST.B #<imm>,<ea>
		OP_FUNC(btst_imm_ea);
		break;
	 case (0x0840 >> 6):
		// %0000_100001_000yyy	BCHG.L #<imm>,Dy
		// %0000_100001_mmmrrr	BCHG.B #<imm>,<ea>
		OP_FUNC(bchg_imm_ea);
		break;
	 case (0x0880 >> 6):
		// %0000_100010_000yyy	BCLR.L #<imm>,Dy
		// %0000_100010_mmmrrr	BCLR.B #<imm>,<ea>
		OP_FUNC(bclr_imm_ea);
		break;
	 case (0x08c0 >> 6):
		// %0000_100011_000yyy	BSET.L #<imm>,Dy
		// %0000_100011_mmmrrr	BSET.B #<imm>,<ea>
		OP_FUNC(bset_imm_ea);
		break;
	 case (0x0a00 >> 6):
		// %0000_101000_mmmrrr	EORI.B #<imm>,<ea>
		// %0000_101000_111100	EORI.B #<imm>,CCR
		OP_FUNC(eori_b);
		break;
	 case (0x0a40 >> 6):
		// %0000_101001_mmmrrr	EORI.W #<imm>,<ea>
		// %0000_101001_111100	EORI.W #<imm>,SR
		OP_FUNC(eori_w);
		break;
	 case (0x0a80 >> 6):
		// %0000_101010_mmmrrr	EORI.L #<imm>,<ea>
		OP_FUNC(eori_l);
		break;
	 case (0x0ac0 >> 6):
		// %0000_101011_mmmrrr	CAS.B Dc,Du,<ea>
		OP_FUNC(cas_b);
		break;
	 case (0x0c00 >> 6):
		// %0000_110000_mmmrrr	CMPI.B #<imm>,<ea>
		OP_FUNC(cmpi_b);
		break;
	 case (0x0c40 >> 6):
		// %0000_110001_mmmrrr	CMPI.W #<imm>,<ea>
		OP_FUNC(cmpi_w);
		break;
	 case (0x0c80 >> 6):
		// %0000_110010_mmmrrr	CMPI.L #<imm>,<ea>
		OP_FUNC(cmpi_l);
		break;
	 case (0x0cc0 >> 6):
		// %0000_110011_mmmrrr	CAS.W Dc,Du,<ea>
		// %0000_110011_111100	CAS2.W Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
		OP_FUNC(cas_w);
		break;
	 case (0x0e00 >> 6):
		// %0000_111000_mmmrrr	MOVES.B <ea>,Rn
		// %0000_111000_mmmrrr	MOVES.B Rn,<ea>
		OP_FUNC(moves_b);
		break;
	 case (0x0e40 >> 6):
		// %0000_111001_mmmrrr	MOVES.W <ea>,Rn
		// %0000_111001_mmmrrr	MOVES.W Rn,<ea>
		OP_FUNC(moves_w);
		break;
	 case (0x0e80 >> 6):
		// %0000_111010_mmmrrr	MOVES.L <ea>,Rn
		// %0000_111010_mmmrrr	MOVES.L Rn,<ea>
		OP_FUNC(moves_l);
		break;
	 case (0x0ec0 >> 6):
		// %0000_111011_mmmrrr	CAS.L Dc,Du,<ea>
		// %0000_111011_111100	CAS2.L Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
		OP_FUNC(cas_l);
		break;
	 case (0x1000 >> 6):
	 case (0x1200 >> 6):
	 case (0x1400 >> 6):
	 case (0x1600 >> 6):
	 case (0x1800 >> 6):
	 case (0x1a00 >> 6):
	 case (0x1c00 >> 6):
	 case (0x1e00 >> 6):
		// %0001_xxx000_mmmrrr	MOVE.B <ea>,Dx
		OP_FUNC(move_b_ea_dn);
		break;
	 case (0x1080 >> 6):
	 case (0x1280 >> 6):
	 case (0x1480 >> 6):
	 case (0x1680 >> 6):
	 case (0x1880 >> 6):
	 case (0x1a80 >> 6):
	 case (0x1c80 >> 6):
	 case (0x1e80 >> 6):
		// %0001_xxx010_mmmrrr	MOVE.B <ea>,(Ax)
		OP_FUNC(move_b_ea_anin);
		break;
	 case (0x10c0 >> 6):
	 case (0x12c0 >> 6):
	 case (0x14c0 >> 6):
	 case (0x16c0 >> 6):
	 case (0x18c0 >> 6):
	 case (0x1ac0 >> 6):
	 case (0x1cc0 >> 6):
	 case (0x1ec0 >> 6):
		// %0001_xxx011_mmmrrr	MOVE.B <ea>,(Ax)+
		OP_FUNC(move_b_ea_anpi);
		break;
	 case (0x1100 >> 6):
	 case (0x1300 >> 6):
	 case (0x1500 >> 6):
	 case (0x1700 >> 6):
	 case (0x1900 >> 6):
	 case (0x1b00 >> 6):
	 case (0x1d00 >> 6):
	 case (0x1f00 >> 6):
		// %0001_xxx100_mmmrrr	MOVE.B <ea>,-(Ax)
		OP_FUNC(move_b_ea_anpd);
		break;
	 case (0x1140 >> 6):
	 case (0x1340 >> 6):
	 case (0x1540 >> 6):
	 case (0x1740 >> 6):
	 case (0x1940 >> 6):
	 case (0x1b40 >> 6):
	 case (0x1d40 >> 6):
	 case (0x1f40 >> 6):
		// %0001_xxx101_mmmrrr	MOVE.B <ea>,d16(Ax)
		OP_FUNC(move_b_ea_andi);
		break;
	 case (0x1180 >> 6):
	 case (0x1380 >> 6):
	 case (0x1580 >> 6):
	 case (0x1780 >> 6):
	 case (0x1980 >> 6):
	 case (0x1b80 >> 6):
	 case (0x1d80 >> 6):
	 case (0x1f80 >> 6):
		// %0001_xxx110_mmmrrr	MOVE.B <ea>,(Ax,IX)
		OP_FUNC(move_b_ea_anix);
		break;
	 case (0x11c0 >> 6):
		// %0001_000111_mmmrrr	MOVE.B <ea>,Abs.W
		OP_FUNC(move_b_ea_absw);
		break;
	 case (0x13c0 >> 6):
		// %0001_001111_mmmrrr	MOVE.B <ea>,Abs.L
		OP_FUNC(move_b_ea_absl);
		break;
	 case (0x2000 >> 6):
	 case (0x2200 >> 6):
	 case (0x2400 >> 6):
	 case (0x2600 >> 6):
	 case (0x2800 >> 6):
	 case (0x2a00 >> 6):
	 case (0x2c00 >> 6):
	 case (0x2e00 >> 6):
		// %0010_xxx000_mmmrrr	MOVE.L <ea>,Dx
		OP_FUNC(move_l_ea_dn);
		break;
	 case (0x2040 >> 6):
	 case (0x2240 >> 6):
	 case (0x2440 >> 6):
	 case (0x2640 >> 6):
	 case (0x2840 >> 6):
	 case (0x2a40 >> 6):
	 case (0x2c40 >> 6):
	 case (0x2e40 >> 6):
		// %0010_xxx001_mmmrrr	MOVEA.L <ea>,Ax
		OP_FUNC(movea_l);
		break;
	 case (0x2080 >> 6):
	 case (0x2280 >> 6):
	 case (0x2480 >> 6):
	 case (0x2680 >> 6):
	 case (0x2880 >> 6):
	 case (0x2a80 >> 6):
	 case (0x2c80 >> 6):
	 case (0x2e80 >> 6):
		// %0010_xxx010_mmmrrr	MOVE.L <ea>,(Ax)
		OP_FUNC(move_l_ea_anin);
		break;
	 case (0x20c0 >> 6):
	 case (0x22c0 >> 6):
	 case (0x24c0 >> 6):
	 case (0x26c0 >> 6):
	 case (0x28c0 >> 6):
	 case (0x2ac0 >> 6):
	 case (0x2cc0 >> 6):
	 case (0x2ec0 >> 6):
		// %0010_xxx011_mmmrrr	MOVE.L <ea>,(Ax)+
		OP_FUNC(move_l_ea_anpi);
		break;
	 case (0x2100 >> 6):
	 case (0x2300 >> 6):
	 case (0x2500 >> 6):
	 case (0x2700 >> 6):
	 case (0x2900 >> 6):
	 case (0x2b00 >> 6):
	 case (0x2d00 >> 6):
	 case (0x2f00 >> 6):
		// %0010_xxx100_mmmrrr	MOVE.L <ea>,-(Ax)
		OP_FUNC(move_l_ea_anpd);
		break;
	 case (0x2140 >> 6):
	 case (0x2340 >> 6):
	 case (0x2540 >> 6):
	 case (0x2740 >> 6):
	 case (0x2940 >> 6):
	 case (0x2b40 >> 6):
	 case (0x2d40 >> 6):
	 case (0x2f40 >> 6):
		// %0010_xxx101_mmmrrr	MOVE.L <ea>,d16(Ax)
		OP_FUNC(move_l_ea_andi);
		break;
	 case (0x2180 >> 6):
	 case (0x2380 >> 6):
	 case (0x2580 >> 6):
	 case (0x2780 >> 6):
	 case (0x2980 >> 6):
	 case (0x2b80 >> 6):
	 case (0x2d80 >> 6):
	 case (0x2f80 >> 6):
		// %0010_xxx110_mmmrrr	MOVE.L <ea>,(Ax,IX)
		OP_FUNC(move_l_ea_anix);
		break;
	 case (0x21c0 >> 6):
		// %0010_000111_mmmrrr	MOVE.L <ea>,Abs.W
		OP_FUNC(move_l_ea_absw);
		break;
	 case (0x23c0 >> 6):
		// %0010_001111_mmmrrr	MOVE.L <ea>,Abs.L
		OP_FUNC(move_l_ea_absl);
		break;
	 case (0x3000 >> 6):
	 case (0x3200 >> 6):
	 case (0x3400 >> 6):
	 case (0x3600 >> 6):
	 case (0x3800 >> 6):
	 case (0x3a00 >> 6):
	 case (0x3c00 >> 6):
	 case (0x3e00 >> 6):
		// %0011_xxx000_mmmrrr	MOVE.W <ea>,Dx
		OP_FUNC(move_w_ea_dn);
		break;
	 case (0x3040 >> 6):
	 case (0x3240 >> 6):
	 case (0x3440 >> 6):
	 case (0x3640 >> 6):
	 case (0x3840 >> 6):
	 case (0x3a40 >> 6):
	 case (0x3c40 >> 6):
	 case (0x3e40 >> 6):
		// %0011_xxx001_mmmrrr	MOVEA.W <ea>,Ax
		OP_FUNC(movea_w);
		break;
	 case (0x3080 >> 6):
	 case (0x3280 >> 6):
	 case (0x3480 >> 6):
	 case (0x3680 >> 6):
	 case (0x3880 >> 6):
	 case (0x3a80 >> 6):
	 case (0x3c80 >> 6):
	 case (0x3e80 >> 6):
		// %0011_xxx010_mmmrrr	MOVE.W <ea>,(Ax)
		OP_FUNC(move_w_ea_anin);
		break;
	 case (0x30c0 >> 6):
	 case (0x32c0 >> 6):
	 case (0x34c0 >> 6):
	 case (0x36c0 >> 6):
	 case (0x38c0 >> 6):
	 case (0x3ac0 >> 6):
	 case (0x3cc0 >> 6):
	 case (0x3ec0 >> 6):
		// %0011_xxx011_mmmrrr	MOVE.W <ea>,(Ax)+
		OP_FUNC(move_w_ea_anpi);
		break;
	 case (0x3100 >> 6):
	 case (0x3300 >> 6):
	 case (0x3500 >> 6):
	 case (0x3700 >> 6):
	 case (0x3900 >> 6):
	 case (0x3b00 >> 6):
	 case (0x3d00 >> 6):
	 case (0x3f00 >> 6):
		// %0011_xxx100_mmmrrr	MOVE.W <ea>,-(Ax)
		OP_FUNC(move_w_ea_anpd);
		break;
	 case (0x3140 >> 6):
	 case (0x3340 >> 6):
	 case (0x3540 >> 6):
	 case (0x3740 >> 6):
	 case (0x3940 >> 6):
	 case (0x3b40 >> 6):
	 case (0x3d40 >> 6):
	 case (0x3f40 >> 6):
		// %0011_xxx101_mmmrrr	MOVE.W <ea>,d16(Ax)
		OP_FUNC(move_w_ea_andi);
		break;
	 case (0x3180 >> 6):
	 case (0x3380 >> 6):
	 case (0x3580 >> 6):
	 case (0x3780 >> 6):
	 case (0x3980 >> 6):
	 case (0x3b80 >> 6):
	 case (0x3d80 >> 6):
	 case (0x3f80 >> 6):
		// %0011_xxx110_mmmrrr	MOVE.W <ea>,(Ax,IX)
		OP_FUNC(move_w_ea_anix);
		break;
	 case (0x31c0 >> 6):
		// %0011_000111_mmmrrr	MOVE.W <ea>,Abs.W
		OP_FUNC(move_w_ea_absw);
		break;
	 case (0x33c0 >> 6):
		// %0011_001111_mmmrrr	MOVE.W <ea>,Abs.L
		OP_FUNC(move_w_ea_absl);
		break;
	 case (0x4000 >> 6):
		// %0100_000000_mmmrrr	NEGX.B <ea>
		OP_FUNC(negx_b);
		break;
	 case (0x4040 >> 6):
		// %0100_000001_mmmrrr	NEGX.W <ea>
		OP_FUNC(negx_w);
		break;
	 case (0x4080 >> 6):
		// %0100_000010_mmmrrr	NEGX.L <ea>
		OP_FUNC(negx_l);
		break;
	 case (0x40c0 >> 6):
		// %0100_000011_mmmrrr	MOVE.W SR,<ea>
		OP_FUNC(move_sr_ea);
		break;
	 case (0x4100 >> 6):
	 case (0x4300 >> 6):
	 case (0x4500 >> 6):
	 case (0x4700 >> 6):
	 case (0x4900 >> 6):
	 case (0x4b00 >> 6):
	 case (0x4d00 >> 6):
	 case (0x4f00 >> 6):
		// %0100_xxx100_mmmrrr	CHK.L <ea>,Dx
		OP_FUNC(chk_l);
		break;
	 case (0x4180 >> 6):
	 case (0x4380 >> 6):
	 case (0x4580 >> 6):
	 case (0x4780 >> 6):
	 case (0x4980 >> 6):
	 case (0x4b80 >> 6):
	 case (0x4d80 >> 6):
	 case (0x4f80 >> 6):
		// %0100_xxx110_mmmrrr	CHK.W <ea>,Dx
		OP_FUNC(chk_w);
		break;
	 case (0x41c0 >> 6):
	 case (0x43c0 >> 6):
	 case (0x45c0 >> 6):
	 case (0x47c0 >> 6):
	 case (0x49c0 >> 6):
	 case (0x4bc0 >> 6):
	 case (0x4dc0 >> 6):
	 case (0x4fc0 >> 6):
		// %0100_xxx111_mmmrrr	LEA.L <ea>,Ax
		// %0100_100111_000yyy	EXTB.L Dy
		OP_FUNC(lea);
		break;
	 case (0x4200 >> 6):
		// %0100_001000_mmmrrr	CLR.B <ea>
		OP_FUNC(clr_b);
		break;
	 case (0x4240 >> 6):
		// %0100_001001_mmmrrr	CLR.W <ea>
		OP_FUNC(clr_w);
		break;
	 case (0x4280 >> 6):
		// %0100_001010_mmmrrr	CLR.L <ea>
		OP_FUNC(clr_l);
		break;
	 case (0x42c0 >> 6):
		// %0100_001011_mmmrrr	MOVE.W CCR,<ea>
		OP_FUNC(move_ccr_ea);
		break;
	 case (0x4400 >> 6):
		// %0100_010000_mmmrrr	NEG.B <ea>
		OP_FUNC(neg_b);
		break;
	 case (0x4440 >> 6):
		// %0100_010001_mmmrrr	NEG.W <ea>
		OP_FUNC(neg_w);
		break;
	 case (0x4480 >> 6):
		// %0100_010010_mmmrrr	NEG.L <ea>
		OP_FUNC(neg_l);
		break;
	 case (0x44c0 >> 6):
		// %0100_010011_mmmrrr	MOVE.W <ea>,CCR
		OP_FUNC(move_ea_ccr);
		break;
	 case (0x4600 >> 6):
		// %0100_011000_mmmrrr	NOT.B <ea>
		OP_FUNC(not_b);
		break;
	 case (0x4640 >> 6):
		// %0100_011001_mmmrrr	NOT.W <ea>
		OP_FUNC(not_w);
		break;
	 case (0x4680 >> 6):
		// %0100_011010_mmmrrr	NOT.L <ea>
		OP_FUNC(not_l);
		break;
	 case (0x46c0 >> 6):
		// %0100_011011_mmmrrr	MOVE.W <ea>,SR
		OP_FUNC(move_ea_sr);
		break;
	 case (0x4800 >> 6):
		// %0100_100000_mmmrrr	NBCD.B <ea>
		// %0100_100000_001yyy	LINK.L Ay,#<imm>
		OP_FUNC(nbcd);
		break;
	 case (0x4840 >> 6):
		// %0100_100001_000yyy	SWAP.W Dy
		// %0100_100001_001nnn	BKPT #<imm>
		// %0100_100001_mmmrrr	PEA.L <ea>
		OP_FUNC(pea);
		break;
	 case (0x4880 >> 6):
		// %0100_100010_000yyy	EXT.W Dy
		// %0100_100010_mmmrrr	MOVEM.W <list>,<ea>
		OP_FUNC(movem_w_mem);
		break;
	 case (0x48c0 >> 6):
		// %0100_100011_000yyy	EXT.L Dy
		// %0100_100011_mmmrrr	MOVEM.L <list>,<ea>
		OP_FUNC(movem_l_mem);
		break;
	 case (0x4a00 >> 6):
		// %0100_101000_mmmrrr	TST.B <ea>
		OP_FUNC(tst_b);
		break;
	 case (0x4a40 >> 6):
		// %0100_101001_mmmrrr	TST.W <ea>
		OP_FUNC(tst_w);
		break;
	 case (0x4a80 >> 6):
		// %0100_101010_mmmrrr	TST.L <ea>
		OP_FUNC(tst_l);
		break;
	 case (0x4ac0 >> 6):
		// %0100_101011_mmmrrr	TAS.B <ea>
		// %0100_101011_111100	ILLEGAL
		OP_FUNC(tas);
		break;
	 case (0x4c00 >> 6):
		// %0100_110000_mmmrrr	MUL{U,S}.L <ea>,Dl
		OP_FUNC(mul);
		break;
	 case (0x4c40 >> 6):
		// %0100_110001_mmmrrr	DIV{U,UL,S,SL}.L <ea>,Dq
		OP_FUNC(div);
		break;
	 case (0x4c80 >> 6):
		// %0100_110010_mmmrrr	MOVEM.W <ea>,<list>
		OP_FUNC(movem_w);
		break;
	 case (0x4cc0 >> 6):
		// %0100_110011_mmmrrr	MOVEM.L <ea>,<list>
		OP_FUNC(movem_l);
		break;
	 case (0x4e40 >> 6):
		// %0100_111001_00nnnn	TRAP #<vector>
		// %0100_111001_010yyy	LINK.W Ay,#<imm>
		// %0100_111001_011yyy	UNLK Ay
		// %0100_111001_100yyy	MOVE.L Ay,USP
		// %0100_111001_101yyy	MOVE.L USP,Ay
		// %0100_111001_110000	RESET
		// %0100_111001_110001	NOP
		// %0100_111001_110010	STOP #<imm>
		// %0100_111001_110011	RTE
		// %0100_111001_110100	RTD #<imm>
		// %0100_111001_110101	RTS
		// %0100_111001_110110	TRAPV
		// %0100_111001_110111	RTR
		// %0100_111001_111010	MOVEC.L Rc,Rn
		// %0100_111001_111011	MOVEC.L Rn,Rc
		OP_FUNC(trap);
		break;
	 case (0x4e80 >> 6):
		// %0100_111010_mmmrrr	JSR <ea>
		OP_FUNC(jsr);
		break;
	 case (0x4ec0 >> 6):
		// %0100_111011_mmmrrr	JMP <ea>
		OP_FUNC(jmp);
		break;
	 case (0x5000 >> 6):
	 case (0x5200 >> 6):
	 case (0x5400 >> 6):
	 case (0x5600 >> 6):
	 case (0x5800 >> 6):
	 case (0x5a00 >> 6):
	 case (0x5c00 >> 6):
	 case (0x5e00 >> 6):
		// %0101_qqq000_mmmrrr	ADDQ.B #qqq,<ea>
		OP_FUNC(addq_b);
		break;
	 case (0x5040 >> 6):
	 case (0x5240 >> 6):
	 case (0x5440 >> 6):
	 case (0x5640 >> 6):
	 case (0x5840 >> 6):
	 case (0x5a40 >> 6):
	 case (0x5c40 >> 6):
	 case (0x5e40 >> 6):
		// %0101_qqq001_mmmrrr	ADDQ.W #qqq,<ea>
		// %0101_qqq001_001yyy	ADDQ.W #qqq,Ay (.Lと等価)
		OP_FUNC(addq_w);
		break;
	 case (0x5080 >> 6):
	 case (0x5280 >> 6):
	 case (0x5480 >> 6):
	 case (0x5680 >> 6):
	 case (0x5880 >> 6):
	 case (0x5a80 >> 6):
	 case (0x5c80 >> 6):
	 case (0x5e80 >> 6):
		// %0101_qqq010_mmmrrr	ADDQ.L #qqq,<ea>
		// %0101_qqq010_001yyy	ADDQ.L #qqq,Ay
		OP_FUNC(addq_l);
		break;
	 case (0x50c0 >> 6):
	 case (0x51c0 >> 6):
	 case (0x52c0 >> 6):
	 case (0x53c0 >> 6):
	 case (0x54c0 >> 6):
	 case (0x55c0 >> 6):
	 case (0x56c0 >> 6):
	 case (0x57c0 >> 6):
	 case (0x58c0 >> 6):
	 case (0x59c0 >> 6):
	 case (0x5ac0 >> 6):
	 case (0x5bc0 >> 6):
	 case (0x5cc0 >> 6):
	 case (0x5dc0 >> 6):
	 case (0x5ec0 >> 6):
	 case (0x5fc0 >> 6):
		// %0101_cccc11_mmmrrr	Scc.B <ea>
		// %0101_cccc11_001yyy	DBcc.W Dy,<label>
		// %0101_cccc11_111010	TRAPcc.W #<imm>
		// %0101_cccc11_111011	TRAPcc.L #<imm>
		// %0101_cccc11_111100	TRAPcc
		// %0101_000111_001yyy	DBRA.W Dy,<label>
		OP_FUNC(scc);
		break;
	 case (0x5100 >> 6):
	 case (0x5300 >> 6):
	 case (0x5500 >> 6):
	 case (0x5700 >> 6):
	 case (0x5900 >> 6):
	 case (0x5b00 >> 6):
	 case (0x5d00 >> 6):
	 case (0x5f00 >> 6):
		// %0101_qqq100_mmmrrr	SUBQ.B #qqq,<ea>
		OP_FUNC(subq_b);
		break;
	 case (0x5140 >> 6):
	 case (0x5340 >> 6):
	 case (0x5540 >> 6):
	 case (0x5740 >> 6):
	 case (0x5940 >> 6):
	 case (0x5b40 >> 6):
	 case (0x5d40 >> 6):
	 case (0x5f40 >> 6):
		// %0101_qqq101_mmmrrr	SUBQ.W #qqq,<ea>
		// %0101_qqq101_001yyy	SUBQ.W #qqq,Ay (.Lと等価)
		OP_FUNC(subq_w);
		break;
	 case (0x5180 >> 6):
	 case (0x5380 >> 6):
	 case (0x5580 >> 6):
	 case (0x5780 >> 6):
	 case (0x5980 >> 6):
	 case (0x5b80 >> 6):
	 case (0x5d80 >> 6):
	 case (0x5f80 >> 6):
		// %0101_qqq110_mmmrrr	SUBQ.L #qqq,<ea>
		// %0101_qqq110_001yyy	SUBQ.L #qqq,Ay
		OP_FUNC(subq_l);
		break;
	 case (0x6000 >> 6):
	 case (0x6040 >> 6):
	 case (0x6080 >> 6):
	 case (0x60c0 >> 6):
		// %0110_000000_000000	BRA.W <label>
		// %0110_0000nn_nnnnnn	BRA.B <label>
		// %0110_000011_111111	BRA.L <label>
		OP_FUNC(bra);
		break;
	 case (0x6100 >> 6):
	 case (0x6140 >> 6):
	 case (0x6180 >> 6):
	 case (0x61c0 >> 6):
		// %0110_000100_000000	BSR.W <label>
		// %0110_0001nn_nnnnnn	BSR.B <label>
		// %0110_000111_111111	BSR.L <label>
		OP_FUNC(bsr);
		break;
	 case (0x6200 >> 6):
	 case (0x6240 >> 6):
	 case (0x6280 >> 6):
	 case (0x62c0 >> 6):
	 case (0x6300 >> 6):
	 case (0x6340 >> 6):
	 case (0x6380 >> 6):
	 case (0x63c0 >> 6):
	 case (0x6400 >> 6):
	 case (0x6440 >> 6):
	 case (0x6480 >> 6):
	 case (0x64c0 >> 6):
	 case (0x6500 >> 6):
	 case (0x6540 >> 6):
	 case (0x6580 >> 6):
	 case (0x65c0 >> 6):
	 case (0x6600 >> 6):
	 case (0x6640 >> 6):
	 case (0x6680 >> 6):
	 case (0x66c0 >> 6):
	 case (0x6700 >> 6):
	 case (0x6740 >> 6):
	 case (0x6780 >> 6):
	 case (0x67c0 >> 6):
	 case (0x6800 >> 6):
	 case (0x6840 >> 6):
	 case (0x6880 >> 6):
	 case (0x68c0 >> 6):
	 case (0x6900 >> 6):
	 case (0x6940 >> 6):
	 case (0x6980 >> 6):
	 case (0x69c0 >> 6):
	 case (0x6a00 >> 6):
	 case (0x6a40 >> 6):
	 case (0x6a80 >> 6):
	 case (0x6ac0 >> 6):
	 case (0x6b00 >> 6):
	 case (0x6b40 >> 6):
	 case (0x6b80 >> 6):
	 case (0x6bc0 >> 6):
	 case (0x6c00 >> 6):
	 case (0x6c40 >> 6):
	 case (0x6c80 >> 6):
	 case (0x6cc0 >> 6):
	 case (0x6d00 >> 6):
	 case (0x6d40 >> 6):
	 case (0x6d80 >> 6):
	 case (0x6dc0 >> 6):
	 case (0x6e00 >> 6):
	 case (0x6e40 >> 6):
	 case (0x6e80 >> 6):
	 case (0x6ec0 >> 6):
	 case (0x6f00 >> 6):
	 case (0x6f40 >> 6):
	 case (0x6f80 >> 6):
	 case (0x6fc0 >> 6):
		// %0110_cccc00_000000	Bcc.W <label>
		// %0110_ccccnn_nnnnnn	Bcc.B <label>
		// %0110_cccc11_111111	Bcc.L <label>
		OP_FUNC(bcc);
		break;
	 case (0x7000 >> 6):
	 case (0x7040 >> 6):
	 case (0x7080 >> 6):
	 case (0x70c0 >> 6):
	 case (0x7200 >> 6):
	 case (0x7240 >> 6):
	 case (0x7280 >> 6):
	 case (0x72c0 >> 6):
	 case (0x7400 >> 6):
	 case (0x7440 >> 6):
	 case (0x7480 >> 6):
	 case (0x74c0 >> 6):
	 case (0x7600 >> 6):
	 case (0x7640 >> 6):
	 case (0x7680 >> 6):
	 case (0x76c0 >> 6):
	 case (0x7800 >> 6):
	 case (0x7840 >> 6):
	 case (0x7880 >> 6):
	 case (0x78c0 >> 6):
	 case (0x7a00 >> 6):
	 case (0x7a40 >> 6):
	 case (0x7a80 >> 6):
	 case (0x7ac0 >> 6):
	 case (0x7c00 >> 6):
	 case (0x7c40 >> 6):
	 case (0x7c80 >> 6):
	 case (0x7cc0 >> 6):
	 case (0x7e00 >> 6):
	 case (0x7e40 >> 6):
	 case (0x7e80 >> 6):
	 case (0x7ec0 >> 6):
		// %0111_xxx0nn_nnnnnn	MOVEQ.L #<imm>,Dx
		OP_FUNC(moveq);
		break;
	 case (0x8000 >> 6):
	 case (0x8200 >> 6):
	 case (0x8400 >> 6):
	 case (0x8600 >> 6):
	 case (0x8800 >> 6):
	 case (0x8a00 >> 6):
	 case (0x8c00 >> 6):
	 case (0x8e00 >> 6):
		// %1000_xxx000_mmmrrr	OR.B <ea>,Dx
		OP_FUNC(or_b_ea_dn);
		break;
	 case (0x8040 >> 6):
	 case (0x8240 >> 6):
	 case (0x8440 >> 6):
	 case (0x8640 >> 6):
	 case (0x8840 >> 6):
	 case (0x8a40 >> 6):
	 case (0x8c40 >> 6):
	 case (0x8e40 >> 6):
		// %1000_xxx001_mmmrrr	OR.W <ea>,Dx
		OP_FUNC(or_w_ea_dn);
		break;
	 case (0x8080 >> 6):
	 case (0x8280 >> 6):
	 case (0x8480 >> 6):
	 case (0x8680 >> 6):
	 case (0x8880 >> 6):
	 case (0x8a80 >> 6):
	 case (0x8c80 >> 6):
	 case (0x8e80 >> 6):
		// %1000_xxx010_mmmrrr	OR.L <ea>,Dx
		OP_FUNC(or_l_ea_dn);
		break;
	 case (0x80c0 >> 6):
	 case (0x82c0 >> 6):
	 case (0x84c0 >> 6):
	 case (0x86c0 >> 6):
	 case (0x88c0 >> 6):
	 case (0x8ac0 >> 6):
	 case (0x8cc0 >> 6):
	 case (0x8ec0 >> 6):
		// %1000_xxx011_mmmrrr	DIVU.W <ea>,Dx
		OP_FUNC(divu_w);
		break;
	 case (0x8100 >> 6):
	 case (0x8300 >> 6):
	 case (0x8500 >> 6):
	 case (0x8700 >> 6):
	 case (0x8900 >> 6):
	 case (0x8b00 >> 6):
	 case (0x8d00 >> 6):
	 case (0x8f00 >> 6):
		// %1000_xxx100_000yyy	SBCD.B Dy,Dx
		// %1000_xxx100_001yyy	SBCD.B -(Ay),-(Ax)
		// %1000_xxx100_mmmrrr	OR.B Dx,<ea>
		OP_FUNC(or_b_dn_ea);
		break;
	 case (0x8140 >> 6):
	 case (0x8340 >> 6):
	 case (0x8540 >> 6):
	 case (0x8740 >> 6):
	 case (0x8940 >> 6):
	 case (0x8b40 >> 6):
	 case (0x8d40 >> 6):
	 case (0x8f40 >> 6):
		// %1000_xxx101_000yyy	PACK Dy,Dx,#<imm>
		// %1000_xxx101_001yyy	PACK -(Ay),-(Ax),#<imm>
		// %1000_xxx101_mmmrrr	OR.W Dx,<ea>
		OP_FUNC(or_w_dn_ea);
		break;
	 case (0x8180 >> 6):
	 case (0x8380 >> 6):
	 case (0x8580 >> 6):
	 case (0x8780 >> 6):
	 case (0x8980 >> 6):
	 case (0x8b80 >> 6):
	 case (0x8d80 >> 6):
	 case (0x8f80 >> 6):
		// %1000_xxx110_000yyy	UNPK Dy,Dx,#<imm>
		// %1000_xxx110_001yyy	UNPK -(Ay),-(Ax),#<imm>
		// %1000_xxx110_mmmrrr	OR.L Dx,<ea>
		OP_FUNC(or_l_dn_ea);
		break;
	 case (0x81c0 >> 6):
	 case (0x83c0 >> 6):
	 case (0x85c0 >> 6):
	 case (0x87c0 >> 6):
	 case (0x89c0 >> 6):
	 case (0x8bc0 >> 6):
	 case (0x8dc0 >> 6):
	 case (0x8fc0 >> 6):
		// %1000_xxx111_mmmrrr	DIVS.W <ea>,Dx
		OP_FUNC(divs_w);
		break;
	 case (0x9000 >> 6):
	 case (0x9200 >> 6):
	 case (0x9400 >> 6):
	 case (0x9600 >> 6):
	 case (0x9800 >> 6):
	 case (0x9a00 >> 6):
	 case (0x9c00 >> 6):
	 case (0x9e00 >> 6):
		// %1001_xxx000_mmmrrr	SUB.B <ea>,Dx
		OP_FUNC(sub_b_ea_dn);
		break;
	 case (0x9040 >> 6):
	 case (0x9240 >> 6):
	 case (0x9440 >> 6):
	 case (0x9640 >> 6):
	 case (0x9840 >> 6):
	 case (0x9a40 >> 6):
	 case (0x9c40 >> 6):
	 case (0x9e40 >> 6):
		// %1001_xxx001_mmmrrr	SUB.W <ea>,Dx
		OP_FUNC(sub_w_ea_dn);
		break;
	 case (0x9080 >> 6):
	 case (0x9280 >> 6):
	 case (0x9480 >> 6):
	 case (0x9680 >> 6):
	 case (0x9880 >> 6):
	 case (0x9a80 >> 6):
	 case (0x9c80 >> 6):
	 case (0x9e80 >> 6):
		// %1001_xxx010_mmmrrr	SUB.L <ea>,Dx
		OP_FUNC(sub_l_ea_dn);
		break;
	 case (0x90c0 >> 6):
	 case (0x92c0 >> 6):
	 case (0x94c0 >> 6):
	 case (0x96c0 >> 6):
	 case (0x98c0 >> 6):
	 case (0x9ac0 >> 6):
	 case (0x9cc0 >> 6):
	 case (0x9ec0 >> 6):
		// %1001_xxx011_mmmrrr	SUBA.W <ea>,Ax
		OP_FUNC(suba_w);
		break;
	 case (0x9100 >> 6):
	 case (0x9300 >> 6):
	 case (0x9500 >> 6):
	 case (0x9700 >> 6):
	 case (0x9900 >> 6):
	 case (0x9b00 >> 6):
	 case (0x9d00 >> 6):
	 case (0x9f00 >> 6):
		// %1001_xxx100_000yyy	SUBX.B Dy,Dx
		// %1001_xxx100_001yyy	SUBX.B -(Ay),-(Ax)
		// %1001_xxx100_mmmrrr	SUB.B Dx,<ea>
		OP_FUNC(sub_b_dn_ea);
		break;
	 case (0x9140 >> 6):
	 case (0x9340 >> 6):
	 case (0x9540 >> 6):
	 case (0x9740 >> 6):
	 case (0x9940 >> 6):
	 case (0x9b40 >> 6):
	 case (0x9d40 >> 6):
	 case (0x9f40 >> 6):
		// %1001_xxx101_000yyy	SUBX.W Dy,Dx
		// %1001_xxx101_001yyy	SUBX.W -(Ay),-(Ax)
		// %1001_xxx101_mmmrrr	SUB.W Dx,<ea>
		OP_FUNC(sub_w_dn_ea);
		break;
	 case (0x9180 >> 6):
	 case (0x9380 >> 6):
	 case (0x9580 >> 6):
	 case (0x9780 >> 6):
	 case (0x9980 >> 6):
	 case (0x9b80 >> 6):
	 case (0x9d80 >> 6):
	 case (0x9f80 >> 6):
		// %1001_xxx110_000yyy	SUBX.L Dy,Dx
		// %1001_xxx110_001yyy	SUBX.L -(Ay),-(Ax)
		// %1001_xxx110_mmmrrr	SUB.L Dx,<ea>
		OP_FUNC(sub_l_dn_ea);
		break;
	 case (0x91c0 >> 6):
	 case (0x93c0 >> 6):
	 case (0x95c0 >> 6):
	 case (0x97c0 >> 6):
	 case (0x99c0 >> 6):
	 case (0x9bc0 >> 6):
	 case (0x9dc0 >> 6):
	 case (0x9fc0 >> 6):
		// %1001_xxx111_mmmrrr	SUBA.L <ea>,Ax
		OP_FUNC(suba_l);
		break;
	 case (0xa000 >> 6):
	 case (0xa040 >> 6):
	 case (0xa080 >> 6):
	 case (0xa0c0 >> 6):
	 case (0xa100 >> 6):
	 case (0xa140 >> 6):
	 case (0xa180 >> 6):
	 case (0xa1c0 >> 6):
	 case (0xa200 >> 6):
	 case (0xa240 >> 6):
	 case (0xa280 >> 6):
	 case (0xa2c0 >> 6):
	 case (0xa300 >> 6):
	 case (0xa340 >> 6):
	 case (0xa380 >> 6):
	 case (0xa3c0 >> 6):
	 case (0xa400 >> 6):
	 case (0xa440 >> 6):
	 case (0xa480 >> 6):
	 case (0xa4c0 >> 6):
	 case (0xa500 >> 6):
	 case (0xa540 >> 6):
	 case (0xa580 >> 6):
	 case (0xa5c0 >> 6):
	 case (0xa600 >> 6):
	 case (0xa640 >> 6):
	 case (0xa680 >> 6):
	 case (0xa6c0 >> 6):
	 case (0xa700 >> 6):
	 case (0xa740 >> 6):
	 case (0xa780 >> 6):
	 case (0xa7c0 >> 6):
	 case (0xa800 >> 6):
	 case (0xa840 >> 6):
	 case (0xa880 >> 6):
	 case (0xa8c0 >> 6):
	 case (0xa900 >> 6):
	 case (0xa940 >> 6):
	 case (0xa980 >> 6):
	 case (0xa9c0 >> 6):
	 case (0xaa00 >> 6):
	 case (0xaa40 >> 6):
	 case (0xaa80 >> 6):
	 case (0xaac0 >> 6):
	 case (0xab00 >> 6):
	 case (0xab40 >> 6):
	 case (0xab80 >> 6):
	 case (0xabc0 >> 6):
	 case (0xac00 >> 6):
	 case (0xac40 >> 6):
	 case (0xac80 >> 6):
	 case (0xacc0 >> 6):
	 case (0xad00 >> 6):
	 case (0xad40 >> 6):
	 case (0xad80 >> 6):
	 case (0xadc0 >> 6):
	 case (0xae00 >> 6):
	 case (0xae40 >> 6):
	 case (0xae80 >> 6):
	 case (0xaec0 >> 6):
	 case (0xaf00 >> 6):
	 case (0xaf40 >> 6):
	 case (0xaf80 >> 6):
	 case (0xafc0 >> 6):
		// %1010_nnnnnn_nnnnnn	A-Line
		OP_FUNC(aline);
		break;
	 case (0xb000 >> 6):
	 case (0xb200 >> 6):
	 case (0xb400 >> 6):
	 case (0xb600 >> 6):
	 case (0xb800 >> 6):
	 case (0xba00 >> 6):
	 case (0xbc00 >> 6):
	 case (0xbe00 >> 6):
		// %1011_xxx000_mmmrrr	CMP.B <ea>,Dx
		OP_FUNC(cmp_b);
		break;
	 case (0xb040 >> 6):
	 case (0xb240 >> 6):
	 case (0xb440 >> 6):
	 case (0xb640 >> 6):
	 case (0xb840 >> 6):
	 case (0xba40 >> 6):
	 case (0xbc40 >> 6):
	 case (0xbe40 >> 6):
		// %1011_xxx001_mmmrrr	CMP.W <ea>,Dx
		OP_FUNC(cmp_w);
		break;
	 case (0xb080 >> 6):
	 case (0xb280 >> 6):
	 case (0xb480 >> 6):
	 case (0xb680 >> 6):
	 case (0xb880 >> 6):
	 case (0xba80 >> 6):
	 case (0xbc80 >> 6):
	 case (0xbe80 >> 6):
		// %1011_xxx010_mmmrrr	CMP.L <ea>,Dx
		OP_FUNC(cmp_l);
		break;
	 case (0xb0c0 >> 6):
	 case (0xb2c0 >> 6):
	 case (0xb4c0 >> 6):
	 case (0xb6c0 >> 6):
	 case (0xb8c0 >> 6):
	 case (0xbac0 >> 6):
	 case (0xbcc0 >> 6):
	 case (0xbec0 >> 6):
		// %1011_xxx011_mmmrrr	CMPA.W <ea>,Ax
		OP_FUNC(cmpa_w);
		break;
	 case (0xb100 >> 6):
	 case (0xb300 >> 6):
	 case (0xb500 >> 6):
	 case (0xb700 >> 6):
	 case (0xb900 >> 6):
	 case (0xbb00 >> 6):
	 case (0xbd00 >> 6):
	 case (0xbf00 >> 6):
		// %1011_xxx100_mmmrrr	EOR.B Dx,<ea>
		// %1011_xxx100_001yyy	CMPM.B (Ay)+,(Ax)+
		OP_FUNC(eor_b);
		break;
	 case (0xb140 >> 6):
	 case (0xb340 >> 6):
	 case (0xb540 >> 6):
	 case (0xb740 >> 6):
	 case (0xb940 >> 6):
	 case (0xbb40 >> 6):
	 case (0xbd40 >> 6):
	 case (0xbf40 >> 6):
		// %1011_xxx101_mmmrrr	EOR.W Dx,<ea>
		// %1011_xxx101_001yyy	CMPM.W (Ay)+,(Ax)+
		OP_FUNC(eor_w);
		break;
	 case (0xb180 >> 6):
	 case (0xb380 >> 6):
	 case (0xb580 >> 6):
	 case (0xb780 >> 6):
	 case (0xb980 >> 6):
	 case (0xbb80 >> 6):
	 case (0xbd80 >> 6):
	 case (0xbf80 >> 6):
		// %1011_xxx110_mmmrrr	EOR.L Dx,<ea>
		// %1011_xxx110_001yyy	CMPM.L (Ay)+,(Ax)+
		OP_FUNC(eor_l);
		break;
	 case (0xb1c0 >> 6):
	 case (0xb3c0 >> 6):
	 case (0xb5c0 >> 6):
	 case (0xb7c0 >> 6):
	 case (0xb9c0 >> 6):
	 case (0xbbc0 >> 6):
	 case (0xbdc0 >> 6):
	 case (0xbfc0 >> 6):
		// %1011_xxx111_mmmrrr	CMPA.L <ea>,Ax
		OP_FUNC(cmpa_l);
		break;
	 case (0xc000 >> 6):
	 case (0xc200 >> 6):
	 case (0xc400 >> 6):
	 case (0xc600 >> 6):
	 case (0xc800 >> 6):
	 case (0xca00 >> 6):
	 case (0xcc00 >> 6):
	 case (0xce00 >> 6):
		// %1100_xxx000_mmmrrr	AND.B <ea>,Dx
		OP_FUNC(and_b_ea_dn);
		break;
	 case (0xc040 >> 6):
	 case (0xc240 >> 6):
	 case (0xc440 >> 6):
	 case (0xc640 >> 6):
	 case (0xc840 >> 6):
	 case (0xca40 >> 6):
	 case (0xcc40 >> 6):
	 case (0xce40 >> 6):
		// %1100_xxx001_mmmrrr	AND.W <ea>,Dx
		OP_FUNC(and_w_ea_dn);
		break;
	 case (0xc080 >> 6):
	 case (0xc280 >> 6):
	 case (0xc480 >> 6):
	 case (0xc680 >> 6):
	 case (0xc880 >> 6):
	 case (0xca80 >> 6):
	 case (0xcc80 >> 6):
	 case (0xce80 >> 6):
		// %1100_xxx010_mmmrrr	AND.L <ea>,Dx
		OP_FUNC(and_l_ea_dn);
		break;
	 case (0xc0c0 >> 6):
	 case (0xc2c0 >> 6):
	 case (0xc4c0 >> 6):
	 case (0xc6c0 >> 6):
	 case (0xc8c0 >> 6):
	 case (0xcac0 >> 6):
	 case (0xccc0 >> 6):
	 case (0xcec0 >> 6):
		// %1100_xxx011_mmmrrr	MULU.W <ea>,Dx
		OP_FUNC(mulu_w);
		break;
	 case (0xc100 >> 6):
	 case (0xc300 >> 6):
	 case (0xc500 >> 6):
	 case (0xc700 >> 6):
	 case (0xc900 >> 6):
	 case (0xcb00 >> 6):
	 case (0xcd00 >> 6):
	 case (0xcf00 >> 6):
		// %1100_xxx100_000yyy	ABCD.B Dy,Dx
		// %1100_xxx100_001yyy	ABCD.B -(Ay),-(Ax)
		// %1100_xxx100_mmmrrr	AND.B Dx,<ea>
		OP_FUNC(and_b_dn_ea);
		break;
	 case (0xc140 >> 6):
	 case (0xc340 >> 6):
	 case (0xc540 >> 6):
	 case (0xc740 >> 6):
	 case (0xc940 >> 6):
	 case (0xcb40 >> 6):
	 case (0xcd40 >> 6):
	 case (0xcf40 >> 6):
		// %1100_xxx101_000yyy	EXG.L Dx,Dy
		// %1100_xxx101_001yyy	EXG.L Ax,Ay
		// %1100_xxx101_mmmrrr	AND.W Dx,<ea>
		OP_FUNC(and_w_dn_ea);
		break;
	 case (0xc180 >> 6):
	 case (0xc380 >> 6):
	 case (0xc580 >> 6):
	 case (0xc780 >> 6):
	 case (0xc980 >> 6):
	 case (0xcb80 >> 6):
	 case (0xcd80 >> 6):
	 case (0xcf80 >> 6):
		// %1100_xxx110_001yyy	EXG.L Dx,Ay
		// %1100_xxx110_mmmrrr	AND.L Dx,<ea>
		OP_FUNC(and_l_dn_ea);
		break;
	 case (0xc1c0 >> 6):
	 case (0xc3c0 >> 6):
	 case (0xc5c0 >> 6):
	 case (0xc7c0 >> 6):
	 case (0xc9c0 >> 6):
	 case (0xcbc0 >> 6):
	 case (0xcdc0 >> 6):
	 case (0xcfc0 >> 6):
		// %1100_xxx111_mmmrrr	MULS.W <ea>,Dx
		OP_FUNC(muls_w);
		break;
	 case (0xd000 >> 6):
	 case (0xd200 >> 6):
	 case (0xd400 >> 6):
	 case (0xd600 >> 6):
	 case (0xd800 >> 6):
	 case (0xda00 >> 6):
	 case (0xdc00 >> 6):
	 case (0xde00 >> 6):
		// %1101_xxx000_mmmrrr	ADD.B <ea>,Dx
		OP_FUNC(add_b_ea_dn);
		break;
	 case (0xd040 >> 6):
	 case (0xd240 >> 6):
	 case (0xd440 >> 6):
	 case (0xd640 >> 6):
	 case (0xd840 >> 6):
	 case (0xda40 >> 6):
	 case (0xdc40 >> 6):
	 case (0xde40 >> 6):
		// %1101_xxx001_mmmrrr	ADD.W <ea>,Dx
		OP_FUNC(add_w_ea_dn);
		break;
	 case (0xd080 >> 6):
	 case (0xd280 >> 6):
	 case (0xd480 >> 6):
	 case (0xd680 >> 6):
	 case (0xd880 >> 6):
	 case (0xda80 >> 6):
	 case (0xdc80 >> 6):
	 case (0xde80 >> 6):
		// %1101_xxx010_mmmrrr	ADD.L <ea>,Dx
		OP_FUNC(add_l_ea_dn);
		break;
	 case (0xd0c0 >> 6):
	 case (0xd2c0 >> 6):
	 case (0xd4c0 >> 6):
	 case (0xd6c0 >> 6):
	 case (0xd8c0 >> 6):
	 case (0xdac0 >> 6):
	 case (0xdcc0 >> 6):
	 case (0xdec0 >> 6):
		// %1101_xxx011_mmmrrr	ADDA.W <ea>,Ax
		OP_FUNC(adda_w);
		break;
	 case (0xd100 >> 6):
	 case (0xd300 >> 6):
	 case (0xd500 >> 6):
	 case (0xd700 >> 6):
	 case (0xd900 >> 6):
	 case (0xdb00 >> 6):
	 case (0xdd00 >> 6):
	 case (0xdf00 >> 6):
		// %1101_xxx100_000yyy	ADDX.B Dy,Dx
		// %1101_xxx100_001yyy	ADDX.B -(Ay),-(Ax)
		// %1101_xxx100_mmmrrr	ADD.B Dx,<ea>
		OP_FUNC(add_b_dn_ea);
		break;
	 case (0xd140 >> 6):
	 case (0xd340 >> 6):
	 case (0xd540 >> 6):
	 case (0xd740 >> 6):
	 case (0xd940 >> 6):
	 case (0xdb40 >> 6):
	 case (0xdd40 >> 6):
	 case (0xdf40 >> 6):
		// %1101_xxx101_000yyy	ADDX.W Dy,Dx
		// %1101_xxx101_001yyy	ADDX.W -(Ay),-(Ax)
		// %1101_xxx101_mmmrrr	ADD.W Dx,<ea>
		OP_FUNC(add_w_dn_ea);
		break;
	 case (0xd180 >> 6):
	 case (0xd380 >> 6):
	 case (0xd580 >> 6):
	 case (0xd780 >> 6):
	 case (0xd980 >> 6):
	 case (0xdb80 >> 6):
	 case (0xdd80 >> 6):
	 case (0xdf80 >> 6):
		// %1101_xxx110_000yyy	ADDX.L Dy,Dx
		// %1101_xxx110_001yyy	ADDX.L -(Ay),-(Ax)
		// %1101_xxx110_mmmrrr	ADD.L Dx,<ea>
		OP_FUNC(add_l_dn_ea);
		break;
	 case (0xd1c0 >> 6):
	 case (0xd3c0 >> 6):
	 case (0xd5c0 >> 6):
	 case (0xd7c0 >> 6):
	 case (0xd9c0 >> 6):
	 case (0xdbc0 >> 6):
	 case (0xddc0 >> 6):
	 case (0xdfc0 >> 6):
		// %1101_xxx111_mmmrrr	ADDA.L <ea>,Ax
		OP_FUNC(adda_l);
		break;
	 case (0xe000 >> 6):
	 case (0xe200 >> 6):
	 case (0xe400 >> 6):
	 case (0xe600 >> 6):
	 case (0xe800 >> 6):
	 case (0xea00 >> 6):
	 case (0xec00 >> 6):
	 case (0xee00 >> 6):
		// %1110_qqq000_000yyy	ASR.B #qqq,Dy
		// %1110_qqq000_001yyy	LSR.B #qqq,Dy
		// %1110_qqq000_010yyy	ROXR.B #qqq,Dy
		// %1110_qqq000_011yyy	ROR.B #qqq,Dy
		// %1110_xxx000_100yyy	ASR.B Dx,Dy
		// %1110_xxx000_101yyy	LSR.B Dx,Dy
		// %1110_xxx000_110yyy	ROXR.B Dx,Dy
		// %1110_xxx000_111yyy	ROR.B Dx,Dy
		OP_FUNC(asr_b_imm);
		break;
	 case (0xe040 >> 6):
	 case (0xe240 >> 6):
	 case (0xe440 >> 6):
	 case (0xe640 >> 6):
	 case (0xe840 >> 6):
	 case (0xea40 >> 6):
	 case (0xec40 >> 6):
	 case (0xee40 >> 6):
		// %1110_qqq001_000yyy	ASR.W #qqq,Dy
		// %1110_qqq001_001yyy	LSR.W #qqq,Dy
		// %1110_qqq001_010yyy	ROXR.W #qqq,Dy
		// %1110_qqq001_011yyy	ROR.W #qqq,Dy
		// %1110_xxx001_100yyy	ASR.W Dx,Dy
		// %1110_xxx001_101yyy	LSR.W Dx,Dy
		// %1110_xxx001_110yyy	ROXR.W Dx,Dy
		// %1110_xxx001_111yyy	ROR.W Dx,Dy
		OP_FUNC(asr_w_imm);
		break;
	 case (0xe080 >> 6):
	 case (0xe280 >> 6):
	 case (0xe480 >> 6):
	 case (0xe680 >> 6):
	 case (0xe880 >> 6):
	 case (0xea80 >> 6):
	 case (0xec80 >> 6):
	 case (0xee80 >> 6):
		// %1110_qqq010_000yyy	ASR.L #qqq,Dy
		// %1110_qqq010_001yyy	LSR.L #qqq,Dy
		// %1110_qqq010_010yyy	ROXR.L #qqq,Dy
		// %1110_qqq010_011yyy	ROR.L #qqq,Dy
		// %1110_xxx010_100yyy	ASR.L Dx,Dy
		// %1110_xxx010_101yyy	LSR.L Dx,Dy
		// %1110_xxx010_110yyy	ROXR.L Dx,Dy
		// %1110_xxx010_111yyy	ROR.L Dx,Dy
		OP_FUNC(asr_l_imm);
		break;
	 case (0xe0c0 >> 6):
		// %1110_000011_mmmrrr	ASR.W <ea>
		OP_FUNC(asr_w);
		break;
	 case (0xe100 >> 6):
	 case (0xe300 >> 6):
	 case (0xe500 >> 6):
	 case (0xe700 >> 6):
	 case (0xe900 >> 6):
	 case (0xeb00 >> 6):
	 case (0xed00 >> 6):
	 case (0xef00 >> 6):
		// %1110_qqq100_000yyy	ASL.B #qqq,Dy
		// %1110_qqq100_001yyy	LSL.B #qqq,Dy
		// %1110_qqq100_010yyy	ROXL.B #qqq,Dy
		// %1110_qqq100_011yyy	ROL.B #qqq,Dy
		// %1110_xxx100_100yyy	ASL.B Dx,Dy
		// %1110_xxx100_101yyy	LSL.B Dx,Dy
		// %1110_xxx100_110yyy	ROXL.B Dx,Dy
		// %1110_xxx100_111yyy	ROL.B Dx,Dy
		OP_FUNC(asl_b_imm);
		break;
	 case (0xe140 >> 6):
	 case (0xe340 >> 6):
	 case (0xe540 >> 6):
	 case (0xe740 >> 6):
	 case (0xe940 >> 6):
	 case (0xeb40 >> 6):
	 case (0xed40 >> 6):
	 case (0xef40 >> 6):
		// %1110_qqq101_000yyy	ASL.W #qqq,Dy
		// %1110_qqq101_001yyy	LSL.W #qqq,Dy
		// %1110_qqq101_010yyy	ROXL.W #qqq,Dy
		// %1110_qqq101_011yyy	ROL.W #qqq,Dy
		// %1110_xxx101_100yyy	ASL.W Dx,Dy
		// %1110_xxx101_101yyy	LSL.W Dx,Dy
		// %1110_xxx101_110yyy	ROXL.W Dx,Dy
		// %1110_xxx101_111yyy	ROL.W Dx,Dy
		OP_FUNC(asl_w_imm);
		break;
	 case (0xe180 >> 6):
	 case (0xe380 >> 6):
	 case (0xe580 >> 6):
	 case (0xe780 >> 6):
	 case (0xe980 >> 6):
	 case (0xeb80 >> 6):
	 case (0xed80 >> 6):
	 case (0xef80 >> 6):
		// %1110_qqq110_000yyy	ASL.L #qqq,Dy
		// %1110_qqq110_001yyy	LSL.L #qqq,Dy
		// %1110_qqq110_010yyy	ROXL.L #qqq,Dy
		// %1110_qqq110_011yyy	ROL.L #qqq,Dy
		// %1110_xxx110_100yyy	ASL.L Dx,Dy
		// %1110_xxx110_101yyy	LSL.L Dx,Dy
		// %1110_xxx110_110yyy	ROXL.L Dx,Dy
		// %1110_xxx110_111yyy	ROL.L Dx,Dy
		OP_FUNC(asl_l_imm);
		break;
	 case (0xe1c0 >> 6):
		// %1110_000111_mmmrrr	ASL.W <ea>
		OP_FUNC(asl_w);
		break;
	 case (0xe2c0 >> 6):
		// %1110_001011_mmmrrr	LSR.W <ea>
		OP_FUNC(lsr_w);
		break;
	 case (0xe3c0 >> 6):
		// %1110_001111_mmmrrr	LSL.W <ea>
		OP_FUNC(lsl_w);
		break;
	 case (0xe4c0 >> 6):
		// %1110_010011_mmmrrr	ROXR.W <ea>
		OP_FUNC(roxr_w);
		break;
	 case (0xe5c0 >> 6):
		// %1110_010111_mmmrrr	ROXL.W <ea>
		OP_FUNC(roxl_w);
		break;
	 case (0xe6c0 >> 6):
		// %1110_011011_mmmrrr	ROR.W <ea>
		OP_FUNC(ror_w);
		break;
	 case (0xe7c0 >> 6):
		// %1110_011111_mmmrrr	ROL.W <ea>
		OP_FUNC(rol_w);
		break;
	 case (0xe8c0 >> 6):
		// %1110_100011_mmmrrr	BFTST <ea>{#o:#w}
		OP_FUNC(bftst);
		break;
	 case (0xe9c0 >> 6):
		// %1110_100111_mmmrrr	BFEXTU <ea>{#o:#w},Dn
		OP_FUNC(bfextu);
		break;
	 case (0xeac0 >> 6):
		// %1110_101011_mmmrrr	BFCHG <ea>{#o:#w}
		OP_FUNC(bfchg);
		break;
	 case (0xebc0 >> 6):
		// %1110_101111_mmmrrr	BFEXTS <ea>{#o:#w},Dn
		OP_FUNC(bfexts);
		break;
	 case (0xecc0 >> 6):
		// %1110_110011_mmmrrr	BFCLR <ea>{#o:#w}
		OP_FUNC(bfclr);
		break;
	 case (0xedc0 >> 6):
		// %1110_110111_mmmrrr	BFFFO <ea>{#o:#w},Dn
		OP_FUNC(bfffo);
		break;
	 case (0xeec0 >> 6):
		// %1110_111011_mmmrrr	BFSET <ea>{#o:#w}
		OP_FUNC(bfset);
		break;
	 case (0xefc0 >> 6):
		// %1110_111111_mmmrrr	BFINS Dn,<ea>{#o:#w}
		OP_FUNC(bfins);
		break;
	 case (0xf000 >> 6):
	 case (0xf040 >> 6):
	 case (0xf080 >> 6):
	 case (0xf0c0 >> 6):
	 case (0xf100 >> 6):
	 case (0xf140 >> 6):
	 case (0xf180 >> 6):
	 case (0xf1c0 >> 6):
		// %1111_000nnn_nnnnnn	MMU_OP
		OP_FUNC(mmuop);
		break;
	 case (0xf200 >> 6):
		// %1111_001000_nnnnnn	FPGEN
		OP_FUNC(fpgen);
		break;
	 case (0xf240 >> 6):
		// %1111_001001_nnnnnn	FScc.B <ea>
		// %1111_001001_001yyy	FDBcc Dy,<label>
		// %1111_001001_111010	FTRAPcc.W #<imm>
		// %1111_001001_111011	FTRAPcc.L #<imm>
		// %1111_001001_111100	FTRAPcc
		OP_FUNC(fxcc);
		break;
	 case (0xf280 >> 6):
		// %1111_001010_nnnnnn	FBcc.W <label>
		OP_FUNC(fbcc_w);
		break;
	 case (0xf2c0 >> 6):
		// %1111_001011_nnnnnn	FBcc.L <label>
		OP_FUNC(fbcc_l);
		break;
	 case (0xf300 >> 6):
		// %1111_001100_mmmrrr	FSAVE <ea>
		OP_FUNC(fsave);
		break;
	 case (0xf340 >> 6):
		// %1111_001101_mmmrrr	FRESTORE <ea>
		OP_FUNC(frestore);
		break;
	 case (0xf380 >> 6):
	 case (0xf3c0 >> 6):
	 case (0xf400 >> 6):
	 case (0xf440 >> 6):
	 case (0xf480 >> 6):
	 case (0xf4c0 >> 6):
	 case (0xf500 >> 6):
	 case (0xf540 >> 6):
	 case (0xf580 >> 6):
	 case (0xf5c0 >> 6):
	 case (0xf600 >> 6):
	 case (0xf640 >> 6):
	 case (0xf680 >> 6):
	 case (0xf6c0 >> 6):
	 case (0xf700 >> 6):
	 case (0xf740 >> 6):
	 case (0xf780 >> 6):
	 case (0xf7c0 >> 6):
	 case (0xf800 >> 6):
	 case (0xf840 >> 6):
	 case (0xf880 >> 6):
	 case (0xf8c0 >> 6):
	 case (0xf900 >> 6):
	 case (0xf940 >> 6):
	 case (0xf980 >> 6):
	 case (0xf9c0 >> 6):
	 case (0xfa00 >> 6):
	 case (0xfa40 >> 6):
	 case (0xfa80 >> 6):
	 case (0xfac0 >> 6):
	 case (0xfb00 >> 6):
	 case (0xfb40 >> 6):
	 case (0xfb80 >> 6):
	 case (0xfbc0 >> 6):
	 case (0xfc00 >> 6):
	 case (0xfc40 >> 6):
	 case (0xfc80 >> 6):
	 case (0xfcc0 >> 6):
	 case (0xfd00 >> 6):
	 case (0xfd40 >> 6):
	 case (0xfd80 >> 6):
	 case (0xfdc0 >> 6):
	 case (0xfe00 >> 6):
	 case (0xfe40 >> 6):
	 case (0xfe80 >> 6):
	 case (0xfec0 >> 6):
	 case (0xff00 >> 6):
	 case (0xff40 >> 6):
	 case (0xff80 >> 6):
	 case (0xffc0 >> 6):
		// %1111_nnnnnn_nnnnnn	F-Line
		OP_FUNC(fline);
		break;
	 case (0x1040 >> 6):
	 case (0x1240 >> 6):
	 case (0x1440 >> 6):
	 case (0x15c0 >> 6):
	 case (0x1640 >> 6):
	 case (0x17c0 >> 6):
	 case (0x1840 >> 6):
	 case (0x19c0 >> 6):
	 case (0x1a40 >> 6):
	 case (0x1bc0 >> 6):
	 case (0x1c40 >> 6):
	 case (0x1dc0 >> 6):
	 case (0x1e40 >> 6):
	 case (0x1fc0 >> 6):
	 case (0x25c0 >> 6):
	 case (0x27c0 >> 6):
	 case (0x29c0 >> 6):
	 case (0x2bc0 >> 6):
	 case (0x2dc0 >> 6):
	 case (0x2fc0 >> 6):
	 case (0x35c0 >> 6):
	 case (0x37c0 >> 6):
	 case (0x39c0 >> 6):
	 case (0x3bc0 >> 6):
	 case (0x3dc0 >> 6):
	 case (0x3fc0 >> 6):
	 case (0x4140 >> 6):
	 case (0x4340 >> 6):
	 case (0x4540 >> 6):
	 case (0x4740 >> 6):
	 case (0x4940 >> 6):
	 case (0x4b40 >> 6):
	 case (0x4d40 >> 6):
	 case (0x4e00 >> 6):
	 case (0x4f40 >> 6):
	 case (0x7100 >> 6):
	 case (0x7140 >> 6):
	 case (0x7180 >> 6):
	 case (0x71c0 >> 6):
	 case (0x7300 >> 6):
	 case (0x7340 >> 6):
	 case (0x7380 >> 6):
	 case (0x73c0 >> 6):
	 case (0x7500 >> 6):
	 case (0x7540 >> 6):
	 case (0x7580 >> 6):
	 case (0x75c0 >> 6):
	 case (0x7700 >> 6):
	 case (0x7740 >> 6):
	 case (0x7780 >> 6):
	 case (0x77c0 >> 6):
	 case (0x7900 >> 6):
	 case (0x7940 >> 6):
	 case (0x7980 >> 6):
	 case (0x79c0 >> 6):
	 case (0x7b00 >> 6):
	 case (0x7b40 >> 6):
	 case (0x7b80 >> 6):
	 case (0x7bc0 >> 6):
	 case (0x7d00 >> 6):
	 case (0x7d40 >> 6):
	 case (0x7d80 >> 6):
	 case (0x7dc0 >> 6):
	 case (0x7f00 >> 6):
	 case (0x7f40 >> 6):
	 case (0x7f80 >> 6):
	 case (0x7fc0 >> 6):
		OP_FUNC(illegal);
		break;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.