РУЧНАЯ ТРАНСЛЯЦИЯ, ВВОД И ИСПОЛНЕНИЕ МАШИННЫХ КОМАНД
Цель работы: изучить систему команд микропроцессора Intel 8080; приобрести навыки ручной трансляции программ, написанных на языке Ассемблер микропроцессора Intel 8080; освоить процедуры ввода и выполнения основных машинных команд микропроцессора Intel 8080.
Опыт 1. Ручная трансляция программ написанных на языке Ассемблер
Совокупность машинных команд представляет собой базовый микропроцессорный язык. Для облегчения разработки программного обеспечения на основе базового процессорного языка создаются языки программирования более высокого уровня. Программы микропроцессорных систем должны выполнятся в минимальное время, занимать минимальный объем памяти и легко изменяться при необходимости. Всем этим условиям отвечает программирование на языке Ассемблер, оперирующем с мнемокодами и символьными адресами. Команды Ассемблера позволяют существенно упростить составление, чтение и отладку программ микропроцессорной системы. Каждая машинная команда обозначается символом, представляющим собой сокращенную форму полной записи наименования данной команды на алгоритмическом языке. Символ кодирования названия и содержания команд запоминается и воспринимается намного легче, чем двоичные или шестнадцатеричные коды.
При использовании Ассемблера необходимо учитывать специфические особенности конкретного микропроцессора, т.к. этот язык относится к машинно-ориентированным языкам программирования. Перевод программы, написанной на Ассемблере, в машинные коды называется трансляцией. Процесс трансляции сложных программ выполняется с помощью ЭВМ. Простые программы могут транслироваться вручную с привлечением таблиц. Команды Ассемблера микропроцессора Intel 8080 классифицируются следующим образом:
– команды пересылки;
– арифметические команды;
– логические команды;
– команды управления программой;
– специальные команды.
Ассемблер микропроцессора Intel 8080 имеет возможность работы с однобайтными и двухбайтными числами. Смысл трансляции заключается в переводе ассемблерной программы, выполненной в мнемокодах, в шестнадцатеричные коды.
Пример ручной трансляции программы:
Дан массив, состоящий из десяти чисел, расположенный в области ОЗУ начиная с адреса 1000Н. Переслать массив в область ОЗУ, начиная с адреса 1100Н. Программу пересылки расположить в памяти с адреса 0500Н. Блок-схема алгоритма выполнения данной программы приведена на рисунке 1.