private void ProcessCode()
        {
            instructionCounter = instructions.Count;
            string[] codeLines = assemblyCode.GetCodeLines();
            for (int i = 0; i < codeLines.Length; i++)
            {
                if (!labelManager.IsLabelDeclaration(codeLines[i]) &&
                    !LineFormatter.ReservedWord(codeLines[i]) &&
                    !LineFormatter.IsCommentLine(codeLines[i]))
                {
                    string line = LineFormatter.FormatCodeLine(codeLines[i]);
                    try
                    {
                        Instruction instruction = InstructionFactory
                                                  .createInstruction(line, labelManager.labels, variableManager.variablesValues);

                        instructions.Add(instruction);
                        instructionCounter++;
                        if (instruction.GetType() == typeof(Pop1Instruction))
                        {
                            instructions.Add(
                                InstructionFactory.createInstruction(
                                    "2" + line, labelManager.labels, variableManager.variablesValues));
                            instructionCounter++;
                        }
                        else if (instruction.GetType() == typeof(Ret1Instruction))
                        {
                            instructions.Add(
                                InstructionFactory.createInstruction(
                                    "2" + line, labelManager.labels, variableManager.variablesValues));
                            instructionCounter++;
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine();
                        Console.WriteLine("ERROR EN LINEA: " + line);
                        Console.WriteLine();
                        Console.WriteLine(ex.Message);
                        Console.WriteLine(ex.StackTrace);
                        Console.ReadKey();
                    }
                }
            }
        }
 private void GetLabels()
 {
     string[] codeLines = assemblyCode.GetCodeLines();
     for (int i = 0; i < codeLines.Length; i++)
     {
         string line = LineFormatter.DeleteComments(codeLines[i]);
         if (labelManager.IsLabelDeclaration(line) && !LineFormatter.IsCommentLine(line))
         {
             labelManager.addLabel(line, instructionCounter);
         }
         else if (!LineFormatter.ReservedWord(line))
         {
             instructionCounter++;
             if (Instruction.isDoubleCycleInstruction(line))
             {
                 instructionCounter++;
             }
         }
     }
 }