В ассемблере определен ряд директив, называемых директивами генерации пользовательской ошибки. Их можно рассматривать и как самостоятельное средство, и как метод, расширяющий возможности директив условной компиляции.
- безусловные директивы генерируют ошибку трансляции без проверки каких-либо условий;
ERR (.ERR) [текст сообщения] Безусловно приводит к генерации ошибки на этапе трансляции и удалению объектного модуля
- условные директивы генерируют ошибку трансляции после проверки определенных условий.
ERRIFB (.ERRRB) <или форм. аргумент> [текст сообщения] ERRIFDEF (.ERRDEF) символьное_Имя [текст] ERRIFNDEF (.ERRDEF) символьное_Имя [текст] ERRIFIDN (.ERRIDN) аргумент_1, аргумент_2 [текст] ERRIFDNI (.ERRIDNI) аргумент_1, аргумент_2 [текст] ERRIF (.ERRNZ) константное_выражение [текст] ERRIFE (.ERRE) константное_выражение [текст] Работает и определяет истинность выражения абсолютно аналогично соответствующим директивам условной компиляции, но вдобавок при выполнении условия выводит сообщение об ошибке с заданным текстом.
Директивы генерации пользовательской ошибки по принципу работы можно разделить на два типа: