示例#1
0
static unsigned DasmSH2(char *buffer, unsigned pc, UINT16 opcode)
{
	UINT32 flags;

	pc += 2;

	switch((opcode >> 12) & 15)
	{
	case  0: flags = op0000(buffer,pc,opcode);	  break;
	case  1: flags = op0001(buffer,pc,opcode);	  break;
	case  2: flags = op0010(buffer,pc,opcode);	  break;
	case  3: flags = op0011(buffer,pc,opcode);	  break;
	case  4: flags = op0100(buffer,pc,opcode);	  break;
	case  5: flags = op0101(buffer,pc,opcode);	  break;
	case  6: flags = op0110(buffer,pc,opcode);	  break;
	case  7: flags = op0111(buffer,pc,opcode);	  break;
	case  8: flags = op1000(buffer,pc,opcode);	  break;
	case  9: flags = op1001(buffer,pc,opcode);	  break;
	case 10: flags = op1010(buffer,pc,opcode);	  break;
	case 11: flags = op1011(buffer,pc,opcode);	  break;
	case 12: flags = op1100(buffer,pc,opcode);	  break;
	case 13: flags = op1101(buffer,pc,opcode);	  break;
	case 14: flags = op1110(buffer,pc,opcode);	  break;
	default: flags = op1111(buffer,pc,opcode);	  break;
	}
	return 2 | flags | DASMFLAG_SUPPORTED;
}
示例#2
0
unsigned DasmSH2(char *buffer, unsigned pc)
{
	UINT16 opcode;
	opcode = cpu_readmem32bedw_word(pc & 0x1fffffff);
	pc += 2;

	switch((opcode >> 12) & 15)
	{
	case  0: op0000(buffer,pc,opcode);	  break;
	case  1: op0001(buffer,pc,opcode);	  break;
	case  2: op0010(buffer,pc,opcode);	  break;
	case  3: op0011(buffer,pc,opcode);	  break;
	case  4: op0100(buffer,pc,opcode);	  break;
	case  5: op0101(buffer,pc,opcode);	  break;
	case  6: op0110(buffer,pc,opcode);	  break;
	case  7: op0111(buffer,pc,opcode);	  break;
	case  8: op1000(buffer,pc,opcode);	  break;
	case  9: op1001(buffer,pc,opcode);	  break;
	case 10: op1010(buffer,pc,opcode);	  break;
	case 11: op1011(buffer,pc,opcode);	  break;
	case 12: op1100(buffer,pc,opcode);	  break;
	case 13: op1101(buffer,pc,opcode);	  break;
	case 14: op1110(buffer,pc,opcode);	  break;
	default: op1111(buffer,pc,opcode);	  break;
	}
	return 2;
}
示例#3
0
文件: sh_dasm.cpp 项目: Dagarman/mame
offs_t sh_disassembler::dasm_one(std::ostream &stream, offs_t pc, u16 opcode)
{
	uint32_t flags;

	pc += 2;

	if (m_is_sh34)
	{
		switch ((opcode >> 12) & 15)
		{
		case  0: flags = op0000_sh34(stream, pc, opcode); break;
		case  1: flags = op0001(stream, pc, opcode); break;
		case  2: flags = op0010(stream, pc, opcode); break;
		case  3: flags = op0011(stream, pc, opcode); break;
		case  4: flags = op0100_sh34(stream, pc, opcode); break;
		case  5: flags = op0101(stream, pc, opcode); break;
		case  6: flags = op0110(stream, pc, opcode); break;
		case  7: flags = op0111(stream, pc, opcode); break;
		case  8: flags = op1000(stream, pc, opcode); break;
		case  9: flags = op1001(stream, pc, opcode); break;
		case 10: flags = op1010(stream, pc, opcode); break;
		case 11: flags = op1011(stream, pc, opcode); break;
		case 12: flags = op1100(stream, pc, opcode); break;
		case 13: flags = op1101(stream, pc, opcode); break;
		case 14: flags = op1110(stream, pc, opcode); break;
		default: flags = op1111_sh34(stream, pc, opcode); break;
		}
	}
	else
	{
		switch ((opcode >> 12) & 15)