Читать «Assembler. Программирование на языке ассемблера IBM PC» онлайн - страница 185

Unknown Author

X EQU 1234h

MOV CL,HIGH X эквивалентно MOV CL,12h MOV CL,LOW X эквивалентно MOV CL,34h

14.4* Директивы управления листингом

При трансляции программы ассемблер формирует ее листинг, в котором помимо текста на ЯА указываются сгенерированный машинный код, диагностические сообщения об ошибках, таблица имен с их атрибутами и т. д.

Перечисленные ниже директивы влияют на формирование листинга - определяют размер его страниц, указывают, что включать в листинг, а что не включать, и т. п.

TITLE <текст>

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

SUBTTL <текст>

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

PAGE [<длина>] [,<ширина>]

PAGE +

PAGE

Параметр "длина" - это целое число от 10 до 255 (по умолчанию берется 50), а "ширина" - целое число от 60 до 132 (по умолчанию - 80).

Первый вариант этой директивы устанавливает размер страниц листинга -число строк на странице (длину страницы) и число позиций в каждой строке (ширину). Этот размер устанавливается начиная со страницы, на которой находится директива. Если какой-то из параметров отсутствует, то соответствующий размер страницы не меняется.

Примеры:

PAGE 100,60    ;100 строк по 60 позиций в каждой

PAGE ,80    ;80 позиций в строке (число строк не меняется)

На каждой странице (в правой части ее первой строки) листинга указывается ее номер в виде S-P, где S - номер секции, а Р - номер страницы в секции. Начальный номер равен 1-1. Номер страницы автоматически увеличивается на 1 при переходе на новую страницу, номер же секции не меняется автоматически. Второй вариант директивы (PAGE +) означает переход к новой секции и новой странице листинга, при этом номер секции увеличивается на 1, а номер страницы становится равным 1. (Что считать секцией, когда менять номер секции - решает автор программы.)

Третий вариант директивы означает "насильственный" переход на новую страницу листинга с увеличением номера страницы на 1 и без изменения номера секции.

.XLIST

По директиве прекращается формирование листинга (сама директива в него не попадает): все последующие строки программы не появятся в листинге.

.LIST

Директива отменяет действие директивы .XLIST, т. е. восстанавливает формирование листинга (начиная с нее самой). Директива .LIST подразумевается по умолчанию в начале программы.