Простые программы для микропроцессора типа 8085 (8080) на языке Ассемблер

  • Лабораторные работы
  • doc
  • 13.04.2020
Публикация в СМИ для учителей

Публикация в СМИ для учителей

Бесплатное участие. Свидетельство СМИ сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 35. Простые программы для микропроцессора типа 8085 (8080) на языке Ассемблер.doc

Практическая работа №13

Тема: Простые программы для микропроцессора типа 8085 (8080) на языке Ассемблер

Цель: Изучение набора команд однокристального 8 - разрядного микропроцессора, исследование выполнения отдельных команд; использование различных методов адресации в программах; запись простых программ.

Вид работы: индивидуальный

Время выполнения: 4 часа.

Теоретические сведения

Ассемблер - это программа, преобразовывающая исходный текст программы, написанной на языке ассемблера, в машинный код. Дополнительно ассемблер может создавать листинг программы с номерами строк, адресами переменных, операторами исходного языка и таблицей перекрестных ссылок символов и переменных, используемых в программе. Совместно с ассемблером используется программа, называемая компоновщиком (linker) или редактором связей (linkage editor). Она объединяет отдельные файлы, созданные ассемблером, в единую исполняемую программу. В блок базовых программ входит также отладчик (debugger) позволяющий программисту пошагово выполнять программу, проверять и изменять содержимое памяти.

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

Ход работы

Ассемблер транслирует операторы один за другим, генерируя последовательность из команд процессора и байтов данных.

Формат операторов Ассемблера

Общий формат оператора Ассемблера имеет следующий вид:

[Метка[:]]

Мнемоника [Операнд1 [{,Операнд2}]] [;Комментарий]

Метка - это идентификатор, связанный с адресом первого байта того оператора, в котором она появляется. Мнемоника - это мнемоническое обозначение соответствующей команды процессора или директивы Ассемблера. Комментарий -  это любая последовательность символов, начиная с символа ";" до конца строки, которая поясняет соответствующий оператор.

Задания к практической работе

Вариант 1. Вычислите n-й член F(n) последовательности Фибоначчи. В этой последовательности первые два члена равны 1, а каждый последующий равен сумме двух предыдущих.

Вариант 2. Вычислить произведение двух 32-разрядных чисел без знака в предположении, что результат получится также 32-разрядным числом. В случае переполнения установить переменную-флаг, в противном случае сбросить его.

Вариант 3. Задано число. Вычислить максимальный показатель, с которым степень этого числа по длине не превысит слова.

Вариант 4. Выполнить поиск максимального и минимального элементов массива, подсчитать количество положительных, отрицательных и нулевых элементов массива.

Вариант 5. Задано восемь положительных чисел длиной в байт каждое. Распределить значащие биты последнего числа по старшим битам первых семи.

Вариант 6. Задано число. Определить, является ли оно членом последовательности Фибоначчи. Если да, то вернуть его порядковый номер, в противном случае - 0.

Вариант 7. Выполнить скалярное произведение двух векторов. Обеспечить проверку на равенство длин векторов.

Вариант 8. Задана строка, начальная и конечная позиции подстроки. Выделить подстроку.

Контрольные вопросы и задания

1.                 В чем принципиальное отличие команды от директивы? Поясните назначение директивы ASSUME.

2.                 Запишите на языке Ассемблера шаблоны для реализации условных операторов if и case языка Pascal.

3.                 Укажите принципиальную особенность размещения слов в памяти в архитектуре Intel 8086. Какое влияние на процедуру считывания слова из памяти оказывает базовый адрес, по которому размещено слово в памяти?


4.