K NOT

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Команда К 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.»

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