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

Автор: Сергей Фролов
Источник: www.leningrad.su

Здесь вкратце рассказано о том, как работать с микрокалькулятором Б3-34, его аналоги B3-54, МК-54, МК-56, а также МК-61 и МК-52. По материалам журналов "Наука и Жизнь".

Б3-34, B3-54, MK-54, MK-56, MK-52 и MK-61 имеют различное начертание символов на клавишах. В таблице ниже показаны основные отличия.

 

B3-34, B3-54
MK-54, MK-56, MK-61, MK-52

На панели калькулятора тридцать клавиш. Каждая клавиша предназначена для выполнения двух или трех действий. Если нажать на клавишу, то будет выполняться действие, обозначенное на ней. Если нажать клавишу (F - function, функция) и затем какую-то другую клавишу, то будет выполнена операция, обозначенная над клавишей.
Например, вычислим синус от угла 37 градусов 30 минут. Сначала превратим минуты в десятичную дробь: 37.5. Установив переключатель в положение Г, вводим это число последовательным нажатием клавиш.

Возьмем от него синус, нажав клавиши:

На индикаторе читаем значение синуса: 0.60876144. На индикаторе это выглядет так: , то есть 6.0876144e-01.

Числа, по абсолютной величине меньшие 1 и большие 99999999, в микрокалькуляторе представляются в нормализованном виде - с плавающей запятой. Слева - мантисса, справа - порядок.

Точно так жеозначает -0.002375.

При вводе числа сначала вводят мантиссу, затем знак, если число отрицательное, затем клавишу ввода порядка, и вводят порядок. Если порядок отрицательный, то при вводе порядка также нажимают клавишу.

Калькулятор, как и любая вычислительная машина, оперирует с числами. Числа запоминаются машиной в специальных ячейках памяти - регистрах. Каждый регистр памяти в калькуляторе имеет свое обозначение в виде цифры или буквы. Десять из них обозначаются числами от 0 до 9, еще четыре - начальными буквами латинского алфавита (A, B, C, D) или кириллицей (,,,), еще пять - латинскими буквами (X, Y, Z, T, X1).

При вводе в калькулятор число заносится в регистр X. Его содержимое всегда видно на индикаторе. Каждая операция выполняется над одним числом, находящимся в регистре X (операция одноместная) или над двумя числами, одно из которых находится в регистре X, а другое - в регистре Y. Отличительной особенностью этого калькулятора является то, что операция, которую следует производить с двумя числами, выполняется после ввода двух чисел.
Числа, над которыми нужно совершить ту или иную арифметическую операцию, должны находиться в двух регистрах - X и Y. В регистр Y можно попасть только из регистра X. Делается это нажатием клавиши(arrow up or "B and arrow up"). При этом в регистре X остается копия числа. Затем в регистр X записывается второе число, причем первое число стирается. В случае вычитания уменьшаемое должно находиться в Y, а вычитаемое - в X. При делении в Y должно находиться делимое, в X - делитель.
После ввода числа в оба регистра, можно нажать клавишу выбранной операции. Результат ее будет помещен в ругистр X. То, что было прежде в регистре Y, не сохранится.

Пример: вычислить 3.5 * 2.5 - 1. Порядок нажатий клавиш будет такой:

 Правильный результат - 7.75.

Здесь следует обратить внимание на то, что если в регистре X находился результат операции, то ввод нового числа в регистр X автоматически передвигает старое содержимое регистра X в регситр Y.
Попробуем теперь программировать. Сложные алгоритмы типа вычисления баллистической траектории межконтинентальной баллистической ракеты пока рассматривать не будем. Составим несложную программу вычисления площади круга. Формула для вычисления площади круга известна:
S = pi * D * D / 4, где D - диаметр круга. Константа pi уже есть в микрокалькуляторе. Величину D необходимо вручную ввести с клавиатуры (оно будет помещено в регистр X). Пусть D = 3. Для ручного рассчета нужно нажать клавиши:. На индикаторе читаем результат: 7.0685832.

Те же клавиши и в той же последовательности нужно будет нажать, когда мы станем вводить в калькулятор программу для вычисления площади круга.
Программа располагается в калькуляторе в виде отдельных команд, каждая из которых занимаем свою ячейку программной памяти (некоторые - две ячейки). Всего таких ячеек 98 (у MK-61 и MK-52 - 105 ячеек). Им присвоены номера, называемые адресами - от 00 до 97.
Чтобы ввести программу в калькулятор, надо перевести его в состояние, называемое режимом программирования. Делается это нажатием двух клавиш:. Сразу в правом углу индикатора загорится 00. Это значит, что счетчик адресов установлен на нулевую отметку, и команда, которую мы сейчас введем, займет адрес 00.
Ввод каждой команды станет увеличивать на единицу содержимое счетчика адресов, отображаемое в правом углу индикатора.
Нажимаем. В левом углу загорается 22. Это код операции возведения в квадрат. Его появление на индикаторе означает, что команда занесена в программную память. Одновременно сменилось число в правом углу: сейчас там горит 01. По такому адресу разместится слудеющая введенная нами команда.

Нажимаем

Код 22 сдвинулся вправо, а на его месте появилось число 20 - код засылки числа Пи в регистр X. В правом углу - 02. По этому адресу разместится следующая команда "умножить". Нажав соответствующую клавишу, замечаем: в левом углу оба кода разом сместились вправо, а на освободившемся месте загорелся код операции умножения: 12.

Ввод каждой новой команды теперь будет приводить к тому, что левый и средний из этой тройки кодов сместятся вправо, стирая правый, а на освобождаемом месте появится код только что введенной операции. В правом же углу при этом загорится адрес, который будет занят командой, введенной последней.
Таким образом вводятся все команды. Для останова работы калькулятора по программе необходимо ввести специальную команду:. Нажав на эту клавишу завершаем ввод нашей программы. У клавишиесть два назначения: в режиме программирования она останавливает ход программы. Чтобы познакомиться с другим назначением клавиши, вернем микрокалькулятор в состояние, в котором он был сразу после включения.
Это состояние мы будет называть режимом вычислений. Находясь в нем, калькулятор либо выполняет отдельные команды, либо автоматически вычисляет по имеющейся в его памяти программе (автоматический режим). Запуск калькулятора на автоматический счет производится клавишей. Отсюда ее расшифровка: Стоп/Пуск.

Чтобы вернуть калькулятор в режим вычислений из режима программирования, надо нажать клавиши:. Калькулятор готов к работе по программе. Но прежде чем запускать его, надо еще сообщить ему, с какой команды он должен начать вычисления.
Начальная команда введенной нами программы располагается по адресу 00. Калькулятор снабжен клавишей("возврат на 0"). При нажатии этой клавиши в режиме автоматических вычислений счетчик комад устанавливается на адрес 00.
Таким образом для рассчета диаметра круга в нашей программе необходимо ввести диаметр круга 3 и нажать, чтобы запустить программу на счет.

В процессе вычислений может возникнуть сообщение об ошибке при переполнении или выполнении некорректной операции:

В микрокалькуляторе используется 14 регистров памяти. Они имеют номера 0-9, A-D (в MK-61 и MK-52 есть дополнительный регистр E).
Чтение из регистра производится в регистр X. Запись в регистры производится также из регистра X. Для записи числа из регистра X в регистр памяти используется клавиша(П - память). Для извлечения числа из регистра памяти используется клавиша(ИП - из памяти). Например, чтобы записать число 3 в регистр 8, надо нажать клавиши. Аналогично число извлекается из памяти.

Выше уже было сказано, что для выполнения двухместных операций используются регистры X и Y, и для перемещения числа в регистр Y используется клавиша. Однако только перемещением из регистра X в регистр Y действия не ограничиваются. Ниже в таблицу сведены принципы перемещения информации в стеке. Не забудьте, что регистр X - это индикатор.

 Вызов из памяти, набор на клавиатуре после выполнения операции (кромеи, завершающих набор)
 Продолжение набора на клавиатуре после или.
 Нажатие клавиши.
 Выполнение одноместной операции и.
 Выполнение двуместной операции.
 Извлечение содержимого регистра X1.

 
 Циклический сдвиг стека.
 Обмен содержимым X и Y.

Дальше рассмотрим команды перехода.

Для безусловного перехода на адрес программы используется клавиша(БП - безусловный переход). После команды следует указать адрес перехода. Например, для того, чтобы перейти на адрес 60, надо нажать клавиши: . Эта команда работает как в режиме ручных вычислений, так и в программном режиме. В программном режиме такая команда занимает две ячейки памяти: первая ячейка - код команды перехода, вторая - адрес перехода.

Чтобы вызвать подпрограмму, используется команда(ПП - переход на подпрограмму). Так же, как и в команде безусловного перехода, необходимо указать адрес, с которого начинается подпрограмма. Команда возврата из подпрограммы -. Подпрограммы могут вкладываться друг в друга. Всего допускается до пяти уровней вложенности подпрограмм.
Также есть специальные команды, которые изменяют порядок выполнения программы в зависимости от содержимого регистра X. Это команды. Если условие выполняется, то управление передается на команду, следующую за командой условия, в противном случае - управление передастся на указанный адрес.
Например, если с адреса 20 мы введем строку: 20. 21., то если содержимое регистра X будет меньше нуля, то программа продолжится с адреса 22, а если ноль и больше, то с адреса 25.

Для организации циклов предусмотрены специальные команды. После ввода этих команд также необходимо указать адрес перехода. Каждая команда ассоциирована с регистрами от 0 до 3 соответственно. После выполнения команды происходит вычитание единицы из этого регистра и сравнение результата с нулем. Если результат равен нулю, то программа продолжит свое выполнение со следующего адреса. Иначе - перейдет на указанный адрес перехода.

Напишем небольшую программу вычисления факториала.

Сначала перейдем в режим программирования: (переход на адрес 00). Затем вводим программу:

00.01.02.03.04.05.06.

Когда программа написана, переходим в режим автоматической работы:

Число вводится с клавиатуры и нажимаются клавиши (возврат на адрес 00) и (старт). Число должно быть в диапазоне от 1 до 69.

Теперь рассмотрим индексные команды.

Индексные команды начинаются с нажатия клавиши и всегда занимают одну ячейку памяти. После нажатия клавиши вводится одна из команд и номер регистра.
Перед выполнением действия значение регистра модифицируется. Если номер регистра 0, 1, 2, 3, то перед выполнением действия его значение уменьшается на единицу. Если номер регистра равен 4, 5, 6, то значение регистра увеличивается на единицу. Остальные регистры не изменяются.

Регистру A соответствует число 10, B - 11, C - 12, D - 13 (в MK-61 и MK-52, E - 14).

Команда поместит значение регистра X в регистр, номер которого указан в регистре 0, но меньший на 1.

Команда поместит в регистр X значение регистра, указанного в регистре 4, но больший на 1.

Команда переведет работу программы на адрес, указанный в регистре 9. Аналогично переход на подпрограмму, адрес которой указан в регистре B, выполняется командой .

Команда аналогична команде XX, но адрес перехода указывается в регистре A, и команда занимает одну ячейку памяти.

Здесь следует обратить внимание, что если в регистр поместить дробное число, а затем к этому регистру применить команду косвенного вызова, то от помещенного числа отбросится дробная часть.

Например, поместив число 12.34567 в регистр 9 и отдав команду , в регистре 9 останется число 00000012. Эта интересная особенность очень удобна для отделения целой части числа.

Более подробно про другие недокументированные и интересные функции микрокалькулятора Б3-34 смотрите на специальной страничке.

 

Партнерские ссылки

Железные призраки прошлого: старые компьютеры от Altair 8800 до Pentium. Музей, описания, форум для владельцев, софт.

INVARIANT - Сайт об отечественных микрокалькуляторах, электронных часах, WindowsCE HPC, RIM BlackBerry. Сохраняя малое.

ПМК - программируемые микрокалькуляторы

Поделиться

 

Сейчас на сайте 0 пользователей и 0 гостей.

Контакты

222397, Минская обл.
г. Мядель, ул. 17 Сентября, 6
Тел. (017-97) 40-3-38

гимназия

 

Робототехника в гимназии

Akavita CY-PR.com Яндекс.Метрика

Туристический портал Нарочанского края: туризм, отдых, услуги, здравницы, новости, информация