PF L1: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 3: Строка 3:
Переход по записанному в команде адресу происходит, если значение в [[R1]] больше единицы. В таком случае содержимое [[R1]] декрементируется - из него вычитается единица. Если значение меньше или равно единице, то выполняется команда программы, следующая непосредственно за командой организации цикла.
Переход по записанному в команде адресу происходит, если значение в [[R1]] больше единицы. В таком случае содержимое [[R1]] декрементируется - из него вычитается единица. Если значение меньше или равно единице, то выполняется команда программы, следующая непосредственно за командой организации цикла.


Команда организации циклов действует только в режиме выполнения программы. При организации цикла с переходом в сторону уменьшения адреса, количество проходов по циклу будет совпадать со значением числа, изначально записанного в [[R1]]. После выхода из цикла в [[R1|регистре 1]] остаётся число один.
Команда организации циклов действует только в [[режим выполнения программы|режиме выполнения программы]]. При организации цикла с переходом в сторону уменьшения адреса, количество проходов по циклу будет совпадать со значением числа, изначально записанного в [[R1]]. После выхода из цикла в [[R1|регистре 1]] остаётся число один.


== Пример ==
== Пример ==

Версия от 19:03, 29 ноября 2013

Команда PF L1 NNNN «Организация цикла с регистром 1» с кодом FB вызывает переход на адрес NNNN от 0 до 9999, если значение в регистре памяти 1 больше единицы.

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

Команда организации циклов действует только в режиме выполнения программы. При организации цикла с переходом в сторону уменьшения адреса, количество проходов по циклу будет совпадать со значением числа, изначально записанного в R1. После выхода из цикла в регистре 1 остаётся число один.

Пример

2010 FB PF L1 1917
2011 19
2012 17

Команда PFL1 1917 по адресам 2010-2012 с кодом FB 19 17 уменьшает на единицу содержимое R1 (если R1 больше 1) и осуществляет переход на адрес 1917. Если же в R1 была единица, программа продолжит выполняться с адреса 2013.

Ссылки

Команды организации циклов
FL0 FL1 FL2 FL3
PFL0 PFL1 PFL2 PFL3