Условный переход

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

Условный переход — команда программируемому вычислительному устройству на изменение порядка выполнения программы в соответствии с результатом проверки некоторого условия.

Наиболее часто условный переход имеет две стадии: на первой происходит сравнение между собой некоторых величин, определяющих условие перехода, на второй выполняется сам переход.

Необходимость корректной обработки условных переходов накладывает серъёзный отпечаток на логику работы современных конвейерных процессоров. Условные переходы могут выполняться двумя способами. Выполняемые условные переходы меняют значение счётчика команд процессора на вычисленное значение адреса перехода. Невыполняемые — прибавляют к значению счётчика команд число, равное длине текущей команды в байтах, для перехода к выполнению следующей команды. Неправильное определение типа условного перехода может приводить к возникновению существенных задержек в работе конвейера и соответственно к большой потери производительности компьютера.

В Turbo Pascal

var L: Label;
begin
<тело программы>
goto L;
//и дальше остальная программа.
end;

В С++

int i, j;
for(i = 0; i < 10; i++)
{
  // ...
 
  if(condition1)
    {
      j = 4;
      goto label1;
    }
 
  // ...
 
  for(j = 0; j < 10; j++)
  {
    // ... 
  label1: 
    // ... 
    if(condition2)
      {
        i = 6;
        goto label2;
      }
  }
 
  // ...
label2:
  // ...
}
Личные инструменты

Served in 0.169 secs.