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

(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) (5)

где /И -символ регистра адресации (М = А, В, С, Д, 0-4-9) обеспечивает условный переход по адресу, указанному содержимым регистра М.

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

Пусть подпрограмма имеет п шагов и повторяется от раз. Тогда она в программе займет n + i шагов. Кроме того, придется дать от обращений к подпрограмме, что займет 2от шагов. Без введения подпрограммы вычисления займут пг-п шагов. Следовательно, если 2от--п-Ь 1 < от-« или « >(2от-{-1)/(от - 1), то введение подпрограммы сокращает общее число шагов программы. Однако число операций при этом возрастает, растет и время вычислений. Можно использовать до пяти подпрограмм, вложенных друг в друга. Одно-шаговая команда - КППА/ обеспечивает косвенное обращение к под-програ.мме с адресом N, определяемым содержимым регистра адресации М{М = А, В, С, Д, Оч-9).

Организация циклов. Для организации циклов циклических программ служат операторы построения счетчиков FLO, FLl, FL2 и FL3 в регистрах О, 1, 2 и 3. После этих операторов указывается адрес перехода . При выполнении этих операторов содержимое соответствующего регистра-счетчика уменьшается на 1. Если оно не равно нулю, то происходит переход по адресу N, а если оно становится равным О - переход идет к шагу программы, следующему вслед за оператором N.

Циклы используются для выполнения определенных программ еаданное число раз.

Остановка и пуск программы. Для остановки программы в нужном месте вводится оператор С/П. Нажатие клавиши с этим символом ведет к запуску программы. Для запуска программы с нулевого адреса нажимаются клавиши В/О и С/П.

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

Показания индикатора 10 6L 6- 10 Операторы + ИПВ ИПА Направление ввода программы-->•

При ошибочно нажатой префиксной клавише F сброс ей действия производится нажатием клавиши CF, Для установки программы на заданный адрес используются клавиши сдвига программы на



один шаг вправоШГ или влево ШГ. С их помощью можно уст** новить программу на шаг с ошибочно набранным оператором и исправить его. Для этого (в режиме автоматических вычислений после нажатия клавиш F и АВТ) можно использовать команды БП п N (установка программы на шаг с адресом N). Двухшаговые команды, набранные ошибочно, заменяются новыми полностью (т.е. с вводом обоих операторов). На место лишнего оператора вставляется оператор КНОП (нет операции).

Индикация некорректных операций. При выполнении некоррект ных операций (деление иа О, переполнение разрядной сетки ЭВМ, возведение х = 0 в степень у, вычисление квадратного корня из отрицательного числа, вычисление 1/х при д: = О и т. д.) вычисления останавливаются и иа индикаторе появляется символ ЕГГОГ (от английского слова error - ошибка). После этого можно проводить ввод чисел и продолжать вычисления.

Представление углов. Аргумент тригонометрических функций можно выражать в градусах или радианах. Для этого служит переключатель Р -Г (радианы-градусы).

Примеры для контроля программ. Составленные и отлаженные программы должны сопровождаться контрольным примером (или примерами, если программа разветвляющаяся). Приступать к основным вычислениям можно только после проверки программы по контрольному примеру. Если будет обнаружена ошибка, следует проверить правильность ввода программы по кода.м основных операций (см. табл. 1.3). При отладке программ бывает полезно проверить вычисления по шагам; для этого в режиме автоматических вычислений нажимается клавиша ПП.

1.4. Специальные приемы программирования микрокалькуляторов

Операторы косвенной адресации обеспечивают дополнительные возможности, не отмеченные в инструкции к пользованию микрокалькуляторами. Так, пря вводе числа д; (1 < л: < 10») в регистры 7, 8, 9, А, В, С и Д и последующем выполнении операторов КПМ или КИПМ происходит автоматическое отбрасывание дробной частя числа X. Например, введя в регистр X число х = 421,756 и выполнив операторы П9 КИП9 ИП9, получим результат в виде числа 00000421. При любой последующей операции это число приобретает обычный вид числа 421. Таким образом, всего два оператора ПЛ4 и КИПМ обеспечивают выделение целой части х.

Если регистр М = О, 1, 2 или 3, то наряду с отбрасыванием дробной части при выполнении оператора КИПМ или КПМ происходит уменьшение целой части числа в регистре М на 1, а если М = 4, 5 или 6, то происходит увеличение целой части на 1. Эго



позволяет строить счетчики вида 1) и я = (« + 1) вводом

всего одного оператора КИПУИ ли КПМ, причем текущие значения п заносятся в регистр М и могут в дальнейщем без модификации вызываться оператором ИПМ. Повторяя операторы КИПМ или КПМ а раз, можно организовать построение счетчиков вила п = (п -а) и п = {п а). Предпочтение следует отдавать оператору КИП/И, так как при использовании оператора КПЛ1 в регистры, номера которых соответствуют п, будут заноситься результаты предшествующих операций.

Для последовательного ввода до Ло = 13 чисел Oi.,, Oia,... , Oi в регистры 1, 2,. .. , 9, А, В, С и Д можно использовать циклическую программу с косвенной адресацией к регистрам при вводе в них чисел;

Если n=JV„

Л/ ПО О С/П кпо НПО 1 - Рл: = О 02 ...

t Если n<N, I

Здесь Л? = (Л?о4-1). Если Л/> 9, адрес 02 в конце программы надо заменить на 03. При каждом цикле меняется иа - 1 адрес в регистре адресации О и соответственно каждое новое число попадает в новый регистр: Д, С, В, А, 9, . .. , 1. После ввода всех чисел происходит выход из цикла.

Еще один фрагмент программы обеспечивает ввод до 8 чисел в регистры 6, 7, 8, 9, А, В, С и Д

Если га =Л„ i-1

5 П4 8 ПО С/П КП4 FLO 04 ..

I Если п < N,=S, I

В этом фрагменте номера регистров, в которые заносятся числа, формируются в регистре 4 нри выполнении onepaTopoBpLO и КПЧ.

Отметим, что ввод No чисел фрагментом программы с прямой адресацией

П1 С/П П2 С/П ПЗ С/П П4 С/П и т. д.

занимает (2No- 1) шагов, т. е. 15 шагов при Л?о = 8 и 25 при Л?о=13, что существенно больше, чем при организации ввода с использованием косвенной адресации.

В общем случае программы могут быть линейными, разветвляющимися и циклическими. Примером линейной программы является программа вычисления функции

у = (sin nnft)lnnft (1.1)

с вводом t в регистр X. Отведем под запись п и f регистры 8 и 9 (п = Р8, / = Р9,/ = РХ). Будем записывать программу с нулевого



(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)