К ИПРГ: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
м (→‎История: на сов.ПМК — ЕГГОГ, а не ERROR)
мНет описания правки
Строка 16: Строка 16:


== Ссылки ==
== Ссылки ==
* [http://mk.semico.ru/mk_d11.htm#p4 Команда К ИПРГ на сайте НПП «СЕМИКО», п. 4.4]
* [http://mk.semico.ru/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:Команды ЭКВМ]]

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

Команда К ИПРГ (K PRGM) «Считывание байта из памяти программ» с кодом 28 записывает в регистр X содержимое ячейки памяти программ с адресом, равным значению, содержащемуся в регистре X до выполнения команды. Содержимое ячейки памяти программ, один байт, записывается в регистр X в виде целого числа от 0 до 255. Число, находившееся до выполнения операции в регистре X, передаётся в регистр предыдущего результата X1.

Чтение памяти программ через регистры функций

Кроме команды К ИПРГ в ЭКВМ предусмотрена другая возможность чтения содержимого памяти программ - с использованием индексного регистра.

Запись и чтение значений индексного регистра производится при обращении к регистру памяти с адресом 9042, при этом число в регистре X стека преобразуется в целое и ограничивается до значения 9999.

Чтение содержимого памяти программ производится при выполнении команды чтения из регистров памяти с адресами 9043, и 9044. При этом, при обращении к регистру с адресом 9043 стек поднимается, содержимое ячейки памяти программ, адрес которой записан в индексный регистр, заносится в регистр X стека. При обращении к регистру с адресом 9044, после чтения содержимого ячейки памяти программ, производится автоматическое увеличение содержимого индексного регистра на единицу. При достижении максимального значения, содержимое индексного регистра обнуляется.

Операция записи по адресам 9043 и 9044 не изменяет стек ЭКВМ, память программ и содержимое индексного регистра.

История

Команда советских ПМК К × с кодом 28 служила для вывода аварийного сообщения  ЕГГOГ . Если в программе советского ПМК команда К × использована для выдачи сообщения об ошибке, её следует заменить на К - или К ÷. Эти команды в ЭКВМ, как и в советских ПМК, вызывают аварийный останов с выводом сообщения. Перед заменой следует внимательно изучить алгоритм работы программы, как и в других аналогичных случаях, поскольку код команды может быть использован одновременно и как адрес перехода.

Ссылки

  • См. также регистры функций 9042, 9043 и 9044