Программирование на JAVA

В программе, представленной на рис. 5.5., команда

JUMP>0        STARTLOOP

 «переход, если больше нуля» является командой условного перехода, выпол­няющей перемещение по адресу STARTLOOP в том случае, если результат предыдущей инструкции, уменьшившей значение в регистре ECX, больше нуля. Это означает, что цикл повторяется до тех пор, пока в списке чисел остаются необработанные элементы, которые следует добавить к содержимому регистра EAX. В конце n-го прохода по циклу команда Decrement возвращает значение 0, поэтому переход на начало цикла не осуществляется, а выполняется следующая по порядку коман­да — Move. Команда Move перемещает окончательный результат суммирования из регистра EAX в память по адресу SUM.

Проверка условия с последующим выбором одного из нескольких альтерна­тивных путей реализации программы, называемая ветвлением, выполняется го­раздо чаще, чем просто программные циклы. Такая возможность имеется в систе­мах команд любых компьютеров, поскольку ветвления и циклы относятся к чис­лу фундаментальных операций, без которых невозможно запрограммировать сколько-нибудь нетривиальную задачу.


<< назад вперед >>