Первый советский программируемый калькулятор
В конце 1977 был разработан, и в начале 1978 года поступил в продажу первый советский программируемый микрокалькулятор Б3-21 (на рисунке справа). Это был еще один большой шаг вперед. До этого людям приходилось по многу раз повторять вычисления, в калькуляторах было максимум три регистра памяти. Теперь же появилась возможность самому писать программы и хранить несколько чисел в памяти. Термин "программируемый калькулятор" вызывал благоговение и некоторую дрожь в голосе. Это был очень дорогой калькулятор - он стоил целых 350 рублей! Вскоре микрокалькулятор был удостоен знака качества.
Первые модели микролькулятора Б3-21 выпускались с индикатором на красных светодиодах. Запятая занимала отдельный разряд. Затем индикатор поменяли на зеленый катодо-люминисцентный, из-за чего он стал работать на 20% медленнее.
Микрокалькулятор работает с обратной польской нотацией, то есть сначала вводятся два числа, а затем вводится операция. После ввода первого числа необходимо нажать стрелку вверх
. Кроме двух операционных регистров X и Y микрокалькулятор имеет кольцевой стек, состоящий из шести регистров. Стек чисел соединен с регистром X. Для кольцевого перемещения чисел в стеке используются специальные клавиши перемещения чисел в стеке - по часовой стрелке и против часовой. Кроме кольцевого стека в калькуляторе предусмотрены еще семь регистров с номерами от 2 до 8.Калькулятор имеет две префиксных клавиши - F и P. Клавиша F является префиксной для операций, обозначенных черным цветом, клавиша P - обозначенных красным. Префиксные клавиши также используются для записи и извлечения чисел из регистров. Для записи используется клавиша P, а для чтения - клавиша F.
Но я же не сказал о главной особенности калькулятора Б3-21 - способности программировать! В микрокалькуляторе есть 60 шагов программы, причем адреса записываются по модулю шесть, то есть адреса идут в следующем порядке: 00, 01, 02, 03, 04, 05, 10, 11 и так далее. Каждая клавиша имеет свой код операции. Калькулятор имеет функции безусловного перехода, перехода на подпрограммы, а также переходы по условию. Клавиши ветвления (переходов) используют две ячейки памяти калькулятора - одну ячейку занимает код операции, а другую - адрес перехода. Требуемый адрес перехода получается, исходя из кода клавиши, которая нажимается после нажатия клавиши перехода, плюс 1. Например, чтобы безусловно перейти на адрес 33, необходимо нажать клавиши БП и 3 (код 34). Коды операций брались из таблицы.
Первый программируемый калькулятор сразу стал очень популярен в стране. Теперь пользователь мог не только писать сложные программы, но даже играть в игры с калькулятором. Это было неслыханное нововведение! Начала выпускаться литература по технике программирования на программируемом микрокалькуляторе. Слева на рисунке - очень популярная книжка тех времен, посвященная играм и полезным программам с использованием калькулятора Б3-21.
Появление программируемого микрокалькулятора Б3-21 позволило даже организовать управление производственным процессом. Были выпущены настольные варианты этого калькулятора - МК-46 и МК-64 (рисунок справа). Это были большие настольные калькуляторы, имевшие на задней части корпуса специальные разъемы. Был введен дополнительный регистр 9, в который записывался, так называемый "код эксперимента". В этих калькуляторах возможен ввод данных как с клавиатуры, так и от внешних устройств (датчиков, аналого-цифровых преобразователей и пр.), они могут осуществлять контроль допусковых величин вводимых данных и печатать данные и результаты их обработки при помощи внешнего устройства. МК-64 отличается от МК-46 наличием встроенного цифро-аналогового преобразователя. Многие микрокалькуляторы МК-64 были установлены в кабинетах физики специальных физико-математических школ, так как они могли, скажем, измерить напряжение от батарейки.
Самый известный микрокалькулятор
Первые программируемые калькуляторы Б3-21, МК-46 и МК-64, хоть и работали по программе, но имели всего два операционных регистра X и Y, а работа с кольцевым стеком была очень неудобной. И вот, в 1980 году на смену микрокалькулятора Б3-21 пришел программируемый микрокалькулятор Б3-34 в ценой 85 рублей. Это был еще один шаг вперед! У него был стек, состоящий из четырех регистров, 98 шагов программной памяти, 14 регистров памяти вместо семи у Б3-21, а самое главное - возможность организации циклов и работа с индексными регистрами. С калькулятором стало работать - одно удовольствие.
Вскоре появились аналоги Б3-34 - МК-54, сделанный в более красивом дизайне, и стоивший на 20 рублей дешевле за счет использования источников питания другого типа. Был также разработан настольный вариант - МК-56.
Один за другим известные научно-популярные журналы стали учить работать с калькулятором. Это - журналы "Наука и Жизнь", "Техника-Молодежи" и "Химия и Жизнь". В "Науке и Жизни", начиная с октября 1983 года появился специальный раздел "Человек с микрокалькулятором", где рассказывалось как работать с Б3-34, а также приводилось большое количество полезных и игровых программ. Журнал "Техника - Молодежи", начиная в 1985 году сначала провел курс программирования на Б3-34 под названием "Калькулятор - Ваш помощник", а затем организовало "Клуб Электронных Игр", в котором печатались увлекательнейшие фантастические рассказы "Истинная Правда" и "Путь к Земле", где читателям предлагалось самим "освоить" технику "приземления" на лунную поверхность и осуществить полет с Луны на Землю на не приспособленном для таких полетов корабле местных лунных линий "Кон-Тики". Школьники и взрослые пользователи микрокалькулятора с нетерпением ожидали очередного номера "Техники-Молодежи", чтобы продолжить полет к Земле.
Микокалькулятор работает по обратной польской нотации, то есть сначала вводится первое число, нажимается клавиша
, вводится второе число и нажимается клавиша с необходимой операцией. То есть, чтобы умножить 2 на 3, надо нажать клавиши: (результат - 6). Для хранения операндов используется стек, состоящий из четырех регистров - X, Y, Z, T. При вводе числа после получения результата и при извлечении числа из регистра памяти (0..9, A..D), содержимое регистра X, который является отображением индикатора, сдвигается в регистр Y, значение Y - в Z, а Z - в T. При выполнении операций в качестве операндов используются, в основном, регистр X и Y.В режиме программирования код каждой команды занимает одну ячейку памяти. Команды ветвления (переходы, циклы, условия) занимают две ячейки. Одна ячейка - код операции, вторая - адрес перехода. В отличие от Б3-21, адрес перехода задается при помощи цифровых клавиш, а не при помощи ввода операции с нужным кодом. Например, для того чтобы ввести команду перехода на адерс 33, надо было ввести | БП | 3 | (клавише 3 соответствовал код 34). В микрокалькуляторе Б3-34 теперь надо просто ввести | БП | 3 | 3 |. Хотя теперь и надо было вводить на одну клавишу больше, зато не надо сверяться с кодами операции по таблицам.
Более подробно о том, как работать с калькулятором Б3-34, описано на специальной страничке, посвященной работе с Б3-34, которая расположена здесь.
Однако, самое интересное в калькуляторах Б3-34, и его аналогах - наличие недокументированных возможностей, которые помогали не только в написании программ, но и формировать специальные видеосообщения. Недокументированных особенностей в этих микрокалькуляторах оказалось настолько много, что заслуживают написания отдельной статьи. О недокументированных возможностях Б3-34 и его аналогов можно ознакомиться здесь.
Микрокалькулятор Б3-34 и его аналог МК-54 и МК-56 стали настолько популярными, что разработчики из Киевского завода "Кристалл" решили продолжить эту линию калькуляторов и в 1985 году выпустили новые модели МК-61 и МК-52. В них добавлен один регистр памяти, стало 105 шагов программной памяти и добавлен еще десяток функций. Микрокалькулятор МК-52, кроме того, имел память на 512 ячеек, которая не стиралась при выключении питания, и в которую можно было записать как программу, так и данные. В микрокалькуляторе МК-52 имелся также специальный разъем для подключения уже готовых модулей с программами, выпускавшихся под общим названием БРП (блок расширения памяти). При разработке блоков БРП разработчики опять убили сразу двух зайцев, запаяв в блок матрицу с двумя наборами программ. Установив перемычку, скажем, в положение 1, получаем блок БРП-3 с математическим набором программ, а перепаяв перемычку на положение 2 - блок БРП становится астронавигационным БРП-2. Гарантия, правда, на блок при этом терялась, так как приходилось откручивать винт с пломбой. Об этом было сказано в одном из номеров "Науки и Жизни", где один из читателей поделился об этом с редакцией, которому в свою очередь об этом рассказал один из разработчиков из НПО "Кристалл". Представляю, что было потом с этим разработчиком.
Кстати, микрокалькулятор МК-52 летал в космос на корабле "Союз ТМ-7", где его предполагалось использовать для рассчета траектории посадки в случае, если испортится бортовой компьютер.
Поздние модели микрокалькуляторов
Первые микрокалькуляторы потребляли очень много энергии от батареек, работы которых хватало от силы на два часа автономной работы. 220 вольт под рукой бывает не всегда, а без проблем купить батарейки можно было только в крупных городах. Поэтому инженеры-разработчики начали разрабатывать микрокалькуляторы, которые бы очень мало энергии от батареек. К тому времени уже были изобретены индикаторы на жидких кристаллах, которые отличались пониженным энергопотреблением.