Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Переход на метку



Программа на IL выполняется подряд, сверху вниз. Для изменения порядка выполнения и организации циклов применяется переход на метку. Переход на метку может быть безусловным JMP - выполняется всегда, независимо от чего-либо. Условный переход JMPC выполняется только при значении аккумулятора ИСТИНА. Переход можно выполнять как вверх, так и вниз. Метки являются локальными, другими словами, переход на метку в другом POU не допускается.

Переходы нужно организовывать достаточно аккуратно, чтобы не получить бесконечный цикл:

LD 1

ST Counter

Loop1:

(*тело цикла*)

LD Counter

ADD 1I

ST Counter

LE 5

JMP Loop1

В примере показана реализация цикла на 5 повторений с одной очевидной ошибкой. Вместо безусловного перехода JMP должен быть JMPC.

В системах с интерпретатором IL или промежуточным кодированием время выполнения перехода оказывается зависимым от направления и расстояния.

Скобки

Последовательный порядок выполнения команд IL можно изменять при помощи скобок. Открывающая скобка ставится в инструкции после операции. Закрывающая скобка ставится в отдельной строке. Инструкции, заключенные в скобки, выполняются в первую очередь. Результат вычисления инструкций в скобках помещается в дополнительный аккумулятор, после чего выполняется команда, содержащая открывающую скобку. Например:

LD 5

MUL (2

SUB 1

)

ST y (*y = 5* (2-1) = 5*)

LD 5

MUL 2

SUB 1

ST y (*y = 5*2-1=9*)

Скобки могут быть вложенными. Каждое вложение требует организации некоего временного аккумулятора. Это вызывает неоднозначность при выходе из блока скобок командами JMP, RET, CAL и LD. Применять эти команды в скобках нельзя.





Дата публикования: 2015-04-10; Прочитано: 390 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...