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