private ushort AssembleInstruction(string line) { var keywords = line.Split(' '); var instruction = GetInstruction(keywords[0]); switch (InstructionHelper.GetInstructionClass(instruction)) { case ClassCodification.B1: instruction = AssembleInstructionB1(instruction, keywords); break; case ClassCodification.B2: instruction = AssembleInstructionB2(instruction, keywords[1]); break; case ClassCodification.B3: instruction = AssembleInstructionB3(instruction, keywords[1]); break; case ClassCodification.B4: return(instruction); break; default: throw new ArgumentOutOfRangeException(); } return(instruction); }