#pragma once

#include "MIPSInstructionFactory.h"

class CMIPSArchitecture : public CMIPSInstructionFactory
{
public:
								CMIPSArchitecture(MIPS_REGSIZE);
	virtual						~CMIPSArchitecture() = default;
	virtual void				GetInstructionMnemonic(CMIPS*, uint32, uint32, char*, unsigned int) = 0;
	virtual void				GetInstructionOperands(CMIPS*, uint32, uint32, char*, unsigned int) = 0;
	virtual MIPS_BRANCH_TYPE	IsInstructionBranch(CMIPS*, uint32, uint32)	= 0;
	virtual uint32				GetInstructionEffectiveAddress(CMIPS*, uint32, uint32) = 0;
};
