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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
(шаблон-врезка для команд)
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 14: Строка 14:
| скорость            = 3670
| скорость            = 3670
}}
}}
Одноместная команда '''K NOT''' «Логическая инверсия» с кодом 3A выполняет операцию логической инверсии (отрицание, логическое "не") содержимого [[RX|регистра X]].
Одноместная команда '''K NOT''' «Логическая инверсия» с кодом 3A выполняет операцию логической инверсии (отрицание, логическое "не") содержимого [[RX|регистра X]]. Старое содержимое [[RX|регистра X]] помещается в [[X1|регистр X1]].


Логические операции в ЭВМ выполняются с байтовыми значениями, то есть с целыми числами, находящимися в диапазоне от нуля до 255 включительно. Если число, содержащееся в регистре, меньше нуля, в регистр перед выполнением операции заносится число нуль. Если число больше 255, в регистр заносится число 255. Результат операции также является целым числом из указанного диапазона.
Логические операции в ЭВМ выполняются с байтовыми значениями, то есть с целыми числами, находящимися в диапазоне от нуля до 255 включительно. Если число, содержащееся в регистре, меньше нуля, в регистр перед выполнением операции заносится число нуль. Если число больше 255, в регистр заносится число 255. Результат операции также является целым числом из указанного диапазона.
Строка 28: Строка 28:


== История ==
== История ==
Команда '''K NOT''' впервые появилась в 1984 году под названием '''K ИНВ''' в калькуляторе [[«Электроника МК-61»]]. Её применение ограничилось несколькими игровыми программами.


Работа команды K NOT на ЭКВМ отличается от работы команды К ИНВ с тем же кодом 3A на советских ПМК [[МК-61]] и [[МК-52]].
В 2007 году была выпущена [[«Электроника МК-152»]], в которой действие команды '''K NOT''' было изменено по сравнению с советскими ПМК [[МК-61]] и [[МК-52]].
 
== Советская реализация ==
Из книги Я.К. Трохименко [[Программируемые микрокалькуляторы. Устройство и пользование. (книга)|«Программируемые микрокалькуляторы. Устройство и пользование.»]] (стр. 138):
 
«Выполнение логических операторов КИНВ, К∧, К∨ и К⊕ сводится к выполнению в АЛУ однокристальной микроЭВМ логических операций над разрядами операндов, соответствующих их кодам, вводимым в регистры Y и X. Использование подобных кодов обеспечивает возможность выполнения логических операций над словами, содержащими до 28 разрядов, тогда как при непосредственном вводе слов, отображаемых десятичными цифрами 0 и 1 (каждая из которых занимает четыре двоичных разряда), логические операции можно выполнять лишь при числе разрядов мантиссы не более 8.»


== Ссылки ==
== Ссылки ==

Текущая версия от 04:58, 24 августа 2021

Команда К NOT
 К   NOT 
Код команды 3A
Русская мнемоника К NOT
Латинская мнемоника K NOT
Группа команд логические операции
Число операндов одноместная
Нажимаемые клавиши  К   Cx 
Число шагов 1
Признак перезаписи сбрасывается
Первое появление МК-61
Время выполнения 272,2 мкс (4,44 КНОП)
Скорость выполнения 3670 команд/с

Одноместная команда K NOT «Логическая инверсия» с кодом 3A выполняет операцию логической инверсии (отрицание, логическое "не") содержимого регистра X. Старое содержимое регистра X помещается в регистр X1.

Логические операции в ЭВМ выполняются с байтовыми значениями, то есть с целыми числами, находящимися в диапазоне от нуля до 255 включительно. Если число, содержащееся в регистре, меньше нуля, в регистр перед выполнением операции заносится число нуль. Если число больше 255, в регистр заносится число 255. Результат операции также является целым числом из указанного диапазона.

Логические операции выполняются поразрядно для всех восьми битов байта после перевода исходных чисел в двоичную систему счисления.

На МК-161 с прошивкой 1.20 (08.07.14) команда K NOT выполняется за 272,2 мкс (4,44 КНОП), 3670 команд/с.

Интересные факты[править]

Если два раза выполнить команду K NOT, произойдёт ограничение числа в регистре X от 0 до 255.

Если число в регистре X целое и укладывается в диапазон от 0 до 255, то команда K NOT просто вычитает это число из 255.

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

Команда K NOT впервые появилась в 1984 году под названием K ИНВ в калькуляторе «Электроника МК-61». Её применение ограничилось несколькими игровыми программами.

В 2007 году была выпущена «Электроника МК-152», в которой действие команды K NOT было изменено по сравнению с советскими ПМК МК-61 и МК-52.

Советская реализация[править]

Из книги Я.К. Трохименко «Программируемые микрокалькуляторы. Устройство и пользование.» (стр. 138):

«Выполнение логических операторов КИНВ, К∧, К∨ и К⊕ сводится к выполнению в АЛУ однокристальной микроЭВМ логических операций над разрядами операндов, соответствующих их кодам, вводимым в регистры Y и X. Использование подобных кодов обеспечивает возможность выполнения логических операций над словами, содержащими до 28 разрядов, тогда как при непосредственном вводе слов, отображаемых десятичными цифрами 0 и 1 (каждая из которых занимает четыре двоичных разряда), логические операции можно выполнять лишь при числе разрядов мантиссы не более 8.»

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