Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Турбо Ассемблер / Использование Турбо Ассемблера /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Генерация листинга - Программирование от RIN.RU
Генерация листинга



Параметры изменения формата листинга


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


Директива PAGE задает высоту и ширину страницы файла листинга и начинает новую страницу. Директива PAGE работает только в режиме MASM. Она имеет следующий синтаксис:


PAGE [число_строк] [,число_столбцов]
PAGE +


где "число_строк" задает число строк, выводимых на странице листинга. Поле "число_столбцов" может принимать значения от 59 до 255 и задает число столбцов на странице. Если вы опустите один из этих параметров, то текущая установка данного параметра остается без изменений. Чтобы изменить только число столбцов, укажите перед этим параметром запятую, в противном случае вы измените число строк.


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


Директива %PAGESIZE работает также, как директива PAGE, но она не начинает новую страницу и работает как в режиме Ideal, так и в режиме MASM. Директива %PAGESIZE имеет следующий синтаксис:


%PAGESIZE [число_строк] [,число_столбцов]


Директива %NEWPAGE работает как директива PAGE без аргументов. Строки исходного текста после директивы %NEWPAGE будут начинаться в файле листинга с новой страницы. Директива %PAGESIZE имеет следующий синтаксис:


%NEWPAGE


Директива %BIN устанавливает длину поля объектного кода в файле листинга. Директива %BIN имеет синтаксис:


%BIN размер


где "размер" является константой. Если вы не используете эту директиву, то поле кода операции занимает в файле листинга до 20 позиций, например:


%BIN 12 ; устанавливает 12 позиций в листинге


Директива %DEPTH устанавливает размер поля глубины в файле листинга. Эта директива имеет следующий синтаксис:


%DEPTH размер


где "размер" задает, скольку столбцов нужно зарезервировать в поле глубины файла листинга. Это поле указывает уровень вложенности включаемых файлов (INCLUDE) и макрорасширений. Если в качестве размера вы укажете 0, то это поле в файле листинга не выводится. Обычно не требуется задавать "размер" > 2, поскольку при этом без усечения будет выводиться глубина до 99. По умолчанию это поле имеет значение 1.


Директива %LINENUM задает размер поля номеров строк в файле листинга. Данная директива имеет следующий синтаксис:


%LINENUM размер


Директива %LINENUM позволяет вам задать, сколько позиций должны занимать номера строк в файле листинга. В поле "размер" должна указываться константа. Если вы хотите минимизировать ширину листинга, то можете уменьшить размер поля номеров строк. Кроме того, если ваш файл содержит более 9999 строк, то размер этого поля может потребоваться увеличить, чтобы номера не усекались. По умолчанию номер строки занимает 4 столбца.


Директива %TRUNC усекает слишком длинные поля листинга. Она имеет следующий синтаксис:


%TRUNC


Поле объектного кода в файле листинга имеет достаточно места для вывода кода, генерируемого большинством инструкций или директивами выделения данных. Размер этого поля можно настроить с помощью директивы %BIN. Если отдельная строка исходного кода генерирует больше кода, чем можно вывести на одной строке, то остаток автоматически усекается и таким образом будет невидимым. Если вы хотите видеть весь генерируемый код, то используйте директиву %NOTRUNC (слишком длинная строка при этом будет переноситься на следующую). В противном случае используйте директиву %TRUNC. Вы можете использовать эти инструкции для переключения режима усечения.


Директива %NOTRUNC имеет следующий синтаксис:


%NOTRUNC


Директива %PCNT задает размер поля "сегмент:смещение" в файле листинга. Она имеет следующий синтаксис:


%PCNT размер


где "размер" - это число столбцов, которые вы хотите зарезервировать для смещения в текущем ассемблируемом сегменте. Турбо Ассемблер устанавливает размер, равный 4, для обычных 16-битовых сегментов и 8 для 32-битовых сегментов процессора 80386. Директива %PCNT позволяет переопределить эти используемые по умолчанию значения.


Директива TITLE, которую вы можете использовать только в режиме MASM, задает заголовок файла листинга. Эта директива имеет следующий синтаксис:


TITLE текст


Заголовок "текст" будет выводиться в верхней части каждой страницы после имени исходного файла и перед заголовком, заданным по директиве SUBTTL. Директиву TITLE можно использовать в программе только один раз.


Директива %TITLE работает также, как директива TITLE, но вы можете использовать ее как в режиме MASM, так и в режиме Ideal. Эта директива имеет следующий синтаксис:


%TITLE "текст"


Директива SUBTTL работает только в режиме MASM и задает подзаголовок файла листинга. Она имеет следующий синтаксис:


SUBTTL текст


Подзаголовок выводится в верхней части каждой страницы после имени исходного файла и после заголовка, заданного директивой TITLE.


Директиву SUBTTL можно указывать в программе столько раз, сколько требуется. Каждая директива изменяет подзаголовок, который будет выводиться на следующей странице листинга.


Директива %SUBTTL работает аналогично директиве SUBTTL, но ее можно указывать как в режиме Ideal, так и в режиме MASM. Эта директива имеет синтаксис:


%SUBTTL "текст"


Директива %TABSIZE задает позицию табуляции в файле листинга. Данная директива имеет следующий синтаксис:


%TABSIZE размер


где "размер" - это число столбцов между двумя позициями табуляции в файле листинга. По умолчанию это 8 столбцов.


Для задания длины поля исходного текста в файле листинга можно использовать директиву %TEXT, которая имеет синтаксис:


%TEXT размер


где "размер" - это число столбцов, используемых для вывода в файле листинга исходных строк. Если размер исходной строки превышает длину этого поля, то оно будет либо усекаться, либо переноситься на следующую строку, в зависимости от использования директивы %TRUNC или %NOTRUNC.


Чтобы сохранить все параметры управления листингом в 16-уровневом стеке, можно использовать директиву %PUSHCTL. Она сохраняет только те параметры управления листингом, которые можно разрешить или запретить (%INCL, %NOINCL и т.д.). Размеры полей листинга не сохраняются. Данная директива особенно полезна в макрокомандах, когда вы можете вызывать специальные режимы листинга, которые отменяются при завершении макрорасширения.


Директива %PUSHCTL имеет синтаксис:


%PUSHCTL


Директива %POPCTL восстанавливает из стека параметры управления листингом и имеет следующий синтаксис:


%POPCTL


Эта директива восстанавливает параметры управления листингом в те значения, которые они имели перед последней директивой %PUSHCTL. Значения размеров полей листинга (%DEPTH, %PCNT и т.д.) не восстанавливаются.

<<<  Назад
 1  2  3  4 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Начало работы на Турбо Ассемблере

Использование директив и параметров

Общие принципы программирования

Объектно-ориентированное программирование

Использование выражений и значений идентификаторов

Директивы выбора процессора

Использование моделей памяти программы и сегментации

Определение типов данных

Задание и использование счетчика адреса

Описание процедур

Управление областью действия идентификаторов

Определение данных

Расширенные инструкции

Использование макрокоманд

Использование условных директив

Интерфейс с компоновщиком

Интерфейс Турбо Ассемблера и Borland C++

Интерфейс Турбо Ассемблера с Турбо Паскалем

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь