Ввод чисел, операций и команд в микрокалькулятор осуществляется нажатием соответствующих клавиш. Многие клавиши имеют двойную и тройную символику. Цвет символов, изображённых над клавишами, соответствует цвету клавиш f и k. Ввод функции, символ которой изображён на клавишной панели, осуществляется следующим образом: сначала нажимают клавишу f или k, затем клавишу, над которой изображён символ вводимой функции. Назначение клавиш приведено в табл. Назначение функциональных клавиш и Назначение клавиш, используемых при программировании.
k-функции имеются только в МК-52/МК-61.
Клавиши | Назначение | Код |
---|---|---|
f | Переход на вторую символику | |
k | Переход на вторую символику. Косвенный переход и косвенное обращение к адресуемым регистрам | |
0 - 9 |
Занесение цифр от 0 до 9 в регистр X | 00 - 09 |
• | Занесение десятичной запятой | 0- |
BA | Разделение водимых чисел и передвижение информации в стеке | 0E |
cx | Сброс содержимого регистра X | 0D |
+ | Сложение содержимого регистра Y с содержимым регистра X и передача результата в регистр X | 10 |
- | Вычитание из содержимого регистра Y содержимого регистра X и передача результата в регистр X | 11 |
× | Умножение содержимого регистра Y на содержимое регистра X и передача результата в регистр X | 12 |
÷ | Деление содержимого регистра Y на содержимое регистра X и передача результата в регистр X | 13 |
= | Обмен содержимым между регистрами X и Y | 14 |
/-/ | Смена знака числа и порядка | 0L |
ВП | Подготовка ввода порядка | 0C |
f 10x | Вычисление степенной функции 10x | 15 |
f ex | Вычисление показательной функции ex | 16 |
f lg | Вычисление десятичного логарифма | 17 |
f ln | Вычисление натурального логарифма | 18 |
f sin | Вычисление функции синуса | 1C |
f cos | Вычисление функции косинуса | 1D |
f tg | Вычисление функции тангенса | 1E |
f sin-1 | Вычисление обратной функции синуса | 19 |
f cos-1 | Вычисление обратной функции косинуса | 1- |
f tg-1 | Вычисление обратной функции тангенса | 1L |
f ) | Вычисление квадратного корня | 21 |
f 1/x | Вычисление обратной величины X | 23 |
f x2 | Возведение числа X в квадрат | 22 |
f xy | Возведение числа X в степень Y | 24 |
f π | Вызов константы π=3,1415926 | 20 |
f 0 | Кольцевое перемещение информации в стеке | 25 |
f Bx | Восстановление предыдущего результата | 0 |
f CF | Сброс перехода на вторую символику | |
; r | Запись содержимого регистра X в регистр RGr. Номера и коды регистров см. в таблице Номера и коды регистров | 4r |
: r | Вызов в регистр X содержимого регистра RGr. Номера и коды регистров см. в таблице Номера и коды регистров | 6r |
k [x] | Выделение целой части числа | 34 |
k {x} | Выделение дробной части числа | 35 |
k max | Определение максимального значения одного из двух чисел, находящихся в регистрах X и Y | 36 |
k |x| | Определение абсолютного значения числа | 31 |
k ЗН | Определение знака числа | 32 |
k →°′″ | Перевод угловых (временных величин), выраженных в градусах (часах), минутах, секундах и долях секунды, в значения, выраженные в градусах (часах) и долях градуса (часа) | 2- |
k ←°′″ | Перевод угловых (временных величин), выраженных в градусах (часах) и долях градуса (часа) в значения, выраженные в градусах (часах), минутах, секундах и долях секунды | 30 |
k →°′ | Перевод угловых (временных величин), выраженных в градусах (часах), минутах, и долях минуты, в значения, выраженные в градусах (часах) и долях градуса (часа) | 26 |
k ←°′ | Перевод угловых (временных величин), выраженных в градусах (часах) и долях градуса (часа) в значения, выраженные в градусах (часах), минутах, и долях минуты | 33 |
k СЧ | Генерация псевдослучайного числа от 0 до 1 | 3L |
k ∧ | Поразрядное логическое умножение | 37 |
k ∨ | Поразрядное логическое сложение | 38 |
k ⊕ | Логическая операция "Исключающее ИЛИ" | 39 |
k ИНВ | Логическая операция "Инверсия" | 3- |
Клавиши | Назначение | Код |
---|---|---|
f ПРГ | Переход в режим "Программирование" | |
f АВТ | Переход в режим "Автоматическая работа" | |
БП | Безусловный переход | 51 |
f x<0 | Прямой переход по условию x<0 | 5C |
f x=0 | Прямой переход по условию x=0 | 5E |
f x≥0 | Прямой переход по условию x≥0 | 59 |
f x≠0 | Прямой переход по условию x≠0 | 57 |
ПП |
1. Переход на подпрограмму в режиме "Программирование" 2. Потактовое прохождение программы в режиме "Автоматическая работа" |
53 |
В/О |
1. Возврат из подпрограммы в режиме "Программирование" 2. Переход на нулевой адрес в режиме "Автоматическая работа" |
52 |
С/П |
1. Прекращение прохождения программы в режиме "Программирование" и фиксация
содержимого регистра X на индикаторе 2. Начало вычисления по программе в режиме "Автоматическая работа", а также прекращение вычислений в случае зацикливания |
50 |
f L0 | Организация цикла с регистром RG0 | 5D |
f L1 | Организация цикла с регистром RG1 | 5L |
f L2 | Организация цикла с регистром RG2 | 58 |
f L3 | Организация цикла с регистром RG3 | 5- |
k НОП | Нет операции (при редактировании программ) | 54 |
> | Потактовое прохождение программы в порядке возрастания адресов в режиме "Программирование" | |
< | Потактовое прохождение программы в порядке уменьшения адресов в режиме "Программирование" | |
Команды косвенной адресации Данные команды начинаются с клавиши k, за которой идут клавиши, указанные ниже. | ||
БП R | Косвенный безусловный переход по модифицированному адресу, хранящемуся в адресуемом регистре, индекс которого входит в команду | 8r |
x<0 R | Косвенный переход по условию x<0 при выполнении которого осуществляется переход по модифицированному адресу, хранящемуся в адресуемом регистре, индекс которого входит в команду | Cr |
x=0 R | Косвенный переход по условию x=0 при выполнении которого осуществляется переход по модифицированному адресу, хранящемуся в адресуемом регистре, индекс которого входит в команду | Er |
x≤0 R | Косвенный переход по условию x≤0 при выполнении которого осуществляется переход по модифицированному адресу, хранящемуся в адресуемом регистре, индекс которого входит в команду | 9r |
x≠0 R | Косвенный переход по условию x≠0 при выполнении которого осуществляется переход по модифицированному адресу, хранящемуся в адресуемом регистре, индекс которого входит в команду | 7r |
ПП R | Косвенный переход к подпрограмме по модифицированному адресу, хранящемуся в адресуемом регистре, индекс которого входит в команду | -r |
; r | Косвенная запись содержимого регистра X в регистр по модифицированному адресу, хранящемуся в адресуемом регистре, индекс которого входит в команду | Lr |
: r | Косвенная индикация вызова в регистр X содержимого адресуемого регистра по модифицированному адресу, хранящемуся в адресуемом регистре, индекс которого входит в команду | Dr |
Примечание: для команд, работающих с регистрами, вторая цифра кода (r) совпадает с номером регистра из таблицы Номера и коды регистров.
Для хранения исходных данных и промежуточных результатов в микрокалькуляторе предусмотрена регистровая память, состоящая из 15 (14 в Б3-34 и МК-54) адресуемых регистров RG0, RG1-RG9, RGa, RGb, RGc, RGd, RGe (отсутствует в Б3-34 и МК-54).
Номер регистра | Код |
---|---|
RG0 - RG9 | 0 - 9 |
RGa | - |
RGb | L |
RGc | C |
RGd | D |
RGe | E |
Запись числа в адресуемые регистры осуществляется из регистра X после нажатия клавиши x→п и одной из клавиш 0-9, a, b, c, d, e, совпадающих с индексом адресуемого регистра. При этом число, переданное в адресуемый регистр, сохраняется в регистре X
Вызов числа адресуемого регистра в регистр X осуществляется после нажатия клавиши п→х и клавиш с индексом адресуемого регистра.
Кроме адресуемых регистров в микрокалькуляторе имеется стековая память, состоящая из четырёх регистров: X, У, Z и Т. Регистры X и У - операционные.
В микрокалькуляторе имеется регистр предыдущего результата XI, который предназначен для записи числа, находящегося в регистре X до выполнения операции.
Вычисления на микрокалькуляторе производятся в режиме "Автоматическая работа". Этот режим автоматически устанавливается после включения питания микрокалькулятора или после нажатия клавиш f АВТ, если до этого микрокалькулятор находился в режиме "Программирование".
Одноместные операции выполняются с числом, находящимся в регистре X. Результат одноместной операции записывается в регистр X, при этом содержимое остальных регистров не изменяется.
Пример:
Ввод аргумента при вычислении прямых тригонометрических функций и вычисление аргумента для обратных
тригонометрических функций могут осуществляться в радианах, градах или градусах в зависимости от
положения переключателя "Р/ГРД/Г" (радиан/град/градус).
Примечание: градусы, грады и радианы находятся в следующей зависимости: 360° = 400 град = 2π радиан.
Для выполнения двухместных операций используется обратная польская запись при которой сначала вводятся оба операнда, а затем - операция. Ввод чисел в микрокалькулятор осуществляется обычным способом. Чтобы отделить первое число от второго, нажмите клавишу BA.
Пример:
Если на индикаторе высвечивается результат предыдущих вычислений, то набор на клавиатуре нового числа автоматически передвигает информацию из регистра X в регистр У. Таким образом, результат вычисления предыдущей операции может участвовать в качестве второго числа при выполнении последующих зачислений.
При выполнении некорректной операции на индикаторе высвечивается сигнал ошибки EDD0D
В стековую память входят четыре регистра X, У, Z и T, которые организованы по принципу магазинной памяти, когда последовательно записанная информация может быть считана только в последовательности, обратной последовательности записи (последнее записанное число является первым).
После включения микрокалькулятора регистры стека находятся в нулевом состоянии:
Р-р | Состояние | Примечание |
---|---|---|
T | 0 | |
Z | 0 | |
Y | 0 | |
X | 0 | Всегда индицируется |
Ввод чисел всегда производится в регистр X. Информация в регистрах стека смещается вверх: T - теряется, Z→T, Y→Z, X→Y, X - введённое значение.
Р-р | Состояние | Клавиша | Состояние |
---|---|---|---|
T | 1 | 5 | 2 |
Z | 2 | 3 | |
Y | 3 | 4 | |
X | 4 | 5 |
Нажатие клавиши BA передаёт копию числа из регистра X в регистр У, а также содержимое регистра У в регистр Z и содержимое регистра Z в регистр Т. При этом содержимое регистра X сохраняется, а регистра Т исчезает.
Р-р | Состояние | Клавиша | Состояние |
---|---|---|---|
T | 1 | BA | 2 |
Z | 2 | 3 | |
Y | 3 | 4 | |
X | 4 | 4 |
Нажатие клавиши = меняет местами содержимое регистров X и Y, не затрагивая Z и T.
Р-р | Состояние | Клавиша | Состояние |
---|---|---|---|
T | 1 | = | 1 |
Z | 2 | 2 | |
Y | 3 | 4 | |
X | 4 | 3 |
Нажатие клавиши f 0 вызывает циклическое перемещение информации в стеке T→Z, Z→Y, Y→X, X→T.
Р-р | Состояние | Клавиша | Состояние |
---|---|---|---|
T | 1 | f 0 | 4 |
Z | 2 | 1 | |
Y | 3 | 2 | |
X | 4 | 3 |
При выполнении одноместных операций микрокалькулятор оперирует с числом, находящимся в регистре X, при этом содержимое регистров У, Z и Т сохраняется, а число, находившееся до выполнения операции в регистре X, передаётся в регистр предыдущего результата (регистр XI). Результат одноместной операции передаётся в регистр X.
При выполнении двухместных операций микрокалькулятор оперирует с числами, находящимися в регистрах X и У. При этом информация в регистрах стека передвигается (опускается) следующим образом: T→Z, Z→Y, X→XI, результат операции→X.
Р-р | Состояние | Клавиша | Состояние |
---|---|---|---|
T | 1 | × | 1 |
Z | 2 | 1 | |
Y | 3 | 2 | |
X | 4 | 12 |
В режиме "Программирование" микрокалькулятор устанавливается после нажатия клавиш f ПРГ.
Для записи программ в микрокалькуляторе имеется специальная программная память, состоящая из 105 (98 в Б3-34/МК-54) ячеек, и стек возврата, состоящий из пяти разрядов.
При нажатии клавиш в режиме "Программирование" двузначный код операций, команд и цифр, присвоенный данной клавише или ее комбинации с клавишами f, k, X→П, П→x, записывается в специальную память программы. Коды операций см. в табл. Назначение функциональных клавиш и Назначение клавиш, используемых при программировании.
Последовательность вводимых операций и команд, необходимых для решения задачи, представляет собой программу.
Первой ячейке программной памяти присвоен номер 00, последней - 104 (97 в Б3-34/МК-54). При записи программы в микрокалькулятор двузначный код (шаг программы) в программной памяти занимает одну ячейку. Местонахождение кода в программной памяти определяется адресом. Для обозначения адресов от 00 до 99 используются соответствующие числа, а для адресов от 100 до 104 старшие две цифры обозначаются знаком минус (например, адрес 100 обозначается как "-0").
Для управления последовательностью записи и для выполнения команд в микрокалькуляторе имеется счётчик адреса. Этот счётчик может быть установлен на любой начальный адрес (от 00 до 104). При записи программы введение в программную память команд (операций) увеличивает содержимое счётчика на 1. Для того, чтобы последовательность выполнения команд отличалась от последовательности записи команд в программе, чтобы отдельные части программы повторились, чтобы изменение последовательности исполнения происходило в зависимости от промежуточных результатов вычисления, в микрокалькуляторе имеются команды, с помощью которых изменяется содержимое счётчика адреса. Эти команды называются командами переходов. Изменение содержимого счётчика адреса происходит по адресу перехода, записанному либо в программной памяти, либо в адресуемых регистрах, либо в пятиразрядном стеке возврата - специальной области памяти. Если адрес перехода записан в адресуемом регистре, то такая адресация называется "косвенной". Косвенная адресация используется также при обращении к адресуемым регистрам. В этом случае в программе вместо прямого указания номера адресуемого регистра записывается косвенный номер, т.е. номер того адресуемого регистра, в котором хранится номер вызываемого.
В режиме "Программирование" индикатор используется для отображения кодов трёх последовательных команд из программной памяти и текущего состояния счётчика команд, т.е. адреса, по которому будет записана следующая команда. Например, на индикаторе отображено
Вычисления по программам производятся в следующем по рядке:
Для составления разветвляющихся программ и многократного прохождения отдельных частей программ (подпрограмм) используются команды переходов (прямые и косвенные), команды косвенной индикации вызова и записи, команды организации циклов. После команд переходов (прямых) и команд организации циклов в составляемой программе должен стоять адрес перехода. Адрес перехода для косвенной команды содержится в самой команде. Для прямых и косвенных команд адреса переходов 00-99 записываются с помощью соответствующих цифровых клавиш 0 - 9. Адреса переходов 100 - 104 используются только для прямых команд и записываются с помощью клавиши •, которая соответствует цифре 10 и одной из клавиш 0-4.
Наличие в микрокалькуляторе стека возврата предусматривает создание подпрограмм внутри программ. Глубина подпрограмм определяется разрядностью стека и равна пяти. Регистр стека работает по системе: первым зашёл, последним вышел.
Для автоматического останова и индикации результата вычислений программа обязательно должна содержать команду останова С/П.
Программа решения задачи может начинаться с адреса 00 или с любого произвольного адреса. Для занесения программы с нулевого адреса необходимо в режиме "Автоматическая работа" нажать клавишу очистки программного счётчика В/О и перейти в режим "Программирование", нажав клавиши f ПРГ. На индикаторе в этом случае индицируется адрес счётчика 00, с которого будет вводиться программа. Вводят программу, нажимая клавиши, записанные в программе. Для занесения программы с произвольного адреса необходимо в режиме "Автоматическая работа" нажать клавишу БП, а затем клавиши, которые обеспечат переход на требуемый адрес. После перехода в режим "Программирование" на счётчике адресов команд установится адрес, с которого должна вводиться программа.
Если при вводе программы допущена ошибка, то для ее исправления необходимо перейти на адрес, по которому записана ошибочная команда. Для этого можно воспользоваться клавишей > или <, если адрес ошибочной команды находится недалеко от текущего. При каждом нажатии этих клавиш содержимое счётчика адресов команд соответственно увеличивается или уменьшается на единицу. Причём, если ошибка допущена в адресе перехода, то для её исправления необходимо сдвинуть информацию на два шага и повторить ввод команды и следующий за ней адрес перехода. При большой разнице адресов ошибочной и текущей команд нужно воспользоваться командой безусловного перехода. Для этого необходимо перейти в режим "Автоматическая работа", нажать клавишу БП, а затем клавиши, которые обеспечат переход на нужный адрес. После установки режима "Программирование" на индикаторе появится адрес ошибочной команды. Исправьте ошибку, нажав клавишу требуемой операции либо команды.
Если необходимо исключить какую-либо команду из программы, перейдите на адрес исключаемой команды, а затем нажмите клавиши k НОП. В программную память запишется команда "Нет операции", по которой при вычислении ничего не выполняется.
Отладка программы производится в режиме "Автоматическая работа" путём анализа выполнения отдельного шага программы. Выполнение программы по отдельной команде осуществляется нажатием клавиши ПП в режиме "Автоматическая работа". Для отладки программы перейдите в режим "Автоматическая работа", нажав клавиши f АВТ, занесите исходные данные для работы программы, установите начальный адрес записанной программы, нажмите клавишу ПП и проанализируйте выполнение каждого шага программы. При пошаговом просмотре выполнения программы следует учитывать, что выполнение команды перехода и установка адреса перехода осуществляются за один шаг программы.
Для выполнения программы в режиме "Автоматическая работа" наберите на клавиатуре исходные данные и занесите их в необходимый адресуемый регистр памяти (RG0 - RGe) либо в регистр стека (X, У, Z, T). Установите адрес начала программы и пустите программу на счёт, нажав клавишу ПП для пошагового прохождения команд программы либо клавишу С/П для автоматического выполнения последовательности шагов программы.
Нажатие клавиши С/П сопровождается подсветкой индикатора, что свидетельствует о выполнении программы. Время выполнения программы зависит от её длины и характера вычислений. В случае зацикливания, т.е. бесконечного повторения некоторого участка программы, необходимо остановить её, нажав клавишу С/П, а затем проверить программу и устранить причину зацикливания.
После выполнения программы прочитайте результат на индикаторе.
Команда безусловного перехода реализуется клавишей БП. Эта команда прерывает естественный порядок выполнения команд программы и осуществляет переход к выполнению команды, указанной в адресе перехода.
Команды перехода по условию (Х≥0, Х<0, X=0, X≠0) реализуются клавишей f и клавишей условия (Х≥0, Х<0, X=0, X≠0). С помощью этих команд проверяют содержимое регистра X на выполнение заданного условия. Если условие не выполняется, то следующей по программе будет исполнена команда, адрес которой указан непосредственно за командой условного перехода. Если условие выполняется, то следующей по программе будет исполнена команда, записанная в программе после адреса перехода. При этом адрес перехода не воспринимается.
Команда перехода на подпрограмму реализуется клавишей ПП. С помощью этой команды реализуется переход на подпрограмму по адресу, указанному непосредственно после команды перехода, и запоминается адрес следующей команды в стеке возврата.
Команда возврата из подпрограммы реализуется клавишей В/О. С помощью этой команды из стека возврата производится вызов адреса, записанного по команде перехода на подпрограмму ПП, и осуществляется переход по этому адресу к выполнению шагов основной программы.
Команда косвенного безусловного перехода по модифицированному адресу реализуется клавишами k , БП и клавишей адресуемого регистра (0-9, a, b, c, d, e). При исполнении этой команды производится модификация адреса, хранящегося в адресуемом регистре, индекс которого входит в команду, и переход к исполнению команды, записанной по новому (модифицированному) адресу.
Команды косвенных переходов по условию реализуются клавишей k, клавишей условия (Х≥0, Х<0, X=0, X≠0) и клавишей адресуемого регистра (0-9, a, b, c, d, e). С помощью этой команды проверяют содержимое регистра X на выполнение заданного условия. Если условие не выполняется, то происходит модификация адреса, хранящегося в адресуемом регистре, индекс которого входит в команду, и осуществляется переход к выполнению команды, записанной по модифицированному адресу. Если условие выполняется, то осуществляется переход к выполнению следующей команды. При этом адрес, записанный в адресуемом регистре, не модифицируется.
Команда косвенного перехода на подпрограмму реализуется клавишами k, ПП и клавишей адресуемого регистра (0-9, a, b, c, d, e). С помощью этой команды производится модификация адреса, хранящегося в адресуемом регистре, индекс которого входит в команду, запись следующей команды в стек возврата и переход к исполнению команды, записанной по модифицированному адресу.
Команды организации циклов реализуются клавишами f, L0 (либо L1, L2, L3). При нажатии клавиши L0 (либо L1, L2, L3), происходит обращение к регистру RG0 (RG1, RG2, RG3). При каждом обращении к регистру из содержимого этого регистра вычитается 1 и производится анализ его содержимого на нуль. Если содержимое регистра не равно нулю, то осуществляется переход к выполнению команды, записанной по адресу перехода, следующему за командой цикла, если равно нулю, то выполняется команда, записанная в программе за адресом перехода.
Команда косвенной записи в регистр реализуется клавишами k, x→П и клавишей адресуемого регистра (0-9, a, b, c, d, e). С помощью этой команды производится модификация содержимого адресуемого регистра, индекс которого входят в команду, и запись содержимого регистра X в регистр, соответствующий полученному модифицированному коду.
Команда косвенной индикации вызова реализуется клавишами k, П→x и клавишей адресуемого регистра. С помощью этой команды производится модификация содержимого адресуемого регистра и вызов в регистр X содержимого того регистра, который соответствует модифицированному коду
Рассмотрим программу для решения квадратных уравнений вида ax2 + bx + c = 0
Адр. | Команда | Код | Примечание | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
00 | П→Х b | 6L | |||||||||||
01 | f x2 | 22 | |||||||||||
02 | П→Х c | 6C | |||||||||||
03 | П→Х a | 6- | |||||||||||
04 | 4 | 04 |
Состояние стековой памяти
| ||||||||||
05 | × | 12 | |||||||||||
06 | × | 12 | |||||||||||
07 | - | 11 | |||||||||||
08 | f ) | 21 | |||||||||||
09 | X→П d | 4D | Сохраняем в регистре d значение √(b2-4ac) | ||||||||||
10 | П→Х b | 6L | |||||||||||
11 | /-/ | 0L | |||||||||||
12 | X→П b | 4L | Сохраняем в регистре b значение -b для дальнейших вычислений | ||||||||||
13 | П→Х d | 6D | |||||||||||
14 | + | 10 | |||||||||||
15 | П→Х a | 6- | |||||||||||
16 | 2 | 02 | |||||||||||
17 | × | 12 |
Состояние стековой памяти
| ||||||||||
18 | X→П a | 4- | Сохраняем в регистре a значение 2a для дальнейших вычислений | ||||||||||
19 | ÷ | 13 | В регистре X первый корень x1 | ||||||||||
20 | П→Х b | 6L | |||||||||||
21 | П→Х d | 6D | |||||||||||
22 | - | 11 | |||||||||||
23 | П→Х a | 6- | |||||||||||
24 | ÷ | 13 |
Состояние стековой памяти
| ||||||||||
25 | С/П | 50 | Останов программы |
Перед выполнением вычислений необходимо коэффициенты a, b, c занести в регистры a, b, c соответственно. После останова в регистре X находится один корень, в регистре Y - второй. Если уравнение не имеет действительных корней, на экране высветится
Рассмотрим решение уравнения x2+2x-3=0
1. 1 X→П a
2. 2 X→П b
3. 3 /-/ X→П c
4. В/О C/П
5. -3.
6. =
7. 1.