Общие директивы управления листингом
Имеется ряд директив, которые позволяют вам управлять видом файла листинга. Общие директивы управления листингом включают в себя следующие директивы:
Директива %LIST выводит в файл листинга все строки исходного кода. Эта директива назначается по умолчанию при создании файла листинга. Чтобы запретить вывод в листинг всех строк исходного кода, используйте директиву %NOLIST. Приведем пример:
%NOLIST ; запретить листинг INCLUDE MORE .INC %LIST ; разрешить листинг
Директивы .LIST и .XLIST работают также, как директивы %LIST и %NOLIST. Приведем пример:
.LIST jmp xyz ; эта строка всегда выводится .XLIST add dx,ByteVar ; не содержится в листинге
Для управления включением в листинг директив управления листингом вы можете использовать директивы %CTL и %NOCTL. Директива %CTLS приводит к включению в листинг директив управления листингом (таких как %LIST, %INCL и т.д.). Обычно они в листинг не выводятся. Эта директива действует для всех последующих строк, поэтому сама директива %CTLS в листинг не выводится. Директива %NOCTLS изменяет действие директивы %CTLS на обратное. После задания директивы %NOCTLS все последующие директивы управления листингом в листинг включаться не будут (этот режим используется Турбо Ассемблером по умолчанию, когда начинается ассемблирование исходного файла). Например:
%CTLS %NOLIST ; эта директива не будет включена в исходный файл %NOCTLS %LIST ; это не будет включаться в листинг
Для задания включения или не включения в файл листинга таблицы идентификаторов вы можете использовать директивы %SYMS и %NOSYMS (по умолчанию таблица идентификаторов выводится). Таблица будет выводиться в конце файла листинга.
Приведем синтаксис директивы %SYMS:
%SYMS
Директива %NOSYMS имеет следующий синтаксис:
%NOSYMS
Директивы листинга включаемых файлов
В том случае, когда вы хотите вывести в файл листинга включаемые файлы, вы можете разрешить или запретить эту возможность с помощью директив %INCL и %NOINCL. По умолчанию включаемые файлы обычно включаются в файл листинга. Директива %NOINCL приостанавливает вывод в файл листинга всех последующих включаемых файлов, пока он снова не будет разрешен директивой %INCL. Это полезно использовать при наличии больших включаемых файлов, которые содержат, например, много определений EQU, которые никогда не изменяются.
Приведем пример:
%INCL INCLUSE DEFS.INC ; содержимое выводится в листинг %NOINCL INCLUSE DEF1.INC ; содержимое не выводится в листинг
1 2 3 4
8 8 8
| |