Тема: Простые программы для микропроцессора типа 8085 (8080) на языке Ассемблер
Цель: Изучение набора команд однокристального 8 - разрядного микропроцессора, исследование выполнения отдельных команд; использование различных методов адресации в программах; запись простых программ.
Время выполнения: 2 часа.
Теоретические сведения
Ассемблер - это программа, преобразовывающая исходный текст программы, написанной на языке ассемблера, в машинный код. Дополнительно ассемблер может создавать листинг программы с номерами строк, адресами переменных, операторами исходного языка и таблицей перекрестных ссылок символов и переменных, используемых в программе. Совместно с ассемблером используется программа, называемая компоновщиком (linker) или редактором связей (linkage editor). Она объединяет отдельные файлы, созданные ассемблером, в единую исполняемую программу. В блок базовых программ входит также отладчик (debugger) позволяющий программисту пошагово выполнять программу, проверять и изменять содержимое памяти.
Язык Ассемблера является ориентированной на человека формой команд процессора (машинного языка). Машинный язык и язык Ассемблера функционально эквивалентны, но на Ассемблере намного проще программировать, поскольку он позволяет использовать мнемонические имена команд машинного языка. При этом компилятор Ассемблера последовательно транслирует команды из мнемонического вида в их машинный эквивалент. Таким образом, язык Ассемблера в основном представляет собой прямой аналог машинного языка, но реализованный в том виде, с которым человек может работать более эффективно.
Ассемблер транслирует операторы один за другим, генерируя последовательность из команд процессора и байтов данных.
Формат операторов Ассемблера
Общий формат оператора Ассемблера имеет следующий вид:
[Метка[:]] Мнемоника [Операнд1 [{,Операнд2}]] [;Комментарий]
Метка - это идентификатор, связанный с адресом первого байта того оператора, в котором она появляется. Мнемоника - это мнемоническое обозначение соответствующей команды процессора или директивы Ассемблера. Комментарий - это любая последовательность символов, начиная с символа ";" до конца строки, которая поясняет соответствующий оператор.
Задания к практической работе
Задание 1: Вычислите n-й член F(n) последовательности Фибоначчи. В этой последовательности первые два члена равны 1, а каждый последующий равен сумме двух предыдущих. Реализуйте программу на языке Ассемблер.
Задание 2: Выполните поиск максимального и минимального элементов массива, подсчитать количество положительных, отрицательных и нулевых элементов массива. Реализуйте программу на языке Ассемблер.
Задание 3: Выполните скалярное произведение двух векторов. Обеспечить проверку на равенство длин векторов. Реализуйте программу на языке Ассемблер.
Контрольные вопросы и задания:
1) В чем принципиальное отличие команды от директивы? Поясните назначение директивы ASSUME.
2) Укажите принципиальную особенность размещения слов в памяти в архитектуре Intel 8086. Какое влияние на процедуру считывания слова из памяти оказывает базовый адрес, по которому размещено слово в памяти?
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.