Главная -> Книги

(0) (1) (2) (3) ( 4 ) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (4)

Посую перевода в режим программирования (нажатием клавиш F нИРГ) каждая операигля или команда вврдится нажатием соответствующих клавиш и кодируется определенным символом. Все операции микрокалькулятора и их коОи даны в табл. 1.3. Коды имеют вид цифр и знаков, отображаемых семисегментнымн элементами индикатора в процессе ввода программы и ее редактирования.

1.3. Основы программирования микрокалькуляторов

Рассмотрим основные понятия программирования микрокалькуляторов Электроника БЗ-34,

Ввод и представление чисел. Чксла-операнди вводятся в микрокалькулятор нажатием соответствующих клавиш. Порядок числа вводится нажатием клавиши ВП. Знак минус вводится нажатием клавиши /-/ после ввода мантиссы или порядка числа. Числа, большие 1, но меньшие 10*, представляются в обычном виде, например 9725 или 14,1256. Числа за этими пределами представляются в экспоненциальной форме Af-lO где Af - нормализованная мантисса с первым знаком от 1 до 9, £ -порядок числа (до d=99). Нормализация числа происходит при записи чисел в любой регистр (см. ниже).

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

Регистры. Для хранения чисел и результатов вычислений служат регистры памяти. По своему назначению они подразделяются на три типа. Первый тш -операционные регистры X и Y, в которые вводятся два операнда двухместных арифметических операций. Второй тип регистров - регистры памяти - служит для записи исходных данных и промежуточных результатов вычислений. Эти регистры обозначаются буквами Л, В, С, Д и цифрами 09 (всего 14 регистров). Кроме того, еще два таких регистра Z и Т объединяются с регистрами X и Y, образуя стек. К третьему типу регистров относится регистр восстановления результата предшествуюшей операции Х.1,

Структура стека и перемещение в нем чисел при различных операциях показаны на рис. 1.4: а) операция f, б) ввод числа х в регистр X после операции f, в) вызов в регистр X числа я или числа из регистра (см. ниже), г) обмен содержимым регистров X и Y X Y, д) одноместная операция (Т), например вычисление е, е) двухместная арифметическая операция ф, ж) кольцевое переме-



щение чисел в стеке - оператор FQ, з) вызов числа из регистра XI-оператор РВл:. В дальнейшем операторы XY и FQ будут указываться упрощенными симвапами XY и F. .

Ввод чисел в регистры памяти. Число можно ввести в регистр памяти набором и нажатием клавиш П и N. Здесь Л - символ





Одноцветная • ) операция

Двухместная рГ = Р е) " ж)


Рис. 1.4. Перемещение чисел в регистрах стека при основных операциях

регистра (А, В, С, Д, О-;-9). В программах ввод соответствует оператору

Вызов чисел из регистров памяти. Вызывается число из регистра памяти нажатием клавиш ИП и N (оператор ИПЛ).

Шаги программы и их адреса. Каждому оператору в программе соответствует свой шае. Шаги последовательно нумеруются двухзначными десятичными числами от 00 до 97 (всего 98 шагов). В режиме программирования (после нажатия клавиш F и ПРГ) номера шагов высвечиваются в правом конце индикатора. Операторы в программе удобно записывать построчно, по 10 операторов в каждой строке. В этом случае положение оператора в программе позволяет легко найти номер шага, именуемый его адресом.



Прямая адресация. Непосредственное указание адреса (номера шага программы или символа регистра памяти) называется прямой адресацией. Так, описанный выше ввод чисел в регистры и их вызов проводились с использованием прямой адресации.

Косвенная адресация. Если адрес указан содержимым одного из регистров памяти, то адресация будет косвенной. Косвенная адресация вводится нажатием клавиши К. Например, при выполнении по программе оператора КП5 число х = РХ будет записано в регистр памяти, номер которого указан содержимым регистра 5. Аналогично, оператор КИПА обеспечивает вызов числа из регистра с номером, указанным содержанием регистра А, в регистр X. Числам О -f- 13 в регистре адресации соответствуют регистры 09, А(10), В(11), •С(12) и Д(13).

Модификация адресов при косвенной адресации. Если в качестве регистра адресации, в котором хранится адрес обращения, взять один из регистров 7, 8, 9, А, В, С или Д, то при выполнении операторов косвенной адресации содержимое регистра адресации не изменяется. Если регистр адресации имеет номер О, 1, 2 или 3, то при каждом выполнении операторов косвенной адресации содержимое регистра адресации уменьшается на 1, а при регистрах адресации 4, 5 или 6 увеличивается на 1. Таким образом, происходит модификация адресов.

Безусловные прямые и косвенные переходы. Для построения разветвляющихся программ используются безусловные переходы. Безусловный переход на шаг программы с адресом N вводится оператором БП Л. Например, во фрагменте программы

ИПА ИПВ + БП 17 ...............

..................... ИПС X С/П

после вьшолнения операции (а + Ь) при а = РА и 6 = РВ происходит безусловный переход на адрес 17, т.е. (а-f 6) умножается нас (с = РС), после чего вычисления останавливаются (оператор С/П). Для простоты пропущенные операторы обозначены точками. Одно-шаговая команда КБПЛ{ обеспечивает безусловный косвенный переход по адресу, указанному содержимым регистра адресации М (Af = А, В, С, Д, 0 4-9).

Условные прямые н косвенные переходы. Переход к адресу N может проводиться по данным анализа содержимого х регистра X на выполнение одного из условий: х <Q, х = 0, хО или х ф Q. Такие переходы вводятся операторами Fx < О, ¥х - О, Fx > О и Fx ф О, после которых указывается оператор - адрес перехода JV. Если условие перехода пе выполняется, то происходит переход на шаг программы с адресом Л, если выполняется - адрес перехода игнорируется и выполняется следующая за ним часть программы. Одношаговая команда Vx < ОМ, Кх = ОМ, Кх ОМ или Кх ОМ.



(0) (1) (2) (3) ( 4 ) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73)