Главная » Просмотр файлов » Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987)

Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084), страница 57

Файл №1092084 Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987)) 57 страницаЙ.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084) страница 572018-02-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 57)

Затем нажимается 1-клавиша и вводится требуемый текст. Замена одного текста другим заканчивается после нажатия клавиши КЕТс)КХ. Таким образом, указанные операции выполняются следующим образом: Замена символов а) вводится команда ЕР1Т п, после чего нажимается клавиша КЕТ1)КИ; б) курсор подводится под заменяемый символ; в) нажимается С-клавиша (при этом положение курсора не изменяется); г) вводится требуемый символ; д) нажимается клавиша КЕТ1)КХ. Ввод текста а) вводится команда ЕР1Т п, после чего нажимается клавиша К ЕТ1) КЫ; б) под соответствующий символ подводится курсор; в) нажимается 1-клавиша (позиция курсора при этом не изменяется); г) вводится требуемый текст; д) нажимается клавиша КЕТ1)КХ. После ввода ЕР1Т п можно, если потребуется, нажать ).-клавишу, что позволит увидеть всю строку и положение курсора.

При удалении символов строка также выбирается с помощью команды ЕР1Т п, а курсор подводится под позицию, занимаемую последним символом. Затем с помощью клавиатуры вводится число удаляемых символов, после чего нажимается Р-клавиша, Удаление ненужных символов из выбранной стро- Глава а з46 ки заканчивается после нажатия клавиши КЕТ1)Я51. Если вместо Р-клавиши нажать Н-клавишу, то исчезнут все символы, расположенные справа от курсора, Для выключения действия команды ЕР1Т во время ввода данных с клавиатуры достаточно нажать Я-клавишу.

В результате интерпретатор вернется в режим исполнения команд. Нажатие А-клавиши возвращает курсор в режим ЕР!Т, например, в начало строки, т. е. в позицию, расположенную непосредственно после номера строки. Описанные здесь возможности ЕР1Т реализуются, например, в рамках «расширенного Бейсика» М!сгозоВ. 6.8. Функции, определяемые пользователем При программировании часто оказывается, что определенные операции применяются многократно в самых различных частях программы.

Можно ввести такую операцию как определенную процедуру или же превратить ее в отдельную подпрограмму, которую при необходимости можно вызывать из разных частей данной программы. Бейсик позволяет реализовать эту возможность с помощью оператора РЕГ Г Х... (Х, У). После ГК следует еще одна буква для обозначения данной определяемой функции. В основной программе будет осуществляться обращение к этой функции с помощью например, оператора 1.ЕТ Х=Г51... (Р,Е), где Р и Е обрабатываются функцией ГН. Эта функция может состоять из одной или нескольких строк текста. В последнем варианте функция заканчивается оператором ГМЕНР, который отделяет ее от других частей программы.

Если для описания функции требуется большое число строк, то говорят о «многострочной функции». Обычно же большинство формул удается разместить на одной строке и тогда говорят об «однострочной функции». Как уже отмечалось выше, определяемые функции различаются с помощью буквы, следующей после Г(ч. Иногда после этой буквы может следовать еще одна цифра. Переменные, заключенные в скобки, являются фиктивными параметрами.

В ходе вычислений эти фиктивные параметры заменяются значениями тех «реальных» переменных, которые появляются в подпрограмме или в соответствующих формулах. Поясним применение функции РЕГГИ с помощью ряда примеров. Пример «однострочной» функции: ХЕ% Определение (одна строка) 10 РЕГ ГХЕ(Х) =ЕХР( — Хт2+5) 100 1.ЕТ У=Г5)Е(.2) Языки ирограммировакия высокого уровяя — Бейсик 341 Выполнение (1) 110 РК1ИТ У 200 1.ЕТ Х=ГИЕ(3.45) Выполнение (2) 210 РК1ХТ Е КЫХ 142.594 ! .00527Е-03 Функция описана здесь на одной строке 10 и затем применена в строке 100, а также в строке 200 с другим значением Х.

После вычисления результат можно распечатать, например, с помощью оператора РК15)ТУ, как это сделано в приведенном примере. Пример «многострочной» функции: )ч ЕЪЧ 10 РЕГ РХМ (Х, У) 20 К=З«Х+У вЂ” УЗ~Э 30 1 ЕТ РАЕМ=К(2+ЕХР(К) 40 Г)йЕХР Определение (несколько строк) 100 КЕАР Р 110 КЕАР Е 120 1.ЕТ Р=Р5)М(Р, Е) 130 РК)ЫТ Р 140 РАТА 7.8, 9?65.4 Выполнение 270 КЫХ Отсутствие знака равенства в строке 10 показывает, что здесь используется «многострочная» функция. Сама функция определена в строках 20 и 30.

Определение функции завершается оператором Р5)Е)чР. Результат выполнения этой «многострочной» функции в строке 120 распечатывается оператором РК11»Т (строка 130). В строках 100 и 110 производится считывание чисел из ПАТА-файла (строка 140), которые вводятся затем в строку 120 для последующих вычислений. Ниже приведены еще два интересных примера применения, из которых следует, что подобная функция может включать не только арифметическую обработку.

Пример: 10 РЕР ГНМ(Х, г') 110 1.ЕТ У=ГАМ (А, В) Определенне20 ЬЕТ РХМ=Х (несколько 30 1Г У<=Х ТНЕУ) ООТО 50 строк) 40 1 ЕТ РАЕМ=У 50 ГЫЕ1)Р 848 Глава б 10 ПЕР Рг(Р(И) 20 1.ЕТ Р5(Р=1 30 РОК К=1 ТО И 40 1.ЕТ РЯР=К+РХР 50 РК11чТ РИР 60 МЕХТ К 70 ЕИР КШЧ 1 2 6 24 120 Определение (несколько строк) Эта программа производит следующие вычисления: цикл 1: 1Х1 = 1 цикл 2: 2Х1=2 цикл 3: 3;ч',2=6 цикл 4: 4Х4=16 цикл 5: 5х',24=120 Если 5(=о, то после окончания вычислений Р5)Р=120. Следует отметить, что в большинстве Бейсик-диалектов многострочные функции отсутствуют. Если же попытаться в них реализовать такую функцию, то система выдаст диагностику с указанием о синтаксической ошибке.

Особое место занимают так называемые функции, определяемые пользователем, которые пользователь использует для связи между языком Бейсик и машинным языком. Такие функ- В этом примере в строке 20 определена функция Р5(М=Х и если Х больше илн равно У, то происходит переход программы в строку 50.

Если же указанное выражение ложно, то Р5(М=У. Описанный здесь метод обработки можно использовать также и в других местах для программирования Р5(М с последующими переменными, которые требуется обработать в соответствующей части программы. Такими переменными могут быть, например, А и В, и запрос на выполнение можно осуществить по команде (,ЕТХ=Р5)М(А,В). Во всех остальных подпрограммах Р5)М можно применять, просто присваивая вычисленную величину Р5(М другим переменным.

Следующий пример иллюстрирует цикл, при каждом повторении которого изменяется величина определенной переменной Языки программирования высокого ировня — Бейсик ции особенно необходимы при осуществлении связи через шины адресов, данных и управления периферийными схемами, такими, как аналого-цифровой и цнфро-аналоговый преобразователи, а также сложными схемами управления исполнительными устройствами при реализации различных процессов. Без использования ПЕР(зЗК-функций такую связь реализовать невозможно, так как программист не знает, каким именно образом интерпретатор управляет ЗУ и где хранятся требуемые данные.

Программируя ПЕР ПЗК-функции с последую- шими номерами от О до 9 включительно, можно вызывать из Бейсик-программ подпрограммы, написанные на машинном языке. Если программа встречает РЕР ПЬК-оператор, то ее дальнейшее выполнение продолжается по адресу, который определяется заранее с помощью оператора, расположенного, например, в начале программы. Если программируется ПЕР ()ЬКО=АНР9РО, то в случае считывания в программе Х= =ПЬКО(Х) происходит переход в подпрограмму с номером О, написанную на машинном языке и имеющую первую команду, которая находится по адресу Р9РОгв. В момент перехода Х помещается в аккумулятор с плавающей точкой, адрес которого находится в регистре Н(. В регистр А сообщается, какое числовое представление имеет Х: в виде двухбайтового целого числа (А=2), десятичного числа с одинарной точностью (А=4) или десятичного числа с двойной точностью (А=8). Если переменная представляет собой строку символов, то А=З.

Кроме того, имеется возможность ввести с помощью оператора РОКЕ на соответствующие места в подпрограмме данные, которые в дальнейшем, когда выполнение Бейсик-программы будет продолжено, считываются из подпрограммы с помощью оператора РЕЕК. Эти операторы более подробно будут рассмотрены в следующем разделе, где пойдет речь об обработке байтовой информации. Возврат из Бейсик-подпрограммы можно осуществить, помещая в конце ее команду возврата НЕТ. При таком способе возврата подразумевается, что результат обработки попадет в регистр Н( .

После возврата Бейсик-программа считывает из НЕ соответствующие данные и присваивает числовое значение переменной, которая указана в операторе ()ЗК. Перед вводом подпрограммы следует зарезервировать требуемое количество ячеек в оперативном ЗУ. Это можно сделать с помощью оператора С( ЕАЙ и, ш, где первая ячейка ЗУ задается гп, а число ячеек — и. Оперативное ЗУ необходимо резервировать в области со старшими адресами, так как область с младшими адресами требуется для обеспечения работы Глава б интерпретатора.

Интерпретатор использует ЗУ оптимальным образом, поэтому для резервирования ЗУ под одну или несколько подпрограмм обычно применяется оператор С1ЕАР. Один из примеров связи Бейсик-программы с подпрограммой, написанной на машинном языке, выглядит следующим образом: 10 Р =Ф1Р РРО ! Ре!! нАчАльныЙ АДРес О СЕЕВР !ОО Р: РЕН РЕЗЕРВИРОВАНИЕ ЗО РЕН Х Р 1 ВЫПОЛНЯЕТСЯ ПОЛПРОГРАММОЙ 90 ОР!Рвналн!ен н! ° ! —. ОР!!1нсв:аесн ме! ОО Р!!Рс=! !ОР .

90 РЕЛОН !аа !Ри О.:н Л:О !1Е ! о и Р аз!01 = Р 130 1=0 !Ла 1в19НО ! 190 РН!Н!1 1)о !Р <!васам 190 1'О ЕН! Структурная схема этой программы приведена на рис. 6.6. В строке 1О для Р присваивается значение адреса первой ячейки ЗУ. В строке 20 для Р с помощью оператора С1.ЕАК 100, Р резервируется 100 байт.

В строках 40 — 80 располагаются после. довательно отдельные команды подпрограммы, оформленные в виде файла данных. Эта подпрограмма производит кодирование в шестнадцатеричном коде. Такое кодирование можно реализовать и в восьмеричном варианте. Как показано в этом примере, при шестнадцатеричном вводе данных перед кодом необходимо помещать АН. Команды записываются в требуемые ячейки ЗУ с помощью оператора КЕАО, который считывает их одну за другой из файла данных.

Оператор РОКЕ переписывает данные в ЗУ. Увеличение адреса на 1 происходит в строках 80 — 110. С помощью оператора РОК...НЕХТ переменная 1', начиная с Р, увеличивается каждый раз на 1 и достигает значения Р=Р+2. Переменная !' снова появляется в операторе РОКЕ в строке 100. При каждом прохождении цикла, которое совершает эта короткая подпрограмма, оператор КЕАП считывает из файла данных последовательные байты, которые затем записываются оператором РОКЕ в требуемые ячейки ЗУ. В строке 120 указано, что первая команда находится в ячейке ЗУ, заданной через Р в строке 10.

В данном примере подпрограмма является достаточно простой и состоит только из команды Н) =Н1.+1, после которой следует КЕТ. Основная программа начинает выполняться со строки 130, где фиксируется Х=О. В строке 140 оператор Х=Т)ЗК01Х) Языки орогриммироеания высокого уровня — Бейсик 351 осуществляет переход в подпрограмму, где Х увеличивается на 1. После возвращения Х распечатывается и, если Х( 100, в строке 160 происходит обратный переход в строку 120, откуда затем осуществляется повторный переход в подпрограмму, где Х снова увеличивается на 1.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6439
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее