Команды условного перехода позволяют воздействовать на порядок выполнения команд программы в соответствии с получающимися во время работы результатами. Большое значение при этом имеет так называемый признак результата (Condition Code — СС). Теперь мы вполне готовы к исследованию машинной реализации выполнения переходов в соответствии с признаком результата.
Так как при организации любых более или менее сложных вычислений огромную роль играют циклические процессы, то естественно, что при проектировании ЭВМ особое внимание должно уделяться облегчению и увеличению эффективности программирования и выполнения циклов и соответственно включению в систему разнообразных команд, обеспечивающих решение этой задачи. Мы познакомимся со специальными командами управления циклами; некоторые из них являются командами нового для нас формата RS.
Признак результата определяется по 2-байтовому индикатору, который может находиться в четырех различных состояниях. Установка этого индикатора производится по командам, вырабатывающим признак результата. Условия перехода по командам ВС и BCRопределяются указанной в них маской. Маска указывается на месте регистра R1.
Команды ВСТ, BCTR, BXLE и ВХН обеспечивают эффективность управления циклами.
В следующей таблице дана сводка всех рассмотренных в данном разделе команд.
ВС Ml,D2(X2,82) |
Branch on Condition |
D2 + (X2) + (B2) |
BCR Ml,R2 |
Branch on Condition to Register |
(R2) если CC соответствует M1 |
ВСТ R1,D2(X2,B2) |
Branch on Count |
(Rl -1
D2 + (X2) + (B2) |
BCTR R1,R2. |
Branch Count to Register |
(Rl) — 1 |
BXLE R1,R3,D2(B2) |
Branch on indeX Low or Equal |
Rl
1. D2 +(B2> и R3 четный
2. D2 + (B2) и R3 нечетный |
BXH R1,R3,D2(B2) |
Branch on indeX High. |
Rl 1. D2 + (B2) если (Rl) > (R3+1) и R3 четный
2. D2 + (В2) R3 нечетный |