Директивы IFIDN, IFIDNI, IFDIF и IFDIFI позволяют не просто проверить наличие или значения аргументов макрокоманды, но и выполнить идентификацию аргументов как строк символов. Синтаксис этих директив: В этих директивах проверяются арrумент_l и аргумент_2 как строки символов. Какой именно код (фрагмент_проrраммы_l или фраrмент_программы_2) будет транс- лироваться по результатам сравнения, зависит от кода директивы. Наличие двух пар этих директив объясняется тем, что они позволяют учитывать либо не учиты- вать различие строчных и прописных букв. Так, директивы IFIDNI и IFDIFI игнори- руют это различие, a IFIDN и IFDIF — учитывают. ш Директива IFIDN(I) сравнивает символьные значения арrумент_l и аргумент_2. Если результат сравнения положительный, то транслируется и помещается в объектный модуль первый фрагмент программы. В противном случае при на- личии директивы ELSE, в объектный код помещается второй фрагмент програм- мы. Если же директивы ELSE нет, то вся часть программы между директивами IFIDN(I) и ENDIF игнорируется и в объектный модуль не включается. Ш Действие IFDIF(I) обратно действию IFIDN(I). Если результат сравнения отри- цательный (строки не совпадают), транслируется первый фрагмент програм- мы. В противном случае все происходит аналогично рассмотренным ранее ди- рективам.Как мы уже упоминали ранее, эти директивы удобно применять для проверки фактических аргументов макрокоманд. К примеру, проверим, какой из регистров — аl или ah — передан в макрос в качестве параметра (проверка проводится без учета различия строчных и прописных букв): Директивы условной компиляции:М_аh endm