Электроника МК-52 ( русский : Электроника МК-52 ) — программируемый калькулятор с РПН , выпускавшийся в Советском Союзе с 1983 по 1992 год на заводах «Квазар» и «Квадр» на Украине. [1] Он относится к третьему поколению советских программируемых калькуляторов. Его первоначальная продажная цена составляла 115 рублей . [2]
MK-52 — это обратно совместимое улучшение Elektronika MK-61 , основные изменения заключаются в добавлении внутреннего энергонезависимого модуля EEPROM для постоянного хранения данных, диагностического слота и слота для отдельно продаваемых модулей ROM. [3] Машинный код и функциональность калькуляторов MK-52 и MK-61 были расширениями более ранних калькуляторов MK-54, [2] B3-34 и B3-21 Elektronika . MK-52 — единственный калькулятор, известный тем, что имеет внутреннюю память в виде модуля EEPROM. Как и многие советские калькуляторы, MK-52 имеет ряд недокументированных функций. [4]
В ноябре 1988 года МК-52 отправился в космос на космическом корабле «Союз ТМ-7» , где он мог использоваться в качестве резервной копии бортовых компьютеров. [1]
MK-52 имеет 105 ячеек энергозависимой памяти программ , внутренний модуль EEPROM (с 512 байтами памяти) и 15 7-байтовых регистров. Он использует четыре батарейки размера AA или может быть подключен к адаптеру питания. Он имеет относительно тусклый, десятиразрядный зеленый вакуумный флуоресцентный дисплей ИЛЦ2-12/8Л ; [5] эти десять цифр распределяются на 8-разрядную мантиссу и 2-разрядную экспоненту . MK-52 имеет порт расширения, к которому могут быть подключены различные модули ПЗУ . Его системная тактовая частота составляет приблизительно 75 кГц (полученная от четырехфазной микросхемы тактового генератора К745ГФ3-2 [5] ), и он весит приблизительно 400 граммов.
МК-52 — первый советский микрокалькулятор с энергонезависимой памятью; ее обеспечивает ЭСППЗУ КР1601РР1 [5] емкостью 4 килобита, способное выдерживать 10 000 перезаписей, что обеспечивает сохранность программ и рабочей памяти при выключенном питании. Эта память способна хранить до 512 однобайтовых программных слов (или содержимое 72 семибайтовых регистров) и обмениваться своим содержимым с оперативной памятью калькулятора .
Калькулятор полностью совместим с моделями второго поколения (B3-34 и MK-54), используя ту же систему команд и машинные коды. В среднем программа, которая занимает все 105 шагов программной памяти и 15 регистров на MC-52, будет эквивалентна по возможностям примерно 140-150 шагам и 18 регистрам на B3-34. Кроме того, MC-52 имеет расширенный набор команд, которые могут выделять целые и дробные части чисел, искать абсолютные и максимальные значения чисел и выполнять некоторые логические операции.
Кроме того, вы можете подключить внешний ПЗУ , который является блоком расширения памяти с сохраненными играми и математическими программами, произведенными производителем, которые составляют пользовательскую библиотеку. Производители выпустили 4 типа картриджей ПЗУ , три из которых содержат различные математические функции, а один, BRP-4, содержит игровые программы:
БРП-2 «Астро» (рус. БРП-2 «Астро») , с комплексом программ для навигационных задач, информация о котором была опубликована в номере 12 за 1988 год русскоязычного ежемесячного журнала «Морском сборнике» ( Marine Digest). );
БРП-3 , содержащее 60 программ для решения математических задач. В 1988 году было изготовлено 15 200 экземпляров этого ПЗУ, продававшихся по цене 16 рублей;
БРП-4 (рус. БРП-4) был выпущен в 1989 году, содержал игровые программы;
ГРП «Гео» .
Другой порт расширения использовался для диагностики во время производства; этот порт также можно было использовать для подключения калькулятора к внешним периферийным устройствам.
MK-52 имеет два основных режима работы: автоматический режим и режим программирования. Общие вычисления и операции выполняются в автоматическом режиме, в то время как программы подаются в качестве входных данных в режиме программирования. Последовательность нажатия клавиш F+ /-/переключает MK-52 в автоматический режим, а + переключает его в режим программирования.FВП
Ручные вычисления в автоматическом режиме соответствуют логике обратной польской нотации . Например, для вычисления 2+3 необходимо нажать следующие клавиши: + + + .2В↑3+
MK-52 полностью способен выполнять булевы операции над двоичными числами. Следующий пример демонстрирует логическую операцию ИЛИ над двоичными числами 111000
и 100001
:
Двоичные числа вводятся в калькулятор как шестнадцатеричные числа с добавлением символа 8
.
Во-первых, оператор должен разделить числа на группы по четыре цифры, добавляя при необходимости ведущие нули, например, разделение 111000
на группы по четыре цифры дает 0011
и 1000
. Эквивалентные шестнадцатеричные значения этих двух четырехзначных двоичных чисел — 3
и 8
, соответственно, что равно шестнадцатеричному 38
.
Аналогично, 100001
эквивалентно шестнадцатеричному 21
.
Итак, числа 8.38
и 8.21
вводятся в МК-52 и над ними выполняется операция ИЛИ. Операция ИЛИ достигается нажатием + .K/-/
Результат должен быть отображен как 8.39
, что переводится в двоичный код 0011
и 1001
, и, следовательно, двоичное число 111001
, которое является результатом.
В следующем списке подробно описывается графическое представление шестнадцатеричных чисел MK-52: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -, L, C, Г, E, (пробел). Обычное шестнадцатеричное представление — 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Команды программирования MK-52 вводятся в MK-52 в режиме программирования и затем выполняются. MK-52 полностью может быть запрограммирован для управления памятью и использования как условного , так и безусловного ветвления .
В режиме программирования на экране отображается информация о программе в памяти, представленная двумя шестнадцатеричными цифровыми кодами операций. Например, если 10 01 0E 03
отображается , то это означает, что 0E
сохраняется на шаге программы 00, 01
сохраняется на шаге программы 01, 10
сохраняется на шаге программы 02, и машина запрашивает ввод данных для сохранения на шаге программы 03.
В качестве примера, следующая короткая программа [6] выполняет непрерывное сложение, чтобы получить представление о скорости калькулятора Elektronika MK 52:
Для входа в программу калькулятора «Электроника МК 52» используйте следующие клавиши:
[F] ПРГ
B↑
1
+
B/0
C/П
[F] АБТ
Чтобы выполнить это:
1
Б/0
С/П
Чтобы остановить это:
C/П или CX
Грубую скорость калькулятора можно измерить с помощью секундомера и завершить программу по истечении определенного времени.
Перед вводом программы в энергозависимую память с целью сохранения этой программы в памяти EEPROM необходимо сначала очистить пространство программы EEPROM, в которое будет сохранена программа, что очистит энергозависимую память, а также выбранную область памяти EEPROM.
Каждый шаг программы требует 1 байт памяти, а каждый регистр данных требует 7 байт памяти.
При очистке, чтении или записи в память EEPROM адрес и диапазон указываются шестизначным числом, которому предшествует ненулевое число в автоматическом режиме: например, 1aaaadd
указывает, что dd
байты должны сохраняться, начиная с адреса памяти aaaa
. Двухпозиционный переключатель данные/программа управляет тем, передаются ли данные (из регистров) или программная память; трехпозиционный переключатель используется для выбора операций чтения, записи и очистки.
Первоначально «Электроника МК-52» продавалась за 115 рублей . Она выпускалась в различных цветовых решениях, включая черный и серый, бирюзовый и синий, белый и серый, а также оранжевый. Как это было типично для советской электроники, при покупке МК-52 предоставлялись технические схемы, что облегчало пользователю модификацию и ремонт машины.
Когда на машине возникала ошибка, на дисплее появлялось сообщение, похожее на английское слово «error». Слово, написанное таким образом, сокращало количество сегментов дисплея, используемых для отображения сообщения об ошибке; однако, это написание, прочитанное как кириллица , вместо этого произносилось бы как «eggog» или «yeggog», в зависимости от языка (кириллическая е йотируется в русском и белорусском языках — и, как следствие, в орфографиях, созданных для неславянских языков Советским Союзом на основе русского языка — но не в других славянских языках, таких как украинский, болгарский или сербский).
Существует множество игр, доступных для MK-52. Недокументированные функции MK-52, как правило, активно используются в играх из-за их способности производить необычные вычисления и создавать специализированные дисплеи. Простой пример модификации дисплея достигается путем повторного возведения в квадрат1 × 10 50 (и игнорирование сообщений об ошибках).
В ноябре 1988 года МК-52 отправился в космос на космическом корабле «Союз ТМ-7» , где его можно было использовать для расчета траектории посадки в случае отказа бортового компьютера.
В настоящее время в MK-52 известна только одна ошибка: функция MAX возвращает ноль, если один из двух ее аргументов равен нулю.