コード例 #1
0
ファイル: MipsOpcodes.cpp プロジェクト: riwsakiP8/armips
// 110 |  ---  |  ---  |  ---  |  ---  |  ---  |  ---  |  ---  |  ---  |
//  hi |-------|-------|-------|-------|-------|-------|-------|-------|
	{ "ext",	"t,s,i5,je",	MIPS_SPECIAL3(0),			MA_PSP },
	{ "ins",	"t,s,i5,ji",	MIPS_SPECIAL3(4),			MA_PSP },
	
//     31-------26----------------------------------10--------5--------0
//     |=SPECIAL3|                                 | secfunc |ALLEGREX0|
//     ------11---------5-------------------------------5---------6-----
//     |--000--|--001--|--010--|--011--|--100--|--101--|--110--|--111--| lo
//  00 |  ---  |  ---  | WSBH  | WSBW  |  ---  |  ---  |  ---  |  ---  |
//  01 |  ---  |  ---  |  ---  |  ---  |  ---  |  ---  |  ---  |  ---  |
//  10 |  SEB  |  ---  |  ---  |  ---  |BITREV |  ---  |  ---  |  ---  |
//  11 |  SEH  |  ---  |  ---  |  ---  |  ---  |  ---  |  ---  |  ---  |
//  hi |-------|-------|-------|-------|-------|-------|-------|-------|
	// VVVVVV ----- ttttt ddddd VVVVV VVVVVV
	{ "wsbh",	"d,t",			MIPS_ALLEGREX0(0x02),		MA_PSP },
	{ "wsbh",	"d",			MIPS_ALLEGREX0(0x02),		MA_PSP },
	{ "wsbw",	"d,t",			MIPS_ALLEGREX0(0x03),		MA_PSP },
	{ "wsbw",	"d",			MIPS_ALLEGREX0(0x03),		MA_PSP },
	{ "seb",	"d,t",			MIPS_ALLEGREX0(0x10),		MA_PSP },
	{ "seb",	"d",			MIPS_ALLEGREX0(0x10),		MA_PSP },
	{ "bitrev",	"d,t",			MIPS_ALLEGREX0(0x14),		MA_PSP },
	{ "bitrev",	"d",			MIPS_ALLEGREX0(0x14),		MA_PSP },
	{ "seh",	"d,t",			MIPS_ALLEGREX0(0x18),		MA_PSP },
	{ "seh",	"d",			MIPS_ALLEGREX0(0x18),		MA_PSP },


//     VFPU4: This one is a bit messy.
//     31-------26------21---------------------------------------------0
//     |=   VFPU4|  rs  |                                              |
//     -----6-------5---------------------------------------------------
コード例 #2
0
//  hi |-------|-------|-------|-------|-------|-------|-------|-------|
	{ "cvt.s.w",	"D,S",		MIPS_COP1W(0x20),			MA_MIPS2,	0 },

//     31---------26-----23--------------------------------------------0
//     |= VFPU0| VOP | |
//     ------6--------3-------------------------------------------------
//     |--000--|--001--|--010--|--011--|--100--|--101--|--110--|--111--|
// 000 | VADD  | VSUB  | VSBN  | ---   | ---   | ---   | ---   | VDIV  | 00..07
//  hi |-------|-------|-------|-------|-------|-------|-------|-------|
	{ "vadd.S",		"vd,vs,vt",	MIPS_VFPU0(0x00),			MA_PSP,	MO_VFPU },
	{ "vsub.S",		"vd,vs,vt",	MIPS_VFPU0(0x01),			MA_PSP,	MO_VFPU },
	{ "vsbn.S",		"vd,vs,vt",	MIPS_VFPU0(0x02),			MA_PSP,	MO_VFPU },
	{ "vdiv.S",		"vd,vs,vt",	MIPS_VFPU0(0x07),			MA_PSP,	MO_VFPU },

	// allegrex0
	{ "seh",		"d,t",		MIPS_ALLEGREX0(16),			MA_PSP },
	{ "seh",		"d,t",		MIPS_ALLEGREX0(24),			MA_PSP },

	// END
	{ NULL,		NULL,		0,			0 }
};


const MipsArchDefinition mipsArchs[] = {
	// MARCH_PSX
	{ "PSX",		MA_MIPS1,							MA_EXPSX,	0 },
	// MARCH_N64
	{ "N64",		MA_MIPS1|MA_MIPS2|MA_MIPS3,			MA_EXN64,	MO_FPU },
	// MARCH_PS2
	{ "PS2",		MA_MIPS1|MA_MIPS2|MA_MIPS3|MA_PS2,	MA_EXPS2,	MO_64BIT|MO_FPU },
	// MARCH_PSP