K M E: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
(Новая страница: «Команда '''К П E''' (лат. '''K M E''') «Косвенная запись содержимого регистра X по содержимому адр…»)
 
Нет описания правки
 
(не показано 17 промежуточных версий 3 участников)
Строка 1: Строка 1:
Команда '''К П E''' (лат. '''K M E''') «Косвенная запись содержимого регистра X по содержимому адресного регистра E» с кодом BE и косвенной регистровой адресацией записывают число из X в регистр памяти, номер которого указан в регистре E. Перед выполнением команды содержимое регистра E модифицируется.
{{Врезка-команда
| мнемоника          = КПE
| мнемоника клавиш    = {{Синяя клавиша|К}} {{Чёрная клавиша|П}} E
| код                = BE
| русская мнемоника  = КПE
| латинская мнемоника = KME
| группа              = [[запись в регистры памяти]]
| число операндов    = —
| клавиши            = [[Клавиша К|{{Синяя клавиша|К}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] [[Клавиша В↑|{{Серая клавиша|В↑}}]]
| число шагов        = 1
| признак перезаписи  = сбрасывается
| первое появление    = [[МК-61]]
| время              = ?
| скорость            = ?
}}
Команда '''К П E''' (лат. '''K M E''') «Косвенная запись содержимого регистра X по содержимому адресного регистра E» с кодом BE и косвенной регистровой адресацией записывает число из [[RX|X]] в регистр памяти, номер которого указан в [[RE|регистре E]]. Перед выполнением команды содержимое [[RE|регистра E]] модифицируется. Если записанное в [[RE|регистр E]] число меньше нуля, в [[RE|регистр E]] записывается число нуль. Дробная часть числа, записанного в [[RE|регистр E]], отбрасывается.


В регистр памяти записывается число, содержащееся в регистре X стека. Содержимое регистров стека не изменяется. Информация, записываемая в отсутствующие регистры памяти, теряется.
В регистр памяти записывается число, содержащееся в [[RX|регистре X]] [[Стек калькулятора|стек]]а. Содержимое регистров [[Стек калькулятора|стек]]а не изменяется. Информация, записываемая в отсутствующие регистры памяти, теряется.


При выполнении команды в [[режим автоматической работы|режиме автоматической работы]] информация копируется в энергонезависимую память и сохраняется при выключении питания. Для сохранения информации в [[режим выполнения программы|режиме выполнения программы]] необходимо перед исполнением команды инициализировать [[регистр функции разрешения записи в энергонезависимую память]] ([[R9047]]).
При выполнении команды в [[режим автоматической работы|режиме автоматической работы]] информация копируется в энергонезависимую память и сохраняется при выключении питания. Для сохранения информации в [[режим выполнения программы|режиме выполнения программы]] необходимо перед исполнением команды инициализировать [[регистр функции разрешения записи в энергонезависимую память]] ([[R9047]]).
== Модификация RЕ на советских ПМК ==
Если в [[RЕ|регистре Е]] содержится число 0, а также числа от 1 до 14, его модификация происходит также, как на современных ЭКВМ — путём отбрасывания дробной части (усечения).
Модификация отрицательных чисел, чисел между 0 до 1, а также больших положительных чисел на советских ПМК не документирована.
== История ==
До появления [[МК-61]] (на калькуляторах [[Б3-34]], [[МК-54]] и [[МК-56]]) недокументированная команда с кодом BE вела себя аналогично команде [[КП0]], с единственным исключением — содержимое [[R0|регистра 0]] не уменьшалось при модификации. На [[МК-152]] аналогично себя ведёт двухшаговая команда [[РКП]] 00 с кодом BF 00.
Эту недокументированную команду обозначали на письме [[КП↑]] и она наряду с командой [[КИП↑]] являлась основной причиной, почему некоторые программы, написанные для [[Б3-34]], неправильно работали на [[МК-61]] и [[МК-52]].


== Ссылки ==
== Ссылки ==
* [http://mk.semico.ru/mk_d11.htm#p6 Команда КПE на сайте НПП «СЕМИКО», п. 6.5]
{{Документация|mk_d11.htm#p6|Команда КПE на сайте НПП «СЕМИКО», п. 6.5}}
 
* См. также команды [[K RM E|КИПЕ]], [[ПЕ]] и [[ИПЕ]]
{{Обращение к регистрам с косвенной регистровой адресацией}}
[[Category:Все команды]]
[[Category:Все команды]]
[[Category:Команды ПМК]]
[[Category:Команды МК-61]]
[[Category:Запись с косвенной адресацией КП M]]
[[Category:Запись с косвенной адресацией КП M]]

Текущая версия от 06:27, 15 января 2020

Команда КПE
 К   П  E
Код команды BE
Русская мнемоника КПE
Латинская мнемоника KME
Группа команд запись в регистры памяти
Число операндов
Нажимаемые клавиши  К   П   В↑ 
Число шагов 1
Признак перезаписи сбрасывается
Первое появление МК-61
Время выполнения ?
Скорость выполнения ? команд/с

Команда К П E (лат. K M E) «Косвенная запись содержимого регистра X по содержимому адресного регистра E» с кодом BE и косвенной регистровой адресацией записывает число из X в регистр памяти, номер которого указан в регистре E. Перед выполнением команды содержимое регистра E модифицируется. Если записанное в регистр E число меньше нуля, в регистр E записывается число нуль. Дробная часть числа, записанного в регистр E, отбрасывается.

В регистр памяти записывается число, содержащееся в регистре X стека. Содержимое регистров стека не изменяется. Информация, записываемая в отсутствующие регистры памяти, теряется.

При выполнении команды в режиме автоматической работы информация копируется в энергонезависимую память и сохраняется при выключении питания. Для сохранения информации в режиме выполнения программы необходимо перед исполнением команды инициализировать регистр функции разрешения записи в энергонезависимую память (R9047).

Модификация RЕ на советских ПМК[править]

Если в регистре Е содержится число 0, а также числа от 1 до 14, его модификация происходит также, как на современных ЭКВМ — путём отбрасывания дробной части (усечения).

Модификация отрицательных чисел, чисел между 0 до 1, а также больших положительных чисел на советских ПМК не документирована.

История[править]

До появления МК-61 (на калькуляторах Б3-34, МК-54 и МК-56) недокументированная команда с кодом BE вела себя аналогично команде КП0, с единственным исключением — содержимое регистра 0 не уменьшалось при модификации. На МК-152 аналогично себя ведёт двухшаговая команда РКП 00 с кодом BF 00.

Эту недокументированную команду обозначали на письме КП↑ и она наряду с командой КИП↑ являлась основной причиной, почему некоторые программы, написанные для Б3-34, неправильно работали на МК-61 и МК-52.

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

Чтение и запись в регистры памяти с косвенной регистровой адресацией
КИП0 КИП1 КИП2 КИП3 КИП4 КИП5 КИП6 КИП7 КИП8 КИП9 КИПA КИПB КИПC КИПД КИПE
КП0 КП1 КП2 КП3 КП4 КП5 КП6 КП7 КП8 КП9 КПA КПB КПC КПД КПE