Ветвление и управление циклами

Команды условного перехода позволяют воздействовать на порядок выполнения команд программы в соответствии с получающимися во время работы результатами. Большое значение при этом имеет так называемый признак результата (Condition Code — СС). Теперь мы вполне готовы к исследованию машинной реализации выполнения переходов в соответствии с признаком результата.

Так как при организации любых более или менее сложных вычислений огромную роль играют циклические процессы, то естественно, что при проектировании ЭВМ особое внимание должно уделяться облегчению и увеличению эффективности программирования и выполнения циклов и соответственно включению в систему разнообразных команд, обеспечивающих решение этой задачи. Мы познакомимся со специальными командами управления циклами; некоторые из них являются командами нового для нас формата RS.

Признак результата определяется по 2-байтовому индикатору, который может находиться в четырех различных состояниях. Установка этого индикатора производится по командам, вырабатывающим признак результата. Условия перехода по командам ВС и BCRопределяются указанной в них маской. Маска указывается на месте регистра R1.

Команды ВСТ, BCTR, BXLE и ВХН обеспечивают эффективность управления циклами.

В следующей таблице дана сводка всех рассмотренных в данном разделе команд.

ВС Ml,D2(X2,82)

Branch on Condition

D2 + (X2) + (B2)PC, если CC соответствует M1

BCR Ml,R2

Branch on Condition to Register

(R2)PC,

если CC соответствует M1

ВСТ R1,D2(X2,B2)

Branch on Count

(Rl -1Rl;

D2 + (X2) + (B2)PC, если (Rl)0

BCTR R1,R2.

Branch Count to Register

(Rl) — 1R-U (R2) —• PC (Rl)0

BXLE R1,R3,D2(B2)

Branch on indeX Low or Equal

Rl(Rl) + (R3):

1. D2 +(B2>PC,если (Rl)(R3+1)

и R3 четный

2. D2 + (B2)PC,если (Rl)(R3)

и R3 нечетный

BXH R1,R3,D2(B2)

Branch on indeX High.

Rl(Rl) + (R3):

1. D2 + (B2) если (Rl) > (R3+1)

и R3 четный

2. D2 + (В2)PC если (Rl) > (R3) и

R3 нечетный

 

Это интересно