Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Тема 3.6 Основы программирования
Содержание программы Классификация языков программирования. Понятие алгоритма программы, его свойства. Типы алгоритмов. Способы описания. Простые, циклические, ветвящиеся алгоритмы. Характеристики программ. МП. Назначение, состав, структурная схема. Работа МП. Система команд. Составление и отладка программ.
Методические указания Для первых программно-управляемых машин разработка программ велась применительно к решению конкретных задач. Связь пользователя с машиной состояла всего из двух уровней: система команд машины - программа пользователя. Команды и их операнды имели непосредственные адреса. В дальнейшем процесс программирования был усовершенствован путем применения метода символических адресов. Участки программ, повторяющиеся в одной программе или являющиеся общими для различных программ, могут быть записаны в программе отдельным блоком, а в ходе выполнения основной программы их можно вызвать по мере необходимости и исполнять. Такие программные блоки называются подпрограммами основной программы. Если подпрограммы должны использоваться в различных программах, то они и могут храниться отдельно от программ. В этом случае их называют стандартными программами. Большинство из этих программ считаются элементами алгоритмических языков высокого уровня и используются в качестве встроенных функций языка. Анализ выполнения программ показал, что для реализации одной программы нет необходимости, чтобы все устройства ЭВМ работали параллельно. Возникла идея распараллеливания некоторых устройств для одновременного решения нескольких задач. Для обеспечения такой работы ЭВМ необходимы дополнительные программные и аппаратные средства. Программное дополнение к ЭВМ образовало вместе с ЭВМ исполнительную систему, а программное обеспечение ЭВМ стали называть при этом общесистемным. В состав общесистемного обеспечения ЭВМ входят системы: операционная, ввода, вывода, обслуживающих программ, программирования. Пакеты прикладных программ — это система прикладных программ, предназначенная для решения задач определенного, класса. В цепи пользователь - ЭВМ есть еще один уровень иерархии система машинных команд - общесистемное программное обеспечение - пакеты прикладных программ - программа пользователя. По способу реализации входного задания пакеты могут быть обрабатывающие и производящие. Языки программирования для микроЭВМ можно разделить на три основных уровня: - машинные языки - являются языками нижнего уровня, языками цифр, они неудобны для описания вычислительных процессов и требуют от программистов больших усилий при написании и отладке программ; - алгоритмические языки высокого уровня (БЕЙСИК, ПАСКАЛЬ и другие) занимают верхнее положение в иерархии языков программирования. Они обеспечивают естественную описания вычислительных процессов, но не всегда позволяют в полной мере реализовать технические возможности ЭВМ. Кроме того требуется перевод программы с языка высокого уровня в машинные коды; - языки ассемблера занимают промежуточное положение между машинными языками и языками высокого уровня и объединяют в себе некоторые достоинства самого нижнего и самого верхнего уровней языков программирования. Каждый язык ассемблера является машинно - зависимым языком и отражает аппаратные особенности той микроЭВМ, для которой он создан. Под программированием понимают процесс подготовки задачи, дающий возможность решить задачу на машине. Указание о выполнении тех или иных операций задается машине с помощью команд. Команда - это предписание, определяющее порядок работы машины в течение некоторого отрезка времени. Совокупность последовательности команд, представляющая алгоритм решения задачи на языке операций конкретной машины, называется программой вычислений. По своей структуре программы могут быть линейными, циклическими и ветвящимися. У большинства существующих реализаций ассемблера нет интегрированной среды как у языков высокого уровня. Поэтому для выполнения всех функций по вводу кода программы, ее трансляции, редактированию и отладке необходимо использовать отдельные служебные программы, большая часть которых входит в состав специализированных пакетов ассемблера. Выделяют четыре шага разработки программы на ассемблере. На первом шаге, когда вводится код программы, можно использовать любой текстовый редактор. Основным требованием к нему является то, чтобы он не вставлял посторонних символов. Программы, реализующие остальные шаги схемы, входят в состав программного пакета ассемблера. Большую популярность на рынке ассемблера для процессоров Intel имеют два пакета: -«Макроассемблер» MASM фирмы Microsoft; -Turbo Assembler TASM фирмы Borland. У этих пакетов много общего. В эти пакеты входят трансляторы, компоновщики, отладчики и другие утилиты для повышения эффективности процесса разработки программ на ассемблере. При программировании на языке ассемблер вместо двоичных кодов используются их символические буквенные обозначения – мнемоники. Мнемоники представляют сокращенное название английских терминов, обозначающих смысл операции. Применение символических обозначений освобождает программиста от необходимости запоминать большое число двоичных кодов машинных команд и следить за адресацией команд и операндов. Мнемоники имеют понятный смысл, позволяющий производить обращения к командам и операндам на уровне символических адресов. Все это существенно повышает производительность работы программиста. Программа на ассемблере состоит из ряда строк, каждая из которых имеет определенный формат и содержит только одну команду. Строка ассемблера состоит, как правило, из четырех полей, называемых «метка», «код операции», «операнды», «комментарий» В поле метки записывается символическое имя, присваиваемое оператору данной строки. Это имя состоит из прописных латинских букв и цифр и однозначно определяет абсолютный адрес в памяти, по которому данный оператор хранится. После трансляции программы на машинный язык метка автоматически заменяется абсолютным адресом памяти. Поле метки отделяется от поля кода операции двоеточием. Метка позволяет обращаться к нему из любой точки программы.. Поле кода операции содержит мнемоническое обозначение кодов операций – команд микропроцессора и содержат до десяти букв и специальные символы. Мнемоники кодов операций приведены в системе команд микропроцессора. Поле кода отделяется от поля операндов одним пробелом. Поле операндов содержит один или два операнда, разделяемые запятой. В качестве операндов могут использоваться численные или символьные константы, имена, выражения. Поле комментария начинается с разделителя – точки с запятой и содержит краткое пояснение действий, осуществляемых данной командой. Для хорошего понимания программы комментарий должен быть полным и понятным. Содержание поля комментария полностью игнорируется программой, поэтому в поле комментария можно помещать любой текст. Следует отметить, что некоторые поля строки ассемблера могут быть пустыми – не содержать никакой информации. Преобразование (трансляция) мнемоник в двоичный код осуществляется специальной программой-транслятором ассемблера. Редактор текста: представляет собой программу, предназначенную для создания исходных программ. Программа, независимо от используемого языка программирования, представляет собой текстовый файл, которому присваивается какое-либо имя и записывается на диск. При необходимости корректировки исходной программы файл снова загружается в буфер. Редактор текста имеет ряд полезных команд, с помощью которых осуществляется корректировка программы с помощью курсора, перемещая который по тексту можно внести в программу необходимые дополнения. Трансляция программы: исходный текст программы на ассемблере подготовлен и записан на диск. Следующий шаг – трансляция программы. На этом этапе формируется объектный модуль, который включает в себя представление исходной программы в машинных кодах и некоторую другую информацию, необходимую для отладки и компоновки его с другими модулями. Трансляторы ассемблера входят в состав программного обеспечения большинства современных ЭВМ для облегчения составления программ. Для получения объектного модуля исходный файл необходимо подвергнуть трансляции при помощи программы tasm.exe из пакета TASM. Обязательным аргументом командной строки является имя_исходного_файла. Этот файл должен находиться на диске и иметь расширение.аsm. Объектный модуль записывается на диск, а на экране монитора появляются файлы объектного модуля. Компоновка программы: программа, созданная с помощью транслятора, является неподготовленной для ее загрузки и ее последующего выполнения. Более того, в ряде случаев большая исходная программа подразделяется на несколько модулей, разработка которых производится не одним, а группой программистов. В этом случае размер каждого модуля остается неизвестным пока не закончится его разработка. Компоновка обеспечивает объединение и форматирование всех объектных модулей в единый загрузочный модуль и обеспечивает привязку этого модуля к фактическим адресам загрузки конкретной МП-системы. Компоновщик устанавливает взаимные связи модулей, поэтому его часто называют редактором связей. Сформированная компоновщиком единая объектная программа обрабатывается загрузчиком. В результате создается программа, предназначенная для непосредственного использования в конкретной МП-системе. Отладка программы: разработка программ – это сложный процесс с неизбежными ошибками, которые необходимо корректировать. Наиболее элементарные ошибки, вызванные неправильным синтаксисом, как правило хорошо обнаруживаются на этапе трансляции исходной программы. Значительно сложнее обнаружить логические ошибки, которые проявляются только при исполнении программы на машинном языке в конкретной МП-системе. Последний этап – отладка программы, которая позволяет выполнить программу в пошаговом режиме, в режиме прерываний (остановов) по контрольным точкам, в режиме трассировки(последовательное исполнение программы). В этих режимах эффективно обнаруживаются ошибки и анализируются их причины при работе программ.В пошаговом режиме выполнение отлаживаемой программы прекращается после каждой команды и возобновляется только по команде оператора. В режиме трассировки автоматически выполняется вся или часть программы. При этом на экране монитора регистрируются состояния регистров микропроцессора после выполнения каждой команды. В режиме останова место прерывания программы может задаваться в виде адреса команды или операндов, в виде кода команды или операнда, слова состояния микропроцессора. Для отладки программ используются автономные программы-отладчики, которые позволяют определить место и причину ошибки. Простота использования программ-отладчиков, и их постоянная доступность разработчикам, высокая эффективность делают их важным инструментом программного обеспечения. Следует рассмотреть следующие характеристики программ: надежность; удобочитаемость; гибкость; мобильность; простота; эффективность.
Лабораторная работа №3 Приобретение навыков программирования сложных линейных программ
Контрольные вопросы 1 Дайте классификацию языков программирования. 2 Что такое программирование? 3 Что такое команда? 4 Что такое программа? 5 Какова структура программ? 6 Перечислите и поясните этапы отладки программ. 7 Поясните основные характеристики программ.
Популярное:
|
Последнее изменение этой страницы: 2017-03-11; Просмотров: 468; Нарушение авторского права страницы