Оператор итерационного цикла for — это единственный оператор цикла, хотя бы частично поддерживаемый ассемблером на уровне команд. Его формат в нотации языков С и C++: for (инициализация цикла; выражение-условие; выражение) тело цикла С точки зрения грамматики все три выражения в операторе for являются про- извольными. Но обычно первое из них (инициализация цикла) предназначено для присвоения начального значения переменной цикла, второе (выражение-усло- вие) вычисляет логическое значение для принятия решения о выходе из цик- ла, третье (выражение) вычисляет значение переменной цикла на очередной его итерации. Ассемблер с помощью команды ШОР поддерживает только один вариант орга- низации такого цикла, который был подробно рассмотрен в предыдущей главе. Для реализации произвольного варианта цикла for может оказаться полезным следую- щий псевдокод: инициализация переменной цикла fоr_bеgin: ;вычисление логического значения "выражение-условие" ЕСЛИ "выражение-условие"=FАLSЕ ТО ПЕРЕЙТИ НА епd_fоr операторы цикла вычисляем выражение - очередное значение переменной цикла ПЕРЕЙТИ на fоr_bеgiп: ;переход на начало очередной итерации цикла епd_fоr: ;конец цикла ;... продолжение программы Какой цикл эффективнее? Тот, в котором меньше проверок и переходов. 242 Глава 11. Программирование типовых управляющих структур