В языке ассемблера допускается использовать в качестве имен набор символов, содержащий:
- прописные латинские буквы от «A» до «Z»;
- строчные латинские буквы от «a» до «z»;
- знак подчеркивания «_».
Имена не должны начинаться с цифры и могут иметь длину до 32 знаков. Ниже приведено несколько примеров имен с описанием их назначения:
Main_prog {Программный модуль на языке ассемблер}
var1 {Переменная};
buff {Буфер данных};
met173 {Программная метка};
DAC {Порт, отображенный в памяти}.
Эта директива определяет, какой тип процессора семейства ADSP2100 используется в системе. Данная информация передается компоновщику (редактору связей) и симулятору через выходной файл с расширением ach. После этого редактор связей в состоянии определить место расположения программы и данных в соответствии с организацией памяти для конкретного типа процессора. Эта директива принимает одну из следующих форм:
.ADSP2100; {Для ADSP-2100 и ADSP-2100A}
.ADSP2101;
.ADSP2105;
.ADSP2111;
.ADSP2150; {Для ADSP-21msp50 и ADSP-21msp55}
.ADSP2151; {Для ADSP-21msp51 и ADSP-21msp56}
.ADSP2101MV; {Для вариантной системы ADSP-2101 (ADSP-2115)}
.ADSP2101P; {Для системы со страничной памятью ADSP-2101}
.ADSP2181; {Для ADSP-2181}
и т.п.
Эта директива определяет логическое состояние вывода MMAP процессора в системе. Она принимает одну из двух форм:
.MMAP0 {Вывод MMAP=0}
.MMAP1 {Вывод MMAP=1}
Если используется MMAP0, загрузка программы из памяти начальной загрузки происходит после перезагрузки и начинается с нулевого адреса внутренней памяти программ. Если используется MMAP1, загрузка программы из памяти начальной загрузки недоступна, и внутренняя память программ отображается на верхние адреса пространства памяти программ. Когда эта директива пропускается, программа моделирования принимает по умолчанию значение MMAP1.
Директива SEG определяет специальную секцию системной памяти и описывает ее атрибуты. Не существует разделения памяти по умолчанию, поэтому необходимо определить системную память с помощью директив SEG самостоятельно. Эта информация передается редактору связей, симулятору и эмулятору через выходной файл с расширением ach. Директива SEG имеет форму:
.SEG/параметр1/параметр2/... имя_сегмента[размер];
Сегменту присваивается символьное имя. Присвоенное имя позволяет разместить фрагменты программы и данных в памяти. На языке ассемблер это достигается параметром SEG. Размер сегмента указывается внутри скобок. Эта величина интерпретируется как количество 16-разрядных слов данных или 24-разрядных слов инструкций в сегменте.
Для директивы SEG необходимо указать два обязательных параметра:
PM, или DM, или BOOT=0-7 — тип сегмента памяти;