private Instruction DecodeFormat(uint InstructionWord, Instruction InstructionToDecode) { if (InstructionToDecode.OpCode == 0) { return(RFormat.CreateInstruction(InstructionWord, InstructionToDecode.Address)); } else if (InstructionToDecode.OpCode == 2 || InstructionToDecode.OpCode == 3) { return(JFormat.CreateInstruction(InstructionWord, InstructionToDecode.Address)); } else { return(IFormat.CreateInstruction(InstructionWord, InstructionToDecode.Address)); } }