ВП

Материал из ПМК вики
Перейти к навигации Перейти к поиску

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

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

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

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

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

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

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

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

История

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

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

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

Ссылки

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