Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
| {{Врезка-команда
| | Команда '''К ИПРГ''' ('''K PRGM''') «Считывание байта из памяти программ» с кодом 28 записывает в регистр X содержимое ячейки памяти программ с адресом, равным значению, содержащемуся в регистре X до выполнения команды. Содержимое ячейки памяти программ, один байт, записывается в регистр X в виде целого числа от 0 до 255. Число, находившееся до выполнения операции в регистре X, передаётся в регистр предыдущего результата X1. |
| | мнемоника = К ИПРГ
| |
| | мнемоника клавиш = {{Синяя команда 2|К|ИПРГ}}
| |
| | код = 28
| |
| | русская мнемоника = К ИПРГ
| |
| | латинская мнемоника = K PRGM
| |
| | группа = [[чтение из памяти программ]]
| |
| | число операндов = —
| |
| | клавиши = [[Клавиша К|{{Синяя клавиша|К}}]] [[Клавиша ×|{{Серая клавиша|×}}]]
| |
| | число шагов = 1
| |
| | признак перезаписи = сбрасывается
| |
| | первое появление = [[МК-152]]
| |
| | время = 368,9 мкс (6,02 КНОП)
| |
| | скорость = 2710
| |
| }}
| |
| Команда '''К ИПРГ''' ('''K PRGM''') «Считывание байта из памяти программ» с кодом 28 записывает в [[RX|регистр X]] содержимое ячейки памяти программ с адресом, равным значению, содержащемуся в [[RX|регистре X]] до выполнения команды. Содержимое ячейки памяти программ, один байт, записывается в [[RX|регистр X]] в виде целого числа от 0 до 255. Число, находившееся до выполнения операции в [[RX|регистре X]], передаётся в [[X1|регистр предыдущего результата X1]]. | |
| | |
| На МК-161 с прошивкой 1.20 (08.07.14) команда '''К ИПРГ''' выполняется за 368,9 мкс (6,02 КНОП), 2710 команд/с.
| |
| | |
| == Чтение памяти программ через регистры функций ==
| |
| | |
| Кроме команды [[К ИПРГ]] в ЭКВМ предусмотрена другая возможность чтения содержимого [[память программ|памяти программ]] - с использованием [[R9042|индексного регистра]].
| |
| | |
| Запись и чтение значений [[R9042|индексного регистра]] производится при обращении к [[R9042|регистру памяти с адресом 9042]], при этом число в [[RX|регистре X]] [[Стек калькулятора|стек]]а преобразуется в целое и ограничивается до значения 9999.
| |
| | |
| Чтение содержимого [[память программ|памяти программ]] производится при выполнении команды чтения из [[регистр памяти|регистров памяти]] с адресами [[R9043|9043]], и [[R9044|9044]]. При этом, при обращении к [[R9043|регистру с адресом 9043]] [[поднятие стека|стек поднимается]], содержимое ячейки памяти программ, адрес которой записан в [[R9042|индексный регистр]], заносится в [[RX|регистр X]] [[Стек калькулятора|стек]]а. При обращении к [[R9044|регистру с адресом 9044]], после чтения содержимого ячейки [[память программ|памяти программ]], производится автоматическое увеличение содержимого [[R9042|индексного регистра]] на единицу. При достижении максимального значения, содержимое [[R9042|индексного регистра]] обнуляется.
| |
| | |
| Операция записи по адресам [[R9043|9043]] и [[R9044|9044]] не изменяет [[Стек калькулятора|стек]] ЭКВМ, [[память программ]] и содержимое [[R9042|индексного регистра]].
| |
| | |
| == История ==
| |
| | |
| Команда советских ПМК К × с кодом 28 служила для вывода аварийного сообщения {{ЕГГ0Г}}. Если в программе советского ПМК команда К × использована для выдачи сообщения об ошибке, её следует заменить на [[К -]] или [[К ÷]]. Эти команды в ЭКВМ, как и в советских ПМК, вызывают [[аварийный останов]] с выводом сообщения. Перед заменой следует внимательно изучить алгоритм работы программы, как и в других аналогичных случаях, поскольку код команды может быть использован одновременно и как адрес перехода.
| |
|
| |
|
| == Ссылки == | | == Ссылки == |
| {{Документация|mk_d11.htm#p4|Команда К ИПРГ на сайте НПП «СЕМИКО», п. 4.4}}
| | * [http://mk.semico.ru/mk_d11.htm#p4 Команда К ИПРГ на сайте НПП «СЕМИКО», п. 4.4] |
| {{Документация|d1_p6.htm#d1_6_1_3|Чтение содержимого памяти программ на сайте НПП «СЕМИКО», п. 6.1.3}}
| |
| * См. также регистры функций [[R9042|9042]], [[R9043|9043]] и [[R9044|9044]]
| |
|
| |
|
| [[Category:Все команды]] | | [[Category:Все команды]] |
| [[Category:Команды ЭКВМ]] | | [[Category:Команды ЭКВМ]] |