Электроника Б3-34

Б3-34 — советский программируемый микрокалькулятор с обратной польской записью для проведения инженерных и научных расчётов. Относится ко второму поколению советских программируемых калькуляторов. Выпускался в УССР заводом «Калькулятор», который работал в г. Светловодск Кировоградской области. В продаже появился в 1980 году по цене 120 рублей.

Буква «Б» в названии означает «бытовая техника», 3 (именно тройка, а не буква «З») — калькуляторы (2 обозначала настольные часы, 5 — источники питания, 6 — наручные часы, 7 — настенные часы и т. п.), 34 — номер модели.

Память 98 команд и 14 регистров, быстродействие около 5 простых операций в секунду. При выключении калькулятора содержимое памяти стирается. Операционный стек состоит из 4 регистров (X, Y, Z, T); кроме того, существует регистр предыдущего результата X1.

Элементная база — интегральные схемы К165ГФ3 (тактовая частота — примерно 100 кГц), микропроцессоры К145ИК1302, К145ИК1303, кольцевые регистры К145ИР2 — 2 штуки. Транзисторы КТ814Б, два КТ315Г. Вакуумно-люминесцентный индикатор. Стабилитрон КС147А. Четыре диода КД522А. Трансформатор блокинг-генератора, различные резисторы, конденсаторы. Питание — внешний сетевой блок питания или четыре никель-кадмиевых аккумулятора Д-0,55С.

Функции клавиш 
↑ — передает копию числа из регистра X в регистр Y, а также содержимое регистра Y в регистр Z и содержимое регистра Z в регистр T. При этом содержимое регистра X сохраняется, а регистра T исчезает. Используется для разделения чисел в обратной польской записи, например: операция 5+3 выполняется: 5 ↑ 3 +;

F — префиксная клавиша для выполнения надклавишных операций;

К — префиксная клавиша для выполнения пустой команды К НОП и операций косвенной адресации;

F ПРГ — переход в режим программирования;

F АВТ — возврат в режим вычислений;

F 🗘 — кольцевое перемещение чисел по стеку;

 — обмен содержимыми регистров X и Y;

F Вx — вызов числа из регистра предыдущего результата, куда переходит прежнее содержимое регистра X после всех операций, кроме ↑, ввода чисел, вызова числа π и адресации;

Сx — очистка содержимого регистра X;

F CF — сброс действия префиксных клавиш;

,  — движение вправо и влево по шагам программы;

С/П — в программе: остановка; в режиме вычислений: запуск программы;

В/0 — в программе: возврат из подпрограммы; в режиме вычислений: переход на адрес 00;

П N (здесь и далее N — обозначение регистра памяти: 0, 1, ..., 9, A, B, C, Д) — засылка числа в регистр N;

ИП N — вызов числа из регистра N.

БП NN — переход на шаг NN (от 00 до 97) в программе;

ПП NN — переход к подпрограмме; в режиме вычислений клавиша ПП используется для пошагового выполнения программы;

F x=0 NN, F x≠0 NN, F x<0 NN, F x≥0 NN — условные переходы (переход происходит, если условие не выполняется);

F L0 NN, F L1 NN, F L2 NN, F L3 NN — организация циклов (в регистрах 0, 1, 2, 3 — уменьшаемый счётчик цикла).

Косвенная адресация:

К П N — засылка числа в регистр, номер которого указан в регистре N (числа от 0 до 9 обозначают соответствующие регистры, числа 10, 11, 12, 13 обозначают регистры A, B, C, Д);

К ИП N — вызов числа из регистра, номер которого указан в регистре N;

К БП N — безусловный переход по адресу, указанному в регистре N;

К ПП N — переход к подпрограмме по адресу, указанному в регистре N;

К x=0 N, К x≠0 N, К x<0 N, К x≥0 N — условные переходы.

Все операции косвенной адресации с регистрами 0, 1, 2, 3 уменьшают их содержимое на единицу, с регистрами 4, 5, 6 — увеличивают. От дробных чисел остаётся только целая часть.

Команды с указанием регистров памяти занимают в программе один шаг, команды с указанием адресов команд в программе — два шага.

Недокументированные возможности 

Для экономии места разработчики сильно упростили микрокод при обработке ошибок и различных нестандартных ситуаций, что породило множество недокументированных возможностей; например, если в моделях поздних выпусков переключатель «градусы-радианы» поставить в среднее положение, то калькулятор будет считать тригонометрические функции в градах.

Множество прочих неожиданных и трудно предсказуемых недокументированных возможностей были объектами регулярных любительских исследований и публикаций в известных журналах; некоторые из них даже использовались в играх и прочих программах. Например, 
Н. Стрижаченко из Ижевска подключил к Б3-34 внешний тактовый генератор с частотой 200 кГц, вместо внутреннего — 125 кГц, и быстродействие увеличилось в 1,8 раза.

См. также 
 Б3-21
 МК-52
 МК-54
 МК-61
 Список советских калькуляторов

Литература 
 Раздел «Человек и компьютер» в журнале «Наука и Жизнь», который ведет кандидат физико-математических наук Ю. Пухначев.

Ссылки 
 С.Фролов. Электроника Б3-34. Микрокалькулятор — Загадка
 Черновик описания процессора микрокалькулятора Б3-34, принципиальная схема
 Приставка-программатор к микрокалькулятору БЗ-34, (Радио, 1990-12)
 Программируемые микрокалькуляторы. Устройство и пользование, под ред. Я. К. Трохименко (Радио и связь, 1990)

Программирование 
 Расчет катушек индуктивности на микрокалькуляторе. Г.Миллер, ВПР, № 114, 1992
 Средства навигации малых судов. Мордвинов Б. Г. и др, 1986, на ПМК типа Б3-34
 Расчетно-проектировочные работы на программируемых микрокалькуляторах. Чапка А. М. , 1988, на ПМК типа Б3-34

 Микро-ЭВМ для химиков, для Б3-34

Эмуляторы 

 Программа — эмулятор и симулятор большого количества советских калькуляторов и множество программ для них (эмулятор воспроизводит все недокументированные возможности)
 Эмулятор Б3-34 для KolibriOS, 2010

Советские программируемые микрокалькуляторы
Появились в 1980 году в СССР