ВП: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
 
(не показаны 22 промежуточные версии 3 участников)
Строка 1: Строка 1:
{{Врезка-команда
| мнемоника          = ВП
| мнемоника клавиш    = {{Серая клавиша|ВП}}
| код                = 0C
| русская мнемоника  = ВП
| латинская мнемоника = EE
| группа              = [[ввод чисел]]
| число операндов    = —
| клавиши            = [[Клавиша ВП|{{Серая клавиша|ВП}}]]
| число шагов        = 1
| признак перезаписи  = Устанавливается
| первое появление    = [[Б3-21]]
| время              = 97,8 мкс (1,59 КНОП)
| скорость            = 10 200
}}
Команда '''ВП''' (лат. '''EE''') «Ввод порядка» с кодом 0C используется для ввода чисел.
Команда '''ВП''' (лат. '''EE''') «Ввод порядка» с кодом 0C используется для ввода чисел.


Для ввода порядка числа следует подать команду "ВП", после чего ввести значение порядка. Для изменения знака порядка следует выполнить команду [[+/-|"/-/"]].
Для ввода порядка числа следует подать ''команду ВП'', после чего ввести значение порядка. Для изменения знака порядка следует выполнить команду [[Команда /−/|/-/]].


Если команда "ВП" выполняется при нулевом значении мантиссы, то мантисса принимает значение, равное единице. Эта недокументированная особенность широко использовалась в программах для ПМК и была документирована на ЭКВМ.
Если ''команда ВП'' выполняется при нулевом значении мантиссы, то [[мантисса]] принимает значение, равное единице. Эта недокументированная особенность широко использовалась в программах для советских [[ПМК]] и была документирована на [[ЭКВМ]].


Если при вводе порядка используется более двух цифр последовательно, то последние цифры замещают ранее введенные. Применение команды [[,|"запятая"]] при вводе порядка вызывает ошибку.
Если при вводе порядка используется более двух цифр последовательно, то последние цифры замещают ранее введенные. Применение команды [[,|"запятая"]] при вводе порядка [[аварийный останов|вызывает ошибку]].


Выполнение любой другой команды заканчивает ввод порядка числа. После ввода порядка число нормализуется, при этом в зависимости от величины, оно приводится к естественной форме или форме с плавающей запятой с мантиссой в диапазоне абсолютных значений от 1 до 10. Если при этом возникает значение порядка более 99, то происходит ошибка переполнения.
Выполнение любой другой команды заканчивает ввод порядка числа. После ввода порядка число нормализуется, при этом в зависимости от величины, оно приводится к естественной форме или форме с плавающей запятой с мантиссой в диапазоне абсолютных значений от 1 до 10. Если при этом возникает значение порядка более 99, то происходит ошибка переполнения.


На советских ПМК команда ВП имела ряд хорошо исследованных недокументированных особенностей и широко использовалась для получения [[видеосообщение|видеосообщений]].
На МК-161 с прошивкой 1.20 (08.07.14) команда '''ВП''' выполняется за 97,8 мкс (1,59 КНОП), 10 200 команд/с.  


== Использование ВП для умножения на степень 10 ==
== Использование ''ВП'' для умножения на степень 10 ==


Команда '''ВП''' (лат. '''EE''') позволяет провести умножение числа в регистре X на степень 10. Команда устанавливает [[флаг перезаписи]]. Показатель степени вводится после команды "ВП" таким же образом, как и при вводе числа. Если в регистре X содержался нуль, то после выполнения команды "ВП" в него будет занесена единица.  Эти две недокументированные особенности так широко использовались в программах для ПМК, что были была документированы на ЭКВМ.  
''Команда ВП'' позволяет провести умножение числа в [[RX|регистре X]] на степень 10, если это число отлично от нуля. Команда устанавливает [[флаг перезаписи]]. Показатель степени вводится после ''команды ВП'' таким же образом, как и при вводе числа. Если в [[RX|регистре X]] содержался нуль, то после выполнения ''команды ВП'' в него будет занесена единица.  Эти две недокументированные особенности так широко использовались в программах для советских [[ПМК]], что были документированы на [[ЭКВМ]].


Содержимое других регистров стека при выполнении команды ВП не изменяется.
Содержимое других регистров [[Стек калькулятора|стек]]а при выполнении ''команды ВП'' не изменяется.
 
== История ==
 
''Команда ВП'' с кодом 0C предназначена в советских [[ПМК]] для ввода порядка числа. В советских [[ПМК]] команда часто использовалась для изменения порядка результата предыдущих вычислений, в [[ЭКВМ]] данная возможность документирована. ''Команда ВП'' в [[ЭКВМ]] выполняет умножение числа [[RX|X]] на соответствующую целую степень числа 10. Выполнение [[,|команды "запятая"]] после ''ВП'' приводит к ошибке.
 
Если в [[RX|регистре X]] до выполнения команды был ноль, в него заносится число 1, как и в советских [[ПМК]]. Это следует учитывать при выполнении умножения на степень десяти при помощи ''команды ВП''.
 
Прочие особенности работы ''команды ВП'', основанные на её некорректном использовании, в [[ЭКВМ]] не реализованы. К примеру, в советских [[ПМК]] выполнение последовательности команд [[В↑]] [[Cx]] [[↔]] [[↔]] [[ВП]] в программе приводило к отбрасыванию у исходного числа всех разрядов, кроме первого, обнулению порядка, вычислению модуля числа и прибавлению к нему единицы. А последовательность команд [[Cx]] [[K×]] [[ВП]] [[ВП]] [[В↑]], выполненная в [[автоматический режим|автоматическом режиме]], приводила к появлению на индикаторе сообщения {{Текст на индикаторе|Г}}, то есть шестнадцатеричной цифры 'D'. Разработчики решили, что воспроизведение в [[ЭКВМ]] этих и нескольких десятков других подобных «особенностей» было бы явно излишнем.


== Ссылки ==
== Ссылки ==
* [http://mk.semico.ru/mk_d11.htm#p2 Команда ВП на сайте НПП «СЕМИКО», п. 2.3] (ввод чисел)
{{Документация|mk_d11.htm#p2|Команда ВП на сайте НПП «СЕМИКО», п. 2.3 (ввод чисел)}}
* [http://mk.semico.ru/mk_d11.htm#p7 Команда ВП на сайте НПП «СЕМИКО», п. 7.2] (математическая функция)
{{Документация|mk_d11.htm#p7|Команда ВП на сайте НПП «СЕМИКО», п. 7.2 (математическая функция)}}
* См. также команды [[+/-|/-/]], [[,]], [[F 10^X|F10<sup>x</sup>]]
* [http://ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C Экспоненциальная запись на Википедии]
* См. команды [[+/-|/-/]], [[,]], [[F 10^X|F10<sup>x</sup>]]
* См. также [[клавиша ВП|клавишу {{Серая клавиша|ВП}}]]
{{Ввод чисел}}


[[Category:Все команды]]
[[Category:Все команды]]
[[Category:Команды ПМК]]
[[Category:Команды ПМК]]

Текущая версия от 21:30, 6 ноября 2020

Команда ВП
 ВП 
Код команды 0C
Русская мнемоника ВП
Латинская мнемоника EE
Группа команд ввод чисел
Число операндов
Нажимаемые клавиши  ВП 
Число шагов 1
Признак перезаписи Устанавливается
Первое появление Б3-21
Время выполнения 97,8 мкс (1,59 КНОП)
Скорость выполнения 10 200 команд/с

Команда ВП (лат. EE) «Ввод порядка» с кодом 0C используется для ввода чисел.

Для ввода порядка числа следует подать команду ВП, после чего ввести значение порядка. Для изменения знака порядка следует выполнить команду /-/.

Если команда ВП выполняется при нулевом значении мантиссы, то мантисса принимает значение, равное единице. Эта недокументированная особенность широко использовалась в программах для советских ПМК и была документирована на ЭКВМ.

Если при вводе порядка используется более двух цифр последовательно, то последние цифры замещают ранее введенные. Применение команды "запятая" при вводе порядка вызывает ошибку.

Выполнение любой другой команды заканчивает ввод порядка числа. После ввода порядка число нормализуется, при этом в зависимости от величины, оно приводится к естественной форме или форме с плавающей запятой с мантиссой в диапазоне абсолютных значений от 1 до 10. Если при этом возникает значение порядка более 99, то происходит ошибка переполнения.

На МК-161 с прошивкой 1.20 (08.07.14) команда ВП выполняется за 97,8 мкс (1,59 КНОП), 10 200 команд/с.

Использование ВП для умножения на степень 10[править]

Команда ВП позволяет провести умножение числа в регистре X на степень 10, если это число отлично от нуля. Команда устанавливает флаг перезаписи. Показатель степени вводится после команды ВП таким же образом, как и при вводе числа. Если в регистре X содержался нуль, то после выполнения команды ВП в него будет занесена единица. Эти две недокументированные особенности так широко использовались в программах для советских ПМК, что были документированы на ЭКВМ.

Содержимое других регистров стека при выполнении команды ВП не изменяется.

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

Команда ВП с кодом 0C предназначена в советских ПМК для ввода порядка числа. В советских ПМК команда часто использовалась для изменения порядка результата предыдущих вычислений, в ЭКВМ данная возможность документирована. Команда ВП в ЭКВМ выполняет умножение числа X на соответствующую целую степень числа 10. Выполнение команды "запятая" после ВП приводит к ошибке.

Если в регистре X до выполнения команды был ноль, в него заносится число 1, как и в советских ПМК. Это следует учитывать при выполнении умножения на степень десяти при помощи команды ВП.

Прочие особенности работы команды ВП, основанные на её некорректном использовании, в ЭКВМ не реализованы. К примеру, в советских ПМК выполнение последовательности команд В↑ Cx ВП в программе приводило к отбрасыванию у исходного числа всех разрядов, кроме первого, обнулению порядка, вычислению модуля числа и прибавлению к нему единицы. А последовательность команд Cx ВП ВП В↑, выполненная в автоматическом режиме, приводила к появлению на индикаторе сообщения  Г , то есть шестнадцатеричной цифры 'D'. Разработчики решили, что воспроизведение в ЭКВМ этих и нескольких десятков других подобных «особенностей» было бы явно излишнем.

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

Команды, осуществляющие ввод числа
 0   1   2   3   4   5   6   7   8   9   ,  ВП /−/