Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Директивы .ERRDIF (ERRIFDIF) и .ERRIDN (ERRIFIDN)
Синтаксис директив: .ERRDIF (ERRIFDIF) < строка_1>, < строка_2> — директива, генерирующая пользовательскую ошибку, если две строки посимвольно не совпадают. Строки могут быть символическими именами, числами или выражениями и должны быть заключены в угловые скобки. Аналогично директиве условной компиляции IFDIF, при сравнении учитывается различие прописных и строчных букв. .ERRIDN (ERRIFIDN) < строка_1>, < строка_2> — директива, генерирующая пользовательскую ошибку, если строки посимвольно идентичны. Строчное и прописное написание одной и той же буквы воспринимается как разные символы. Для того чтобы игнорировать различия строчных и прописных букв, существуют аналогичные директивы: ERRIFDIFI < строка_1>, < строка_2> — то же, что и ERRIFDIF , но игнорируется различие строчных и прописных букв при сравнении < строка_1> и < строка_2>. ERRIFIDNI < строка_1>, < строка_2> — то же, что и ERRIFIDN, но игнорируется различие строчных и прописных букв при сравнении < строка_1> и < строка_2>. Данные директивы, как и соответствующие им директивы условной компиляции, удобно применять для проверки передаваемых в макрос фактических параметров. Директивы.ERRE (ERRIFE) и.ERRNZ (ERRIF) Синтаксис директив: .ERRE (ERRIFE) константное_выражение — директива вызывает пользовательскую ошибку, если константное_выражение ложно (равно нулю). Вычисление константного_выражения должно приводить к абсолютному значению, и это выражение не может содержать компонентов, являющихся ссылками вперед. .ERRNZ(ERRIF) константное_выражение — директива вызывает пользовательскую ошибку, если константное_выражение истинно (не равно нулю). Вычисление константного_выражения должно приводить к абсолютному значению и не может содержать компонентов, являющихся ссылками вперед. Константные выражения в условных директивах Как вы успели заметить, во многих условных директивах в формировании условия участвуют выражения . Результат вычисления этого выражения обязательно должен быть константой. Хотя его компонентами могут быть и символические параметры, но их сочетание в выражении должно давать абсолютный результат. К примеру:
Кроме того, выражение не должно содержать компоненты, которые транслятор еще не обработал к тому месту программы, где находится условная директива. Также мы отметили, что логические результаты “истина” и “ложь” являются условными в том смысле, что ноль соответствует логическому результату “ложь”, а любое ненулевое значение — “истине”. Но в языке ассемблера существуют операторы, которые позволяют сформировать и “чисто логический” результат. Это так называемые операторы отношений, выражающие отношение двух значений или константных выражений. В контексте условных директив вместе с операторами отношений можно рассматривать и логические операторы. Результатом работы и тех, и других может быть одно из двух значений:
Операторы, которые можно применять в выражениях условных директив и которые формируют логические результаты, приведены в табл. 1 и 2. Таблица 1. Операторы отношений
Таблица 2. Логические операторы
Дополнительное управление трансляцией TASM предоставляет средства для вывода текстового сообщения во время трансляции программы — директивы DISPLAY и %OUT. С их помощью можно, при необходимости, следить за ходом трансляции. К примеру:
В результате обработки этих директив на экран будут выведены тексты сообщений. Если эти директивы использовать совместно с директивами условной компиляции, то, к примеру, можно отслеживать путь, по которому осуществляется трансляция исходного текста программы.
Самостоятельная работа. Опции транслятора TASM и редактора связей TLINK В данном документе приведены опции командной строки:
Во избежание несовместимости используйте программы TLINK и TASM одной версии. Опции транслятора TASM Популярное: |
Последнее изменение этой страницы: 2016-05-28; Просмотров: 549; Нарушение авторского права страницы