Программы на языке ASM состоят из строк двух типов: директив (псевдооператоров) и команд (операторов). Директива - это управляющая информация для программы-транслятора. Команда - управляющая информация для МП. Строка может начинаться с произвольной позиции и имеет следующий формат:
Для директивы
<присвоенное программистом имя> <мнемокод> <параметры > <;комментарии программиста>
Для команд:
< метка: > <мнемокод команды> <адреса операндов> <;комментарии программиста>
Поля (части) команд и директив разделяются не менее чем одним пробелом Комментарий не используется транслятором и не включается в ехе-файл.
Примеры директив уже приводились в п.2.1. методпособия (см. директивы DB и DW).
Ассемблерные программы для ехе-формата состоят, по крайней мере, из двух сегментов: кода и стека. Если операндов мало, и они являются константами, то их численные значения можно включать в команды.
Например, так:
В этом случае программа может не иметь сегмента данных.
Большинство программ содержит также сегмент данных, а некоторые - кроме трех перечисленных сегментов - и дополнительный сегмент данных.
Все сегменты определяются программистом с помощью двух директив языка ассемблер: SEGMENT и ENDS.Директива SEGMENT определяет начало, а директива ENDS конец сегмента. Директивы включаются в текст программы в такой последовательности:
<имя> SEGMENT [параметры]
<здесь указывается содержимое сегмента с помощью директив DB (DW)>
<имя> ENDS
Например, границы сегмента с именем DATS указываются так: