Ассемблер имеет ряд операторов, которые позволяют управлять процессом ассемблирования. Эти операторы называются директивами. Они действуют только в процессе ассемблирования программы и не генерируют машинных кодов. Рассмотрим основные директивы.
Директивы резервирования и инициализации данных:
| Имя | Длина | Применение |
| db | 1 байт | · целые знаковые и беззнаковые числа · символьные строки, длина которых определяется длиной строки, указанной в кавычках |
| dw | 2 байта | · целые знаковые и беззнаковые числа · смещение в сегменте · адрес сегмента |
| dd | 4 байта | · целые знаковые и беззнаковые числа · адрес, включающий сегмент и смещение в сегменте |
Директивы определения сегмента:
| Формат директивы | Назначение |
| .CODE [имя] | Начало сегмента кода |
| .DATA | Начало сегмента инициализированных данных. |
| .CONST | Начало сегмента постоянных данных (констант) модуля |
| .STACK [размер] | Начало сегмента стека модуля. Параметр [размер] задает размер стека |
Директива model определяет модель памяти. Самые распространённые виды моделей памяти – это small и tiny. Первый наиболее часто используется для обычных программ, второй – для программ формата.com.
При использовании директивы model транслятор делает доступными несколько идентификаторов (предопределенных имен), к которым можно обращаться во время работы программы, с тем, чтобы получить информацию о тех или иных характеристиках данной модели памяти. Перечислим основные идентификаторы и их значения:
| Имя идентификатора | Назначение |
| @code | адрес сегмента кода |
| @data | адрес сегмента данных |
| @stack | адрес сегмента стека |






