54
2.4. Управление вычислительным процессом,
сдвиги и логические операции
Почти все программы ЭВМ должны обладать способностью
проверять исходные данные, промежуточные и окончательные результаты
вычислений, чтобы на основании результатов проверки изменять нужным
образом последовательность выполнения операций. Например, следует
должным образом отреагировать на ситуацию, когда при сложении
положительных чисел возникает отрицательный результат (см. параграф
2.3).
Подобная задача решается в базовой ЭВМ при помощи команд
перехода (BCS, BPL, BMI, BEQ, BR), команд ПРИРАЩЕНИЕ и
ПРОПУСК (ISZ), ОСТАНОВ (HLT). Все эти команды (кроме HLT)
являются адресными, т. е. в них указывается адрес той ячейки памяти, из
которой должна быть выбрана следующая команда при выполнении того
или иного условия. Если же условие не выполняется, то должна
исполняться команда, расположенная вслед за данной командой
управления. Как и в других адресных командах, здесь можно использовать
косвенную адресацию, т. е. указывать адрес ячейки, из которой и будет
выбираться нужный адрес перехода.
Разветвления в программах организуются с помощью команд
перехода. Эти команды не изменяют состояния аккумулятора и регистра
переноса. Они могут лишь изменить содержимое счетчика команд,
поместив туда адрес, определяемый адресной частью команды.
BCS М (ПЕРЕХОД, ЕСЛИ ПЕРЕНОС). Переход к команде, располо-
женной в ячейке с адресом М, если содержимое регистра переноса равно
1.
BPL М (ПЕРЕХОД, ЕСЛИ ПЛЮС). Переход к команде,
расположенной в ячейке с адресом М, если содержимое аккумулятора
больше или равно нулю, т. е. в его старшем бите содержится 0.
BMI М (ПЕРЕХОД, ЕСЛИ МИНУС). Переход к команде,
расположенной в ячейке с адресом М, если содержимое аккумулятора
меньше нуля, т. е. в его старшем разряде содержится 1.
BEQ М (ПЕРЕХОД, ЕСЛИ НУЛЬ). Переход к команде,
расположенной в ячейке с адресом М, если содержимое аккумулятора
равно нулю т. е. во всех его разрядах содержится 0.
Если условие, указанное в перечисленных командах, не
выполняется, то переход не может быть осуществлен и исполняется
команда, расположенная за командой условного перехода.
BR М (БЕЗУСЛОВНЫЙ ПЕРЕХОД). Переход к команде,
расположенной в ячейке с адресом М, осуществляемый при любых
значениях аккумулятора, регистра переноса и других регистров ЭВМ.