public static void PerformFlagDetermination(LM machine)
        {
            MemoryItem var1 = new Variable(machine.GetValueOperand(machine.currentAddress, 1));
            MemoryItem var2 = new Variable(machine.GetValueOperand(machine.currentAddress, 2));

            comparisonOperations[ComparisonFlag.EQUAL]                = LMCommands.Equal(var1, var2);
            comparisonOperations[ComparisonFlag.N_EQUAL]              = LMCommands.NotEqual(var1, var2);
            comparisonOperations[ComparisonFlag.LESS]                 = LMCommands.Less(var1, var2);
            comparisonOperations[ComparisonFlag.GREATER]              = LMCommands.Greater(var1, var2);
            comparisonOperations[ComparisonFlag.LESS_OR_EQUAL]        = LMCommands.LessOrEqual(var1, var2);
            comparisonOperations[ComparisonFlag.GREATER_OR_EQUAL]     = LMCommands.GreaterOrEqual(var1, var2);
            comparisonOperations[ComparisonFlag.INS_LESS]             = LMCommands.UnsignedLess(var1, var2);
            comparisonOperations[ComparisonFlag.INS_GREATER]          = LMCommands.UnsignedGreater(var1, var2);
            comparisonOperations[ComparisonFlag.INS_LESS_OR_EQUAL]    = LMCommands.UnsignedLessOrEqual(var1, var2);
            comparisonOperations[ComparisonFlag.INS_GREATER_OR_EQUAL] = LMCommands.UnsignedGreaterOrEqual(var1, var2);

            machine.GoToNextAddress();
        }