PK GSB: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
м (→‎Пример: число изменено на дробное, чтобы показать отбрасывание дробной части)
мНет описания правки
Строка 19: Строка 19:


== Ссылка ==
== Ссылка ==
* [http://mk.semico.ru/mk_d11.htm#p14 Команда РКПП на сайте НПП «СЕМИКО», п. 14.6]
* См. также команду ЭКВМ [[PK GOTO|РКБП]]
* См. также команду ЭКВМ [[PK GOTO|РКБП]]


[[Category:Все команды]]
[[Category:Все команды]]
[[Category:Команды ЭКВМ]]
[[Category:Команды ЭКВМ]]

Версия от 23:21, 25 января 2015

Двухшаговая команда РК ПП ММ (лат. PK GSB MM) «Косвенный переход на подпрограмму по содержимому адресных регистров от 0 до 99» с кодом AF вызывает переход на подпрограмму по адресу, записанному в регистре ММ (от 0 до 99). Перед выполнением команды содержимое регистра ММ модифицируется.

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

При переходе на подпрограмму, адрес команды, следующей за командой перехода, запоминается в стеке возвратов. При возврате из подпрограммы, последний записанный адрес из стека возврата переносится в счетчик адреса.

Подпрограмма может быть вызвана из другой подпрограммы. Глубина возможных вложений определяется размером стека возвратов. В ЭВМ возможно использование до 64 уровней вложения подпрограмм.

Пример

10.РКПП 11.17

Команда РКПП 17 по адресам 10-11 с кодом AF 17 вызывает переход на подпрограмму, адрес который записан в R17. Предварительно содержимое R17 модифицируется, в частности у содержащегося там числа отбрасывается дробная часть.

Допустим, в R17 содержится число 1945,0509. Тогда команда РКПП 17 передаст управление подпрограмме, начинающейся с адреса 1945. Когда подпрограмма завершит своё выполнение с помощью команды В/О, управление вернётся на адрес 12.

История

Недокументированные команды с кодами 4F, 6F до EF в советских ПМК полностью аналогичны командам обращения к регистру 0 c кодами 40, 60-E0 (Д.Б. Хрусталев, В.А. Хмелюк, «Школа начинающего программиста. Занятие 22» // «Наука и Жизнь» №1 - 1989 г. - С.124).

Ссылка

  • См. также команду ЭКВМ РКБП