Директивы– это команды для транслятора.Имя директивы начинается с точки.
Директива .include. позволяет присоединять к данной программе другой программный фрагмент, а не переписывать его каждый раз. Фрагмент оформляется в виде файла и при помощи псевдооператора include и параметра с именем присоединяемого файла вставляется в то место, где находится inc.
Директива .list –включение генерации листинга. Листинг - это файл повторяющий текст программы со всеми присоединёнными фрагментами, и отражающий ход трансляции программы. В нём против каждой строки программы помещаются соответствующие машинные коды, а также найденные при трансляции ошибки.
Директива .def -макроопределение–позволяет присваивать регистрам МК любые осмысленные имена, упрощающие чтение и понимание текста программы. В рассматриваемом далее листинге один из регистров назван temp (от temporary – временный) и временно хранит различные величины.
Директива.cseg –псевдооператор выбора программного сегмента памяти. (ОЗУ, РПЗУ программ и РПЗУ данных). Существуют директивы для каждого сегмента:
- сегмент кода (памяти программ)………. .cseg;
- сегмент данных (ОЗУ)………………….. .dseg;
- сегмент EEPROM……………………….. .eseg.
После объявления сегмента все последующие операторы относятся только к нему. До тех пор, пока не будет объявлен другой сегмент.
Команды в программной памяти автоматически располагает в ячейках памяти по порядку транслятор, чему помогает «указатель текущего адреса».
Директива.org– принудительное позиционирование указателя текущего адреса – позволяет принудительно изменить значение указателя текущего адреса. Транслятор следит, чтобы фрагменты программы не налезали друг на друга.