Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » 02_Написание_ассемблерных_программ_Информ_материал_СПО_ч2

02_Написание_ассемблерных_программ_Информ_материал_СПО_ч2 (Лекция)

PDF-файл 02_Написание_ассемблерных_программ_Информ_материал_СПО_ч2 (Лекция) Системное программное обеспечение (СПО) (111676): Лекции - 5 семестр02_Написание_ассемблерных_программ_Информ_материал_СПО_ч2 (Лекция) - PDF (111676) - СтудИзба2021-09-20СтудИзба

Описание файла

Файл "02_Написание_ассемблерных_программ_Информ_материал_СПО_ч2" внутри архива находится в папке "Лекция". PDF-файл из архива "Лекция", который расположен в категории "". Всё это находится в предмете "системное программное обеспечение (спо)" из 5 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

2. НАПИСАНИЕ АССЕМБЛЕРНЫХ ПРОГРАММ2.1. ВведениеОсновные термины и определенияИнструментальные программные средства — программы, которые используются дляразработки других программ.Ассемблер — программа, используемая для преобразования исходной программы на языке ассемблера в абсолютный или перемещаемый модуль.Язык ассемблера – это символический машинно-ориентированный язык программирования. Программы на языке ассемблера транслируются непосредственно в команды микроконтроллера (микропроцессора). Следовательно, для эффективной записи ассемблерныхпрограмм Вы должны быть знакомы как с архитектурой микроконтроллера, так и с языком ассемблера. Из сказанного следует, что язык ассемблера, являясь машиннозависимым языком, применим только к одному типу микропроцессора.Программа, написанная на языке ассемблера, называется исходной программой.Микропроцессор может выполнять только программу, представленную в двоичном коде,называемым также машинным.

Поэтому исходную программу предварительно следуетперекодировать (транслировать). Трансляция осуществляется программой, называемойассемблером. Для поддержания принципа модульного построения программы ассемблерпреобразует исходную программу в перемещаемый объектный модуль. В дальнейшем спомощью программы редактора связей (компоновщика) этот модуль может быть скомпонован (один или с другими модулями) в программу, практически готовую к выполнению.Командам (инструкциям) на ассемблере присваивают краткие буквенные обозначения(мнемонические коды, мнемоники), образуемые из начальных букв английских слов, описывающих выполняемую командой операцию. Мнемоники ассемблера легче различаютсяи запоминаются.

Вы также можете символически выражать адреса и значения в поле операндов инструкций (команд). Поскольку вы назначаете эти имена, то вы можете сделатьих очень выразительными.Если ассемблер допускает макрокоманды, то он называется макроассемблером. Применение макрокоманд позволяет группу команд записывать под обозначением программиста.Кросс-ассемблер — ассемблер, при выполнении которого на одной машине формируетсяпрограмма в кодах другой машины.Модульное программированиеМногие программы так велики или сложны, чтобы записывать их в виде единого целого(файла).

Программирование становится много проще, когда код поделен на небольшиефункциональные единицы (модули). Модульные программы обычно легче кодировать,отлаживать и изменять, чем монолитные программы.Модуль — независимо хранимая и транслируемая программная единица.Модульный подход к программированию подобен проектированию аппаратного средства,содержащего многочисленные схемы. Устройство или программа логически разделяетсяна «черные ящики» с заданными входами и выходами. Как только интерфейсы между модулями определены, детальная разработка каждого модуля может производиться независимо.1Выгодами модульного программирования являются:1. Эффективная разработка программы: программы могут быстрее разрабатываться примодульном подходе, т.к.

небольшие подпрограммы легче понимать, проектировать и тестировать,чем большие программы. При определенных входах и выходах программист может задать на входнеобходимые данные и проверить корректность модуля, изучая выход. Независимые модули затемкомпонуются редактором связей в единый абсолютный исполняемый программный модуль. В заключение этот модуль тестируется в целом.2.

Многократное использование подпрограмм: код, написанный для одной программы,часто оказывается полезным в других программах. Модульное программирование позволяет этичасти сохранить для будущего использования. Поскольку код является перемещаемым, сохраненные модули могут быть связаны с любой программой, которая полностью удовлетворяет входным ивыходным требованиям модулей. При монолитном программировании такие части кода спрятанывнутри программы и не так доступны для использования другими программами.3.

Легкость отладки и модификации: модульные программы, как правило, легче отлаживать,чем монолитные программы. Благодаря хорошо определенным интерфейсам модулей программы,проблемы могут быть изолированы в отдельных модулях. Как только неисправный модуль идентифицирован, фиксирование проблемы становится значительно проще. Когда требуется модифицировать программу, модульное программирование упрощает эту работу.

Вы можете связывать новыеили отлаженные модули с существующей программой с уверенностью, что остальная часть программы не изменится.Инструментальные средства фирмы KeilДля оптимальной поддержки различных производных микроконтроллеров семейства 8051фирма Keil предлагает ряд инструментальных средств.исполняемый файлоблегченный вариантредактор связейбиблиотекарьМакроассемблер A51 — ассемблер, который транслирует исходные ассемблерные программы (расширения файлов – *.a51, *.asm) для семейства x51 в объектные файлы (*.obj).Эти объектные файлы затем компонуются или связываются при помощи компоновщика(редактора связей) BL51 чтобы сформировать исполняемый абсолютный объектный модуль.

Архив объектных файлов модулей представляется как библиотека этих файлов. Далее абсолютные объектные модули могут быть преобразованы в Intel HEX-файлы, пригодные для загрузки в ваше целевое устройство (микроконтроллер), симулятор или внутрисхемный эмулятор (ICE).

Стоит отметить, что редактор связей из библиотечных файловвыбирает, а затем и компонует программу только из тех подпрограмм, которые находятсяв библиотеке по ссылке. Файл с описанием «карты памяти» программируемого микроконтроллера имеет расширение «*.m51». Отчет о проделанной работе можно представить вформе т.н. «листинга» (*.lst).ISP — программирование в системеIAP — программирование «самого себя»Схема создания программы с помощью инструментальных средств фирмы Keil представлена на рис.

2.1. Эти средства входят в IDE Vision2 – Vision4 фирмы Keil.2Рис. 2.1. Схема создания программы инструментальными средствами фирмы Keil2.2. Виды и синтаксис ассемблерных предложенийИсходные файлы ассемблерных программ содержат предложения, которые могут включать:машинные инструкции (команды микропроцессора);макровызовы (макрокоманды);директивы ассемблера;управляющме директивы (Controls – средства управления; управляющая конструкция) ассемблера;На строке должно располагаться точно одно предложение. Предложения могут начинаться с любой колонки.

Аргументы и операнды инструкций должны отделяться от средствуправления, директив и инструкций, по крайней мере, одним пробелом. Все ассемблерные программы должны завершаться директивой END. Эта директива сигнализирует ассемблеру, что это конец ассемблерной программы. Любая ассемблерная конструкция после этой директивы игнорируется. Самая короткая допустимая ассемблерная программасодержит только директиву END.Директивы управленияУправляющие ассемблерные директивы направляют работу ассемблера при генерировании файла листинга и объектного файла. Обычно эти конструкции не влияют на код, генерируемый ассемблером.

Только управляющие конструкции условного ассемблированиябудут влиять на генерируемый код. Управляющие директивы могут быть указаны в командной строке или внутри исходного ассемблерного файла, где они предваряются знаком «$» (Например, $NOMOD51).ДирективыОбычные директивы (псевдокоманды) ассемблера указывают программе ассемблер какобрабатывать последующие инструкции языка ассемблера. Кроме того, директивы предоставляют вам способ определения программных констант и резервирования памяти дляпеременных.МакровызовыПрименение макрокоманд позволяет группу команд записывать под обозначением программиста.3ИнструкцииИнструкции языка ассемблера специфицируют (определяют) код программы.

АссемблерA51 транслирует инструкции программы в машинный код и сохраняет результирующийкод в перемещаемом объектном файле.Ассемблерные инструкции имеют следующий обобщенный формат:[Label:] [Mnemonic] [Operand_1] [, Operand_2] ... [; Comment]Label: — метка — символическое имя, значение которого равно текущему значению адреса, на котором размещена инструкция;Mnemonic — мнемоника команды микропроцессора — текстовая строка из ASCIIсимволов, которая представляет инструкцию машинного языка (команду);Operand_X — операнд — аргумент который требуется специфицированной мнемонике.Comment — комментарий — дополнительное текстовое описание или объяснение.

Комментарий может содержать любой текст. Ассемблер игнорирует комментарии.2.3. Основные структурные элементы ассемблерного предложения2.3.1. Символические именаСимволическое имя (имя) — это имя, которое определяется для представления значения,текстового блока, адреса или имени регистра. Вы также можете использовать имена дляпредставления числовых констант и описания выражений. Все символические имена могут содержать до 31 символа из следующего списка: 0 – 9, A – Z, a – z, _, ?Имя может начинаться с любого символа, исключая цифры. В именах символы верхнегои нижнего регистров не различаются.2.3.2. МеткиМетка определяет «место» (адрес) в вашей программе или области данных.

Метка должназавершаться символом двоеточия (« : »), который идентифицирует метку. Когда метка определена, то она принимает текущее значение счетчика адреса (СА) активного сегмента.Т.е. значение метки есть адрес. Метки могут иметь отношение (ссылаться) к программному коду, области переменных во внутренней или внешней памяти данных, или ссылатьсяна данные-константы в области программы (кода).

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