PK GSB: различия между версиями
SMB (обсуждение | вклад) мНет описания правки |
AtH (обсуждение | вклад) Нет описания правки |
||
(не показано 6 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
Двухшаговая команда '''РК ПП''' | {{Врезка-команда | ||
| мнемоника = 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: | ||
== Ссылка == | == Ссылка == | ||
* См. также | {{Документация|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).
Ссылка[править]
- Команда РКПП на сайте НПП «СЕМИКО», п. 14.6
- См. также команды ЭКВМ В/О и РКБП