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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
мНет описания правки
Нет описания правки
 
(не показано 6 промежуточных версий 2 участников)
Строка 1: Строка 1:
Двухшаговая команда '''РК ПП''' ММ (лат. '''PK GSB''' MM) «Косвенный переход на подпрограмму по содержимому адресных регистров от 0 до 99» с кодом AF вызывает переход на подпрограмму по адресу, записанному в регистре ММ (от 0 до 99). Перед выполнением команды содержимое регистра ММ модифицируется.
{{Врезка-команда
| мнемоника          = PК ПП
| мнемоника клавиш    = {{Синяя клавиша|P}} {{Синяя клавиша|К}} {{Чёрная клавиша|ПП}} mm
| код                = AF mm
| русская мнемоника  = PК ПП
| латинская мнемоника = PK GSB
| группа              = [[вызов и возврат из подпрограмм]]
| число операндов    = —
| клавиши            = [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша К|{{Синяя клавиша|К}}]] [[Клавиша ПП|{{Чёрная клавиша|ПП}}]], далее две цифры номера регистра
| число шагов        = 2
| признак перезаписи  = сбрасывается
| первое появление    = [[МК-152]]
| время              = ?
| скорость            = ?
}}Двухшаговая команда '''РК ПП''' mm (лат. '''PK GSB''' mm) «Косвенный переход на подпрограмму по содержимому адресных регистров от 0 до 99» с кодом AF вызывает переход на подпрограмму по адресу, записанному в [[Адресный регистр|регистре]] mm (от 0 до 99). Перед выполнением команды содержимое регистра mm модифицируется.


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


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


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


== Ссылка ==
== Ссылка ==
* См. также команду ЭКВМ [[PK GOTO|РКБП]]
{{Документация|mk_d11.htm#p14|Команда РКПП на сайте НПП «СЕМИКО», п. 14.6}}
* См. также команды ЭКВМ [[RTN|В/О]] и [[PK GOTO|РКБП]]


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

Текущая версия от 17:29, 12 января 2020

Команда PК ПП
 P   К   ПП  mm
Код команды AF mm
Русская мнемоника PК ПП
Латинская мнемоника PK GSB
Группа команд вызов и возврат из подпрограмм
Число операндов
Нажимаемые клавиши  P   К   ПП , далее две цифры номера регистра
Число шагов 2
Признак перезаписи сбрасывается
Первое появление МК-152
Время выполнения ?
Скорость выполнения ? команд/с

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

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

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

Подпрограмма может быть вызвана из другой подпрограммы. Глубина возможных вложений определяется размером стека возвратов. В ЭВМ возможно использование до 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).

Ссылка[править]