слово от другого. Каждому слову ставится в соответствие идентификатор
(буква, последовательность букв и цифр, начинающаяся с буквы), который
служит постоянным именем данного слова от начала до конца программы.
Специальная программа, называемая транслятором, ставит в соответ-
ствие каждому идентификатору определённый адрес ячейки памяти, т.е.
составляет таблицу соответствий. Эта же программа следит за тем, чтобы
при перемещениях слов из одних ячеек памяти запоминающих устройств в
другие в таблицу соответствий вносились необходимые коррективы.
Языком команд является язык ассемблера. Каждая команда в языке
ассемблера состоит из мнемонического кода операции и идентификатора.
Последний и служит основным отличием команды в языке ассемблера от
команды в машинном языке. Например, если команда пересылки слова из
ячейки памяти в регистр результата записывается на машинном языке, как
LDA ADR, то на языке ассемблера она будет записана в форме LDA FUN1,
где
FUN1 – идентификатор, представляющий собой имя слова, хранящего-
ся в ячейке памяти с адресом
ADR.
Прикладная программа микропроцессорной системы, написанная на
языке ассемблер, содержит три типа высказываний:
• мнемокоды команд микропроцессора, которые транслируются в
коды;
• директивы ассемблера, которые управляют трансляцией;
• комментарии, которые игнорируются в процессе трансляции и
используются для документирования программы. Как правило, каждая
строка программы является законченным высказыванием и имеет структу-
ру: < метка > : < операция > < операнд > ; < комментарий >
• Поле комментария отделяется символом, например, точкой с за-
пятой; поле метки - двоеточием. Различные ассемблеры накладывают раз-
ные ограничения на способ задания символьных имён. Так, например, для
микропроцессора К580ВМ80 символьное имя должно начинаться с буквы
и содержать не более 5 символов.
Пример 2. Рассмотреть реализацию программы временной задержки и
программы сбора и формирования в ОЗУ данных от источника примени-
тельно к микропроцессору К580ВМ80.
Первая программа, реализует временную задержку (табл. 1.5 и
рис. 1.19). Величина задержки определяется числом циклов (информация о
числе циклов
Х заносится в регистр В) и временем выполнения команд
цикла. В каждом цикле число
Х уменьшается на 1 и так продолжается до
59