Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Основные правила составления программ на ассемблере↑ Стр 1 из 4Следующая ⇒ Содержание книги
Поиск на нашем сайте
МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ №3 «Система команд микропроцессора в эмуляторе «Е MU КР580»» для студентов специальности 09.02.01 Компьютерные системы и комплексы
2020 Цель работы: 1. Изучение правил записи прикладных программ с использованием директив Ассемблера, 2. Ознакомление с программами Ассемблера и симулятора 3. Приобретение навыков работы с кросс-средств отладки. 4. Изучение работы команд микропроцессора КР580ВМ80А 5. Знакомство с форматом команд и этапами их выполнения
Теоретическая часть
Основные правила составления программ на ассемблере
Коды команд Микропроцессор работает только с двоичными кодами. Среди совокупности этих кодов имеется определенная группа кодов, каждый из которых может «заставить» микропроцессор выполнить определенные действия (операции). Такой код часто называется кодом команды и, как правило, определяет одну команду из системы команд микропроцессора. Код любой команды представляется в запоминающем устройстве двоичным восьмиразрядным числом (байтом). Всего с помощью байта можно формировать 28 = 256 различных кодовых комбинаций. Почти столько же команд (244) имеет микропроцессор КР580ВМ80. Естественно, что запомнить 244 кода довольно трудно, и поэтому каждому коду ставится в соответствие мнемоническое название (мнемоника) команды, которое является сокращением от английских слов, описывающих ее действие. Мнемонический код команд позволяет легче запомнить их функции и значительно упрощает написание программ. Такой язык написания программ называется Ассемблером. После того, как программа написана на Ассемблере, ее необходимо снова перевести на язык, понятный микропроцессору, т. е. перевести в последовательность двоичных восьмиразрядных чисел. Перевод в последовательность двоичных цифр может происходить автоматически с помощью специальных программ-трансляторов (такие программы носят название «кросс-ассемблер» или «ассемблер») или вручную. Для ручной трансляции можно использовать табл.1, в которой приведены все команды микропроцессора КР580ВМ80. С помощью этой таблицы можно легко и быстро сопоставить мнемонику команды с ее кодом. Код каждой команды приведен здесь в верхней горизонтальной строке (младшие разряды) и в крайнем левом столбце (старшие разряды) в шестнадцатеричной системе счисления. Например, команда STAX D имеет код 12 Н, команда JZ ADR — код СА. Таблица 1
Кросс-средства отладки Формат ассемблерной строки
Разработка и отладка микропроцессорных программ ведется с помощью различных отладочных средств: от оценочных учебных модулей до универсальных аппаратно-программных комплексов. Последнее время фирмами разработчиками МП поставляются аппаратно-программные комплексы, сопрягаемые с персональными компьютерами. Они содержат ряд программ и плату с МП, подключаемую к последовательному или параллельному порту ЭВМ (встречаются оба варианта). При этом реализуются следующие возможности: - ассемблирование исходного файла; - моделирование на программном уровне (симуляция) исходного файла; - моделирование на аппаратном уровне (эмуляция) исходного файла. В лабораторном практикуме плата с МП отсутствует, поэтому обучение проводится на программном уровне. Исходный файл прикладной программы пишется в любом текстовом редакторе и ему присваивается расширение. asm. Запись программы на Ассемблере требует соблюдения определенных правил. Программа пишется в виде последовательности команд. Каждая команда записывается в одной строке и имеет четыре поля:
Директивы Ассемблера
Директивы Ассемблера (или псевдокоманды) управляют работой транслятора и не переводятся в машинные коды. Используемый в лаборатории транслятор распознает 15 директив. В табл. 2 приведены правила записи некоторых наиболее употребительных директив. Метки, заключенные в квадратные скобки, необязательны. Все директивы могут иметь метки и комментарии.
Директива. ORG определяет начальный адрес размещения в памяти следующих далее команд. Директив. ORG в программе может быть несколько. При отсутствии директивы. ORG программа начинается с нулевого адреса.
Директива. END располагается на последней строке и указывает транслятору на завершение программы. В программе может быть только одна Директива. END.
Директива. EQU (эквивалентность) ставит в соответствие константам, адресам, регистрам и т.п. символические имена. В случае изменения, например, адресов достаточно отредактировать только директиву. ORG.
Директива. SET действует также как директива. EQU, однако в отличие от. EQU может употребляться в программе неоднократно, переопределяя значение символического имени. Это позволяет использовать одно и то же символическое имя в разных значениях.
Таблица 2
Директива. DB резервирует ячейки памяти и помещает в них представленные выражения. В качестве выражения может присутствовать цепочка символов, заключенная в кавычки, например, ‘STOP’. На каждое выражение или символ отводится один байт. Директива. DW действует аналогично директиве DB с той лишь разницей, что каждое выражение хранится в двух ячейках памяти и цепочки символов не допускаются. Директива. RS только резервирует ячейки памяти, в качестве выражения обычно записывается просто число резервируемых ячеек. Часто эта директива обозначается как DS.
Режим ассемблирования
Вызов транслятора с языка Ассемблера осуществляется командой IASM 85< NAME >, где <NAME> - имя прикладной программы, написанной согласно изложенным выше правилам. Расширение asm можно не указывать. Ассемблирование выполняется сразу и выдается сообщение: 000XXX lines assembled - проассемблировано 000ХХХ строк, 0 Errors detected - ошибок нет. Такое сообщение указывает на отсутствие синтаксических ошибок в тексте программы, но ни в коей мере не говорит о правильности работы программы. Если ассемблером обнаруживаются ошибки, то выдается сообщение: (тип ошибки) in line xx column xx - в строке хх, колонке хх, (тип ошибки) in line xx column xx - в строке хх, колонке хх, 000ХХХ lines assembled - проассемблировано 000ХХХ строк, 2 Errors detected- обнаружено 2 ошибки.(2 ошибки взято для примера). В ходе ассемблирования создаются еще файл листинга с тем же именем и расширением lst иобъектный файлс расширением obj. Причем оба файла создаются как при отсутствии, так и при наличии ошибок. Места ошибок отмечаются в листинге символом ^. Ошибки в исходном файле исправляются в текстовом редакторе с повторным ассемблированием. Редактирование текста выполняется по правилам текстового редактора. Файл листинга кроме исходного текста содержит дополнительно номера строк, адреса ячеек памяти и содержимое этих ячеек, т.е. машинные коды (см. приложение 1). Объектный файл в формате INTEL, который в реальных условиях с помощью программатора записывается в ПЗУ, в данном случае используется симулятором.
Практическая часть Подготовка к работе
1. Изучите по рекомендованной литературе правила записи программ на языке Ассемблера, назначение и использование директив Ассемблера, их ввод и отладку с помощью кросс-средств, обратив особое внимание на формальный синтаксис языка Ассемблер, запись директив Ассемблера, команды симулятора. 2. Пользуясь системой команд, составьте программу сложения двух однобайтовых чисел без знака: а) числа последовательно вводятся с внешнего устройства с адресом 2; б) числа находятся в ОЗУ по выбранным адресам. В обоих случаях предусмотрите вывод результата на внешнее устройство с адресом 3 и сохранение в ячейке ОЗУ Запишите в шестнадцатеричной системе счисления вводимые числа и результат, а также содержимое используемых РОН, аккумулятора и регистра флагов по завершении программы. Рассмотрите два случая: сумма не превышает значения 255 и сумма превышает 255. Программу оформите.
Программа 1 (в мнемокодах)
При записи программ все числа представляются в шестнадцатеричной системе счисления. Для записи программы в память необходимо перевести мнемокоды команд в машинные коды. Команды в программе могут быть одно–, двух– или трехбайтные и должны в памяти занимать соответственно один, два или три адреса. Содержание отчета Отчет должен содержать: 1. Результаты выполнения задания для домашней подготовки. 2. Результаты выполнения и проверки пунктов экспериментальной части.
МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ №3 «Система команд микропроцессора в эмуляторе «Е MU КР580»» для студентов специальности 09.02.01 Компьютерные системы и комплексы
2020 Цель работы: 1. Изучение правил записи прикладных программ с использованием директив Ассемблера, 2. Ознакомление с программами Ассемблера и симулятора 3. Приобретение навыков работы с кросс-средств отладки. 4. Изучение работы команд микропроцессора КР580ВМ80А 5. Знакомство с форматом команд и этапами их выполнения
Теоретическая часть
Основные правила составления программ на ассемблере
Коды команд Микропроцессор работает только с двоичными кодами. Среди совокупности этих кодов имеется определенная группа кодов, каждый из которых может «заставить» микропроцессор выполнить определенные действия (операции). Такой код часто называется кодом команды и, как правило, определяет одну команду из системы команд микропроцессора. Код любой команды представляется в запоминающем устройстве двоичным восьмиразрядным числом (байтом). Всего с помощью байта можно формировать 28 = 256 различных кодовых комбинаций. Почти столько же команд (244) имеет микропроцессор КР580ВМ80. Естественно, что запомнить 244 кода довольно трудно, и поэтому каждому коду ставится в соответствие мнемоническое название (мнемоника) команды, которое является сокращением от английских слов, описывающих ее действие. Мнемонический код команд позволяет легче запомнить их функции и значительно упрощает написание программ. Такой язык написания программ называется Ассемблером. После того, как программа написана на Ассемблере, ее необходимо снова перевести на язык, понятный микропроцессору, т. е. перевести в последовательность двоичных восьмиразрядных чисел. Перевод в последовательность двоичных цифр может происходить автоматически с помощью специальных программ-трансляторов (такие программы носят название «кросс-ассемблер» или «ассемблер») или вручную. Для ручной трансляции можно использовать табл.1, в которой приведены все команды микропроцессора КР580ВМ80. С помощью этой таблицы можно легко и быстро сопоставить мнемонику команды с ее кодом. Код каждой команды приведен здесь в верхней горизонтальной строке (младшие разряды) и в крайнем левом столбце (старшие разряды) в шестнадцатеричной системе счисления. Например, команда STAX D имеет код 12 Н, команда JZ ADR — код СА. Таблица 1
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2020-10-24; просмотров: 196; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.60.175 (0.009 с.) |