Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прогр.МПС и МПСУзаочн. водн..DOC
Скачиваний:
38
Добавлен:
27.03.2015
Размер:
960 Кб
Скачать

Тема 5. Программирование микропроцессоров

1. Понятие программирования.

2. Блок-схема алгоритма.

3. Ассемблеры. Язык ассемблера.

5. Организация счета и временных задержек.

6. Построение модуля центрального процессора.

Методические указания

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

Общий формат ассемблерной команды имеет следующий вид:

Метка: Мнемоника Операнд, Операнд; Комментарий

Метка — это идентификатор, присваиваемый команде. С по­мощью меток в программе можно указывать команды, которым следует передать управление в случае условных или безусловных переходов. Мнемоника(операция) — краткое обозначение команды, обычно состоящее из трех-четырех латинских букв, представляющих со­кращение от английского названия команды: ADD — addition (сложение); MOV — move (переслать) и т.д. Операнд, Операнд — поля первого и второго операндов. Первый операнд является при­емником результата операции. Запятая служит признаком разде­ления полей операндов. Один из операндов — содержимое регистра, второй задается всеми возможными режимами адреса­ции. Комментарий — необязательная составляющая оператора. Он игнорируется при трансляции и служит только для пояснений программы, ее отдельных фрагментов или операторов.

Для записи операндов используются следующие правила:

  1. Если в регистре содержится сам операнд, его обозначение дается без скобок, если в регистре содержится составляющая адре­са ячейки ОЗУ при косвенной адресации, то дается обозначение регистра в квадратных скобках. Например, запись ADD AX, [BX] означает, что в операции сложения первый операнд находится в регистре АХ, а второй — в ячейке ОЗУ, адрес которой содержится в регистре ВХ. По записи оператора ассемблирующая программа автоматически определяет режим адресации.

  2. Операнд может быть задан идентификатором — каким либо сочетанием букв, не совпадающим с наименованием регистров, например ADD AX, BETA. В этом случае идентификатору (в нашем случае метке BETA) соответствует ячейка ОЗУ, которая должна быть зарезервирована за ним в начале программы специальным оператором. Ассемблирующая программа при трансляции вычис­лит смещение этой ячейки относительно начала сегмента, и соот­ветствующий операнд будет задан в машинной команде в режиме прямой адресации в виде адреса.

  3. Знак «+» в записи операнда используется для задачи сме­щения. Например, запись ADD AX, [SI]+8 определяет второй операнд в режиме регистровой относительной адресации. Адрес ячейки ОЗУ, содержащей второй операнд, определится как сум­ма содержимого регистра SI и смещения «8». Знак «+» можно использовать также для задачи дополнительного смещения. На­пример, операнд, заданный как ВЕТА+2, будет указывать на ячейку ОЗУ, адрес которой больше адреса ячейки BETA на «2». При этом ассемблирующая программа вычислит соответствую­щий адрес и поместит его в машинную команду в режиме пря­мой адресации.

4. Операнд может быть задан непосредственно числом. При этом необходимо указать, в какой системе счисления оно записа­но. Этот признак проставляется сразу после числа. Ассемблирую­щая программа самостоятельно переведет это число в двоичную форму и занесет в машинную команду.

Вопросы для самопроверки

!. Зачем применяются блок-схемы алгоритмов?

2. Какие функции выполняет язык ассемблера?

3. Из каких основных частей состоит язык ассемблера?

4. Перечислите правила задания операндов.

5. Зачем в процессорном модуле применяется генератор тактовых импульсов?