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);
        }