Условное ассемблирование. Операторы, следующие за директивой, до обнаружения директивы ELSE или ENDIF, страница 3

Служит маркером конца блока операторов, которые ассемблируются в зависимости от выполнения определенного условия. Когда ассемблер обнаруживает несоответствие пар директив IF - ENDIF, выдается сообщение об ошибке. Поскольку рекурсивные макросы практически всегда будут управляться директивами класса IF, может потребоваться использование директивы IFCLEAR. Различие между этими двумя заключается в том, что директива ENDIF выполняется всегда, в то время как директива IFCLEAR не выполняется в том случае, когда она находится внутри ассемблерного блока, который не обрабатывается в силу ложности условия.

IFCLEAR

Данная директива выполняет в точности такие же функции, как и директива ENDIF, за исключением того, что она не выполняется, когда она находится внутри ассемблерного блока, который не обрабатывается в силу ложности условия. Данная директива может использоваться в рекурсивном макросе для обработки сбалансированных пар директив IF - ENDIF, позволяя макросу завершиться в определенный момент и, используя тем не менее преимущества проверки условий ассемблером в парах директив IF - ENDIF. Данная директива может быть использована для выполнения той же самой функции, когда макрос содержит директиву MACEXIT, предназначенную для преждевременного выхода из макроса (то есть, до достижения его конца), поскольку это действие будет почти всегда управляться директивой IF какого-либо вида. За примерами использования данной директивы обращайтесь к разделу данного руководства, посвященному макросам.

EXIT "<сообщение>"

Данная директива предназначена для использования внутри блоков, ассемблируемых в зависимости от условия, и осуществит завершение ассемблирования, будучи выполненной. <Сообщение> выводится ассемблером в качестве сообщения об ошибке. Если условие, определяющее ассемблирование данного блока, является истинным, то выполняется директива EXIT, выводится заданное пользователем сообщение об ошибке, и ассемблирование завершается. Если условие, определяющее ассемблирование данного блока, является ложным, то процесс ассемблирования не прерывается. Длина задаваемого пользователем сообщения об ошибке не должна превышать 79 символов. Далее приводится пример использования директивы EXIT:

IFTRUE   TABLE_SIZE.UGT.MAX_TABLE_SIZE

EXIT     "MAXIMUM TABLE SlZE REACHED"

ENDlF

Примечание: В случае, если процесс ассемблирования завершится, то это произойдет при первом проходе, и файл листинга не будет создан.

УПРАВЛЕНИЕ ВЫВОДОМ

LISTON

LIST

Включает генерацию листинга, если при запуске ассемблера в качестве директивы назначения листинга была задана директива LIST ON/OFF. Данная директива всегда должна использоваться перед заданием директивы LIST OFF. Другими словами, при запуске программы подразумевается, что задана директива LIST OFF.

LIST OFF

NOLIST

NLIST

Выключает генерацию листинга, если была задана директива LIST ON/OFF и выполнена директива LIST ON. Этот режим является стандартным (используемым по умолчанию) и, следовательно, должен быть использован только после директивы LIST ON.

MACLISTON

MLIST

Включает генерацию листинга макрорасширений (раскрытия текста макросов). Данный режим является стандартным (используемым по умолчанию).

MACLISTOFF

MNLIST

Выключает генерацию листинга макрорасширений (раскрытия текста макросов). Стандартным режимом является режим включенной генерации листинга макрорасширений.

CONDLIST ON

Включает генерацию листинга ассемблерных блоков, которые не ассемблируются в силу ложности условия. Данный режим является стандартным (используемым по умолчанию).

CONDLISTOFF

Выключает генерацию листинга ассемблерных блоков, которые не ассемблируются в силу ложности условия. Стандартным режимом является режим включенной генерации листинга ассемблерных блоков, которые не ассемблируются в силу ложности условия.

ASCLIST ON

Включает генерацию листинга строк в кодах ASCII, которые требуют более одной строки объектного кода в ассемблерном листинге. Данный режим является стандартным (используемым по умолчанию).

ASCLISTOFF

Выключает генерацию листинга строк в кодах ASCII, которые требуют более одной строки объектного кода в ассемблерном листинге. В листинг будет выдаваться только первая строка объектного кода. Стандартным режимом является режим включенной генерации листинга строк в кодах ASCII.

PW <выражение>

Устанавливает ширину страницы при выводе на принтер. Стандартной шириной страницы является значение 132 столбца.

PL <выражение>