Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Часть 3. Директивы

            Ниже в алфавитном порядке описаны все директивы TASM.


Директива .186 Режим MASM

Разрешает ассемблирование инструкций процессора 80186.

Директива .286 Режим MASM

Разрешает ассемблирование непривилегированных инструкций процессора 80286 (реальный режим) и инструкций арифметического сопроцессора 80287.

Директива .286C Режим MASM

Разрешает ассемблирование непривилегированных инструкций процессора 80286 (реальный режим) и инструкций арифметического сопроцессора 80287.

Директива .286P Режим MASM

Разрешает ассемблирование всех инструкций процессора 80286 (включая защищенный режим) и инструкций арифметического сопроцес- сора 80287.

Директива .287 Режим MASM

Разрешает ассемблирование всех инструкций арифметического сопроцессора 80287.

Директива .386 Режим MASM

Разрешает ассемблирование непривилегированных инструкций процессора 80386 (реальный режим) и инструкций арифметического сопроцессора 80387.

Директива .386C Режим MASM

Разрешает ассемблирование непривилегированных инструкций процессора 80386 (реальный режим) и инструкций арифметического сопроцессора 80387.

Директива .386P Режим MASM

Разрешает ассемблирование всех инструкций процессора 80386 (включая защищенный режим) и инструкций арифметического сопроцес- сора 80387.

Директива .387 Режим MASM

Разрешает ассемблирование всех инструкций арифметического сопроцессора 80387.

Директива .486 Режим MASM

Разрешает ассемблирование непривилегированных инструкций процессора i486 (реальный режим).

Директива .486C Режим MASM

Разрешает ассемблирование непривилегированных инструкций процессора i486 (реальный режим).

Директива .486P Режим MASM

Разрешает ассемблирование всех инструкций процессора i486 (включая защищенный режим).

Директива .8086 Режим MASM

Разрешает ассемблирование инструкций защищенного режима для процессора 80486.

Директива .8087 Режим MASM

Разрешает ассемблирование инструкций арифметического сопро- цессора. Этот режим инструкций сопроцессора используется Турбо Ассемблером по умолчанию.

Директива : Режимы Ideal, MASM

имя: Определяет для кода ближнюю метку с указанным именем.

Директива = Режим Ideal, MASM

имя = выражение Определяет или переопределяет числовое присваивание.

Директива ALIGN Режим Ideal, MASM

ALIGN граница Округляет счетчик инструкций до адреса, который представляет собой степень двойки (2, 4, 8, .).

Директива .ALPHA Режим MASM

Задает упорядочивание сегментов по алфавиту. Ту же функцию выполняет параметр командной строки /a.

Директива ARG Режим Ideal, MASM

ARG аргумент[,аргумент].[=идентификатор] [RETURNS аргумент[,аргумент]] Заносит аргументы в стек для процедур. Каждому аргументу присваивается положительное смещение от регистра BP. При этом предполагается, что адрес возврата процедуры и регистр BP вызыва- ющей программы уже занесены в стек. Каждый аргумент имеет следую- щий синтаксис: имя_аргумента[[счетчик_1]][:[отладочный_размер][тип][:счетчик_2]] Необязательный "отладочный_размер" имеет следующий синтаксис: [тип]PTR

Директива ASSUME Режимы Ideal, MASM

ASSUME сегмент:имя[,сегмент:имя]. ASSUME сегментный_регистр:NOTHING ASSUME NOTHING Задает сегментный регистр, который будет использоваться для вычисления действующего адреса для всех меток и переменных, опре- деленных для сегмента или группы сегментов с указанным именем. Ключевое слово NOTHING отменяет связь между указанным сегментным регистром и именем сегмента или группы.

Директива %BI Режимы Ideal, MASM

%BIN размер Задает размер поля объектного кода в файле листинга (в пози- циях).

Директива CALL Режимы Ideal, MASM

CALL <указатель_экземпляра>METHOD[<имя_объекта>:] <имя_метода>{USES[{сегм_регистр:}регистр_смещения} {<параметры_расширенного_вызова} Вызывает процедуру метода.

Директива CATSTR Режимы Ideal, MASM51

имя CATSTR строка[,строка]. Выполняет конкатенацию нескольких строк в одну строку с ука- занным именем.

Директива .CODE Режим MASM

.CODE[имя] При использовании с директивой .MODEL определяет начало сег- мента кода. Если вы задали среднюю или большую модель памяти, то за директивой .CODE может следовать необязательное имя, которое указывает имя сегмента.

Директива CODESEG Режимы Ideal, MASM

CODESEG[имя] При использовании с директивой .MODEL определяет начало сег- мента кода. Если вы задали среднюю или большую модель памяти, то за директивой .CODESEG может следовать необязательное имя, кото- рое указывает имя сегмента.

Директива COMM Режимы Ideal, MASM

COMM определение[,определение] Определяет общую переменную. Каждое определение описывает идентификатор и имеет следующий формат: [расстояние][язык]имя_идентификатора[[счетчик_1]]:тип[:счетчик_2] где "расстояние" - это NEAR или FAR (если оно не задается, то по умолчанию соответствуют используемой модели памяти для данных), "язык" - это C, PASCAL, BASIC, FORTRAN или NOLANGUAGE (язык не определен) и задает применение к "имени_идентификатора" соглаше- ний, специфических для языка. "Имя_идентификатора" - это общая переменная (или переменные, разделенные запятыми). Если в качест- ве расстояния указывается NEAR, то компоновщик для вычисления об- щего размера массива использует значение "счетчик_1". Если "расстояние" - это FAR, то компоновщик для указания того, сколько имеется элементов размера "счетчик_1" * на основной размер, опре- деляемый типом, использует значение "счетчик_2". "Типом" может быть BYTE, WORD, DATAPTR, CODEPTR, DWORD, FWORD, PWORD, QWORD, TBYTE или имя структуры. "Счетчик_2" задает, сколько элементов определяет данная общая переменная. По умолчанию значения "счет- чик_1" и "счетчик_2" равны 1.

Директива COMMENT Режим MASM

COMMENT разделитель[текст] [текст] разделитель[текст] Начинает комментарий, состоящий из нескольких строк. Ограни- чителем является первый ненулевой символ, следующий за COMMENT.

Директива %COND Режимы Ideal, MASM

Выводит в листинге все операторы в условном блоке. Этот ре- жим используется в Турбо Ассемблере по умолчанию.

Директива CONST Режимы Ideal, MASM

- Определяет начало сегмента данных-констант.

Директива .CREF Режим MASM

Позволяет собирать для всех идентификаторов, начиная от дан- ной точки и далее в исходном файле, информацию о перекрестных ссылках. Директива .CREF имеет обратный эффект по сравнению с ди- рективами %XCREF или .XCREF, которые запрещают сбор информации.

Директива %CREF Режимы Ideal, MASM

Позволяет собирать для всех идентификаторов, начиная от дан- ной точки и далее в исходном файле, информацию о перекрестных ссылках. Директива .CREF имеет обратный эффект по сравнению с ди- рективами %XCREF или .XCREF, которые запрещают сбор информации.

Директива %CREFALL Режимы Ideal, MASM

Приводит к тому, что в листинге перекрестных ссылок будут выводиться все идентификаторы, которые встречаются далее в исход- ном коде. В Турбо Ассемблере этот режим используется по умолча- нию. Директива %CREFALL изменяет действие предыдущих директив %CREFREF или %CREFUREF, которые запрещают вывод в листинге иден- тификаторов с имеющими или отсутствующими на них ссылками, на об- ратное.

Директива %CREFREF Режимы Ideal, MASM

Запрещает вывод в листинге перекрестных ссылок идентификато- ров, ссылки на которые отсутствуют.

Директива %CREFUREF Режимы Ideal, MASM

Запрещает вывод в листинге перекрестных ссылок идентификато- ров, ссылки на которые отсутствуют.

Директива %CREFUREF Режимы Ideal, MASM

Выводи в листинг перекрестных ссылок только те идентификато- ры, на которые нет ссылок.

Директива %CTLS Режимы Ideal, MASM

Приводит к тому, что в листинге будут присутствовать управ- ляющие директивы (такие, как %LIST, %INCL и т.д.).

Директива .DATA Режим MASM

Определяет в вашем модуле начало инициализированного сегмен- та данных. Для определения модели памяти вы должны сначала использовать директиву .MODEL. Сегмент данных помещается в группу с именем DGROUP, которая содержит также сегменты, определенные с помощью директив .STACK, .CONST и .DATA?.

Директива DATASEG Режим Ideal

Определяет в вашем модуле начало инициализированного сегмен- та данных. Для определения модели памяти вы должны сначала использовать директиву .MODEL. Сегмент данных помещается в группу с именем DGROUP, которая содержит также сегменты, определенные с помощью директив .STACK, .CONST и .DATA?.

Директива .DATA? Режим MASM

Определяет в вашем модуле начало неинициализированного сег- мента данных. Для определения модели памяти вы должны сначала использовать директиву .MODEL. Сегмент данных помещается в группу с именем DGROUP, которая содержит также сегменты, определенные с помощью директив .STACK, .CONST и .DATA.

Директива DB Режимы Ideal, MASM

[имя] DB выражение[,выражение] Выделяет и инициализирует байт памяти. "Имя" представляет собой идентификатор, который вы будете затем использовать для ссылки на данные. "Выражение" может представлять собой выраже- ние-константу, вопросительный знак, строку символов или выражение с операцией DUP.

Операция DD Режимы Ideal, MASM

[имя] DD[тип PTR][ выражение[,выражение] Выделяет и инициализирует 4 байта памяти (двойное слово). "Имя" - это идентификатор, который вы будете впоследствии исполь- зовать для ссылки на данные. "Тип", за которым следует PTR, до- бавляет к определяемому идентификатору информацию для отладки, благодаря чему Турбо отладчик сможет правильно выводить ее содер- жимое. Тип может быть следующим: BYTE, WORD, DATAPTR, CODEPTR, DWORD, FWORD, PWORD, QWORD, TBYTE, SHORT, NEAR, FAR или имя структуры. "Выражение" может быть выражением-константой, вопроси- тельным знаком или выражением с DUP.

Директива %DEPTH Режим Ideal, MASM

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

Директива DF Режимы Ideal, MASM

[имя] DF[тип PTR] выражение[,выражение]. Выделяет и инициализирует 6 байт памяти (дальний указатель типа far). "Имя" - это идентификатор, который вы будете позднее использовать для ссылки на данные. "Тип", указываемый после PTR, добавляет к определяемому идентификатору информацию для отладки, благодаря которой Турбо отладчик сможет правильно выводить ее со- держимое. Тип может быть следующим: BYTE, WORD, DATAPTR, CODEPTR, DWORD, FWORD, PWORD, QWORD, TBYTE, SHORT, NEAR, FAR или именем структуры. "Выражение" может быть выражением-константой, знаком вопроса, адресным выражением или выражением с DUP.

Директива DISPLAY Режимы Ideal, MASM

DISPLAY "текст" Выводит заключенную в кавычки строку (текст) на экран.

Директива DOSSEG Режимы Ideal, MASM

Разрешает переопределение сегментов DOS во время компоновки. Используйте данную директиву только при разработке автономных программ на Ассемблере. Укажите директиву DOSSEG один раз в ис- ходном основном модуле, где определяется начальный адрес програм- мы.

Директива DP Режимы Ideal, MASM

[имя] DP[тип PTR] выражение[,выражение]. Выделяет и инициализирует 6 байт памяти (дальний указатель типа far). "Имя" - это идентификатор, который вы будете позднее использовать для ссылки на данные. "Тип", указываемый после PTR, добавляет к определяемому идентификатору информацию для отладки, благодаря которой Турбо отладчик сможет правильно выводить ее со- держимое. Тип может быть следующим: BYTE, WORD, DATAPTR, CODEPTR, DWORD, FWORD, PWORD, QWORD, TBYTE, SHORT, NEAR, FAR или именем структуры. "Выражение" может быть выражением-константой, знаком вопроса, адресным выражением или выражением с DUP.

Директива DQ Режимы Ideal, MASM

[имя] DQ выражение[,выражение]. Выделяет и инициализирует 8 байт памяти (четверное слово). "Имя" представляет собой идентификатор, который вы будете позднее использовать для ссылки на данные. "Выражение" может быть выраже- нием-константой, 64-разрядным числом с плавающей точкой, знаком вопроса или выражением с DUP.

Директива DT Режимы Ideal, MASM

[имя] DT выражение[,выражение]. Выделяет и инициализирует 10 байт памяти (четверное слово). "Имя" представляет собой идентификатор, который вы будете позднее использовать для ссылки на данные. "Выражение" может быть выра- жением-константой, 64-разрядным числом с плавающей точкой, знаком вопроса или выражением с DUP.

Директива DW Режимы Ideal, MASM

[имя] DP[тип PTR] выражение[,выражение]. Выделяет и инициализирует 2 байта памяти (слово) "Имя" - это идентификатор, который вы будете позднее использовать для ссылки на данные. Тип, указываемый после PTR, добавляет к определяемому идентификатору информацию для отладки, благодаря которой Турбо отладчик сможет правильно выводить ее содержимое. Тип может быть следующим: BYTE, WORD, DATAPTR, CODEPTR, DWORD, FWORD, PWORD, QWORD, TBYTE, SHORT, NEAR, FAR или именем структуры. "Выражение" может быть выражением-константой, знаком вопроса, адресным выра- жением или выражением с DUP.

Директива ELSE Режимы Ideal, MASM

IF условие операторы_1 [ELSE операторы_2] ENDIF Начинает альтернативный блок условного ассемблирования. Опе- раторы, определяемые в ветви ELSE (операторы_2), ассемблируются, если вычисление условия дает False.

Директива ELSEIF Режимы Ideal, MASM

ELSEIF IF условие_1 операторы_1 [ELSEIF условие_2 операторы_2] ENDIF Начинает вложенный блок условного ассемблирования, если "ус- ловие_2" принимает значение True. Поддерживаются также некоторые другие формы ELSEIF: ELSEIF1, ELSEIF2, ELSEIFB, ELSEIFDEF, ELSEIFDIF, ELSEIFDIFI, ELSEIFE, ELSEIFE, ELSEIFIDN, ELSEIFIDNI, ELSEIFNB и ELSEIFNDEF.

Директива EMUL Режимы Ideal, MASM

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

Директива END Режимы Ideal, MASM

END [начальный_адрес] Отмечает начало исходного файла. "Начальный_адрес" - это ид- ентификатор или выражение, которое задает адрес вашей программы в начале выполнения. Турбо Ассемблер игнорирует любой текст, ко- торый встречается после директивы END.

Директива ENDIF Режимы Ideal, MASM

ENDIF IF условие операторы ENDIF Отмечает конец блока условного ассемблирования в одной из директив IFхххх.

Директива ENDM Режимы Ideal, MASM

Определяет конец блока повторения или макроопределения.

Директива ENDP Режимы Ideal, MASM

ENDP [имя_программы] [имя_программы] ENDP Отмечает конец процедуры. Если указывается имя программы, оно должно соответствовать имени, которое задано в директиве PROC в начале определения процедуры.

Директива ENDS Режимы Ideal, MASM

ENDS [имя_сегмента | имя_структуры] [имя_сегмента | имя_структуры]ENDS Отмечает конец текущего сегмента, структуры или объединения. Если вы указываете необязательное имя, то оно должно совпадать с именем, заданным в соответствующей директиве SEGMENT, STRUC или UNION.

Директива ENUM Режимы Ideal, MASM

- ENUM имя[переменная_перечисления[,переменная_перечисления.]] имя ENUM я[переменная_перечисления[,переменная_перечисления.]] Описывает перечислимый тип данных.

Директива EQU Режимы Ideal, MASM

имя EQU выражение Определяет "имя", как строку, псевдоним или числовое присва- ивание, содержащее результат вычисления выражения.

Директива .ERR Режим MASM

.ERR <строка> Приводит к тому, что при обнаружении данной директиве в ис- ходном коде в данной строке возникает ошибка, и в качестве сооб- щения об ошибке выводится необязательная строка.

Директива ERR Режим MASM

ERR <строка> Приводит к тому, что при обнаружении данной директиве в ис- ходном коде в данной строке возникает ошибка, и в качестве сооб- щения об ошибке выводится необязательная строка.

Директива .ERR1 Режим MASM

.ERR1 <строка> Приводит к тому, что на первом проходе ассемблирования воз- никает ошибка, и в качестве сообщения об ошибке выводится необя- зательная строка.

Директива .ERR2 Режим MASM

.ERR2 <строка> Если разрешен многопроходный режим (который управляется директивой командной строки /m), то на втором проходе ассемблиро- вания возникает ошибка, и в качестве сообщения об ошибке выводит- ся необязательная строка.

Директива .ERRB Режим MASM

.ERRB аргумент <строка> Приводит к ошибке, если аргумент пуст, и в качестве сообщения об ошибке выводится необязательная строка.

Директива .ERRDEF Режим MASM

.ERRDEF идентификатор <строка> Приводит к ошибке, если идентификатор определен, и в качест- ве сообщения об ошибке выводится необязательная строка.

Директива .ERRDIF Режим MASM

.ERRDIF аргумент_1,аргумент_2 <строка> Приводит к ошибке, если аргументы различны. Регистр символов при сравнении учитывается, и в качестве сообщения об ошибке выво- дится необязательная строка.

Директива .ERRDIFI Режим MASM

.ERRDIFI аргумент_1,аргумент_2 <строка> Приводит к ошибке, если аргументы различны. Регистр символов при сравнении не учитывается, и в качестве сообщения об ошибке выводится необязательная строка.

Директива .ERRE Режим MASM

.ERRE выражение <строка> Приводит к ошибке, если при вычислении выражения получается значение False (0), a в качестве сообщения об ошибке выводится необязательная строка.

Директива .ERRIDN Режим MASM

.ERRIDN аргумент_1,аргумент_2 <строка> Приводит к ошибке, если аргументы совпадают. Регистр букв при сравнении не учитывается, и в качестве сообщения об ошибке выводится необязательная строка.

Директива ERRIF Режимы Ideal,MASM

ERRIF выражение <строка> Приводит к ошибке, если выражение дает значение True (не равно нулю), и в качестве сообщения об ошибке выводится необяза- тельная строка.

Директива ERRIF1 Режимы Ideal, MASM

ERRIF1 <строка> Приводит к ошибке на первом проходе ассемблирования, и в ка- честве сообщения об ошибке выводится необязательная строка.

Директива ERRIF2 Режимы Ideal, MASM

ERRIF2 <строка> Если разрешен многопроходный режим (который управляется па- раметром командной строки /m), то приводит к ошибке на втором проходе ассемблирования, и в качестве сообщения об ошибке выво- дится необязательная строка.

Директива ERRIFB Режимы Ideal, MASM

ERRIFB аргумент <строка> Приводит к ошибке, если аргумент пуст, и в качестве сообщения об ошибке выводится необязательная строка.

Директива ERRIFDEF Режимы Ideal, MASM

ERRIFDEF идентификатор <строка> Приводит к ошибке, если идентификатор определен, и в качест- ве сообщения об ошибке выводится необязательная строка.

Директива ERRIFDIF Режимы Ideal, MASM

ERRIFDIF аргумент_1,аргумент_2 <строка> Приводит к ошибке, если аргументы различны. Регистр символов при сравнении учитывается. В качестве сообщения об ошибке выво- дится необязательная строка.

Директива ERRIFDIFI Режимы Ideal, MASM

ERRIFDIFI аргумент_1,аргумент_2 <строка> Приводит к ошибке, если аргументы различны. Регистр символов при сравнении не учитывается. В качестве сообщения об ошибке вы- водится необязательная строка.

Директива ERRIFE Режимы Ideal, MASM

ERRIFDIF выражение <строка> Приводит к ошибке, если аргументы выражение дает значение False (0). В качестве сообщения об ошибке выводится необязатель- ная строка.

Директива ERRIFDIDN Режимы Ideal, MASM

ERRIFDIDN аргумент_1,аргумент_2 <строка> Приводит к ошибке, если аргументы совпадают. Регистр симво- лов при сравнении учитывается. В качестве сообщения об ошибке вы- водится необязательная строка.

Директива ERRIFDIDNI Режимы Ideal, MASM

ERRIFDIDNI аргумент_1,аргумент_2 <строка> Приводит к ошибке, если аргументы совпадают. Регистр симво- лов при сравнении не учитывается. В качестве сообщения об ошибке выводится необязательная строка.

Директива ERRIFNB Режимы Ideal, MASM

ERRIFNB аргумент <строка> Приводит к ошибке, если аргумент не пуст, и в качестве сооб- щения об ошибке выводится необязательная строка.

Директива ERRIFNDEF Режимы Ideal, MASM

ERRIFNDEF идентификатор <строка> Приводит к ошибке, если идентификатор не определен, и в ка- честве сообщения об ошибке выводится необязательная строка.

Директива .ERRIFNB Режим MASM

.ERRIFNB аргумент <строка> Приводит к ошибке, если аргумент не пуст, и в качестве сооб- щения об ошибке выводится необязательная строка.

Директива .ERRIFDEF Режим MASM

.ERRNDEF идентификатор <строка> Приводит к ошибке, если идентификатор не определен, и в качестве сообщения об ошибке выводится необязательная строка.

Директива .ERRNZ Режим MASM

.ERRNZ выражение <строка> Приводит к ошибке, если выражение имеет значение True (не равно нулю). В качестве сообщения об ошибке выводится необяза- тельная строка.

Директива .EVEN Режимы Ideal, MASM

Округляет счетчик адреса до следующего четного адреса.

Директива EVENDATA Режимы Ideal, MASM

Округляет счетчик адреса до следующего нечетного адреса.

Директива .EXIT Режим MASM

.EXIT [возвращаемое_значение] Генерирует код завершения. Используется только в режиме MASM. Эквивалентна директиве EXITCODE.

Директива EXITCODE Режимы Ideal, MASM

EXITCODE [возвращаемое_значение] Генерирует код завершения. Вы можете использовать эту дирек- тиву в любой желаемой точке выхода. "Возвращаемое_значение" - это число, которое должно возвращаться операционной системе. Если вы не задаете это значение, то возвращается значение, содержащееся в регистре AX.

Директива EXITM Режимы Ideal, MASM

Завершает расширение макрокоманды или блока повторения и во- звращает управление оператору, следующему за макрокомандой или блоком повторения.

Директива EXTRN Режимы Ideal, MASM

EXTRN определение[,определение]. Указывает, что идентификатор определен в другом модуле. Оп- ределение описывает идентификатор и имеет следующий формат: [язык] имя[счетчик_1]:тип[:счетчик_2] где "язык" задает, что к идентификатору с указанным именем должны применяться соглашения заданного языка (C, PASCAL, BASIC, FORTRAN, ASSEMBLER или PROLOG). "Имя" - это идентификатор, кото- рый определен в другом модуле и за которым может следовать "счет- чик_1", множитель элемента массива, значение которого по умолча- нию равно 1. "Тип" должен соответствовать типу идентификатора, указанному при его определении, и может быть следующим: NEAR, FAR, PROC, BYTE, WORD, DWORD, DATAPTR, CODEPTR, FWORD, PWORD, QWORD, TBYTE, ABS или именем структуры. Значение "счетчика_2" за- дает, сколько элементов определяет данный внешний идентификатор. Если оно не задается, то по умолчанию равно 1.

Директива .FARDATA Режим MASM

.FARDATA [имя_сегмента] Определяет начало инициализированного сегмента данных даль- него типа (far). "Имя_сегмента", если оно присутствует, переопределяет имя сегмента, используемое по умолчанию.

Директива FARDATA Режим MASM, Ideal

FARDATA [имя_сегмента] Определяет начало инициализированного сегмента данных даль- него типа (far). "Имя_сегмента", если оно присутствует, переопределяет имя сегмента, используемое по умолчанию.

Директива .FARDATA? Режим MASM

.FARDATA? [имя_сегмента] Определяет начало неинициализированного сегмента данных дальнего типа (far). "Имя_сегмента", если оно присутствует, пере- определяет имя сегмента, используемое по умолчанию.

Директива GLOBAL Режимы Ideal, MASM

GLOBAL определение[,определение] Используется для определения глобального идентификатора (символического имени) и действует, как комбинация директив EXTRN и PUBLIC. "Определение" описывает идентификатор и имеет следующий формат: [язык] имя[[счетчик_1]] :тип[:счетчик_2] где "язык" задает, что к идентификатору с указанным именем должны применяться соглашения заданного языка (C, PASCAL, BASIC, FORTRAN, ASSEMBLER или PROLOG). Если "имя" определено в текущем исходном файле, оно становится общедоступным, как при использова- нии директивы PUBLIC. В противном случае оно описывает внешний идентификатор типа "тип", как при использовании директивы EXTRN. За именем может следовать необязательный "счетчик_1", коэффициент элемента массива, значение которого по умолчанию равно 1. "Тип" должен соответствовать типу идентификатора, указанному при его определении, и может быть следующим: NEAR, FAR, PROC, BYTE, WORD, DWORD, DATAPTR, CODEPTR, FWORD, PWORD, QWORD, TBYTE, ABS или име- нем структуры. Значение "счетчика_2" определяет, сколько элемен- тов определяет данный внешний идентификатор. Если оно не задает- ся, то по умолчанию равно 1.

Директива GOTO Режимы Ideal, MASM

GOTO целевой_идентификатор: Указывает Турбо Ассемблеру, что выполнение нужно возобновить с заданного идентификатора. Директива GOTO завершает любой услов- ный блок, в котором она встречается.

Директива GROUP Режимы Ideal, MASM

GROUP имя_группы имя_сегмента[,имя_сегмента]. имя_группы GROUP имя_сегмента[,имя_сегмента]. Связывает "имя_группы" с одним или более именами сегментов, так что смещения для всех меток и переменных, определенных в дан- ных сегментах, будут вычисляться относительно начала группы "имя_ группы". "Именем_сегмента" может быть определенное ранее с по- мощью директивы SEGMENT имя сегмента или выражение, начинающееся с SEG. В режиме MASM при доступе к идентификатору в сегменте, ко- торый является частью группы, вы должны использовать переопреде- ление группы. В режиме Ideal[ Турбо Ассемблер автоматически гене- рирует для каждого идентификатора переопределения группы.

Директива IDEAL Режимы Ideal, MASM

Устанавливает режим ассемблирования Ideal. Данный режим будет действовать, пока он не будет отменен директивами MASM и QUIRKS.

Директива IF Режимы Ideal, MASM

IF выражение операторы_true [ELSE операторы_false] ENDIF Начинает условный блок, который, если "выражение" имеет зна- чение True (истинно) приводит к ассемблированию операторов "опе- раторы_true" вплоть до необязательной директивы ELSE.

Директива IF1 Режимы Ideal, MASM

IF1 операторы_true [ELSE операторы_false] ENDIF Начинает условный блок, который, если текущим является первый проход ассемблирования, приводит к ассемблированию операторов "операторы_true" вплоть до необязательной директивы ELSE.

Директива IF2 Режимы Ideal, MASM

IF2 операторы_true [ELSE операторы_false] ENDIF Начинает условный блок, который, если разрешен многопроходный режим (им можно управлять с помощью параметра командной строки /m) и текущим является второй проход ассемблирования, приводит к ассемблированию операторов "операторы_true" вплоть до необяза- тельной директивы ELSE.

Директива IFDEF Режимы Ideal, MASM

IFDEF идентификатор операторы_true [ELSE операторы_false] ENDIF Начинает условный блок, который, если "идентификатор" опре- делен, приводит к ассемблированию операторов "операторы_true" вплоть до необязательной директивы ELSE.

Директива IFDIFI Режимы Ideal, MASM

IFDIFI аргумент_1,аргумент_2 операторы_true [ELSE операторы_false] ENDIF Начинает условный блок, который, если аргументы различны, приводит к ассемблированию операторов "операторы_true" вплоть до необязательной директивы ELSE. При сравнении аргументов регистр букв не учитывается.

Директива IFE Режимы Ideal, MASM

IFDE выражение операторы_true [ELSE операторы_false] ENDIF Начинает условный блок, который, если выражение имеет значе- ние False (ложно), приводит к ассемблированию операторов "опера- торы_true" вплоть до необязательной директивы ELSE.

Директива IFIDN Режимы Ideal, MASM

IFIDN аргумент_1,аргумент_2 операторы_true [ELSE операторы_false] ENDIF Начинает условный блок, который, если аргументы совпадают, приводит к ассемблированию операторов "операторы_true" вплоть до необязательной директивы ELSE. При сравнении аргументов регистр букв учитывается.

Директива IFIDNI Режимы Ideal, MASM

IFIDNI аргумент_1,аргумент_2 операторы_true [ELSE операторы_false] ENDIF Начинает условный блок, который, если аргументы совпадают, приводит к ассемблированию операторов "операторы_true" вплоть до необязательной директивы ELSE. При сравнении аргументов регистр букв не учитывается.

Директива IFNB Режимы Ideal, MASM

---------------------------------------------------------------- IFDNB аргумент операторы_true [ELSE операторы_false] ENDIF Начинает условный блок, который, если аргумент не пуст, при- водит к ассемблированию операторов "операторы_true" вплоть до не- обязательной директивы ELSE. При сравнении аргументов регистр букв не учитывается.

Директива IFNDEF Режимы Ideal, MASM

IFNDEF идентификатор операторы_true [ELSE операторы_false] ENDIF Начинает условный блок, который, если идентификатор не опре- делен, приводит к ассемблированию операторов "операторы_true" вплоть до необязательной директивы ELSE. При сравнении аргументов регистр букв не учитывается.

Директива %INCTL Режимы Ideal, MASM

Разрешает листинг включаемых файлов. Этот режим устанавлива- ется по умолчанию.

Директива INCLUDE Режимы Ideal, MASM

INCLUDE имя_файла или INCLUDE "имя_файла" Включает исходный код из файла с указанным именем в текущей позиции ассемблируемого модуля.

Директива INCLUDELIB Режимы Ideal, MASM

INCLUDELIB имя_файла или INCLUDELIB "имя_файла" Приводит к тому, что компоновщик во время компоновки будет включать библиотечный файл с указанным именем. Если расширение имени файла не указывается, то предполагается расширение .LIB.

Директива INSTR Режимы Ideal, MASM51

имя INSTR [начало,]строка_1,строка_2 "Имя" присваивается позиции первого вхождения "строки_2" в "строку_1". Поиск начинается с позиции "начало" (или с позиции 1, если "начало" не задано). Если "строка_2" нигде в "строке_1" не встречается, то "имя" устанавливается в ноль.

Директива IRP Режимы Ideal, MASM

IRP параметр, аргумент_1[,аргумент_2]. операторы ENDM Повторяет блок операторов со строковой подстановкой. Для каждого имеющегося аргумента ассемблирование выполняется только один раз. Аргументами может быть любой текст: символы, строки, числа и т.д. При каждом ассемблировании блока для каждого вхожде- ния "параметра" в "операторах" подставляется следующий аргумент в списке.

Директива IRPC Режимы Ideal, MASM

IRPC параметр, строка операторы ENDM Повторяет блок операторов со символьной подстановкой. Для каждого имеющегося символа в строке ассемблирование выполняется только один раз. При каждом ассемблировании блока для каждого вхождения "параметра" в "операторах" подставляется следующий сим- вол в строке.

Директива JMP Режимы Ideal, MASM

JMP <указатель_экземпляра>METHOD{<имя_объекта>:} <имя_метода>{USES{сегментный_регистр:}смещение} Действует аналогично CALL.METHOD, но генерирует вместо ин- струкции CALL инструкцию JMP и очищает стек при наличие в стеке локальных переменных (LOCAL) или переменных в стеке, заданных с помощью USES.

Директива JUMPS Режимы Ideal, MASM

Приводит к тому, что Турбо Ассемблер ищет по целевому адресу инструкцию условного перехода, и если она не может достичь целе- вого смещения с помощью короткого перехода, генерирует условный переход (через обычную инструкцию перехода) с противоположным смыслом, что позволяет достичь целевого адреса. Данная директива имеет тот же эффект, что и использование параметра командной строки /JJUMPS.

Директива LABEL Режимы Ideal, MASM

имя LABEL тип LABEL имя тип Задает для имени идентификатора указанный тип. "Имя" не должно быть определенным в исходном файле ранее. Тип может быть следующим: NEAR, FAR, PROC, BYTE, WORD, DWORD, DATAPTR, CODEPTR, FWORD, PWORD, QWORD, TBYTE или именем структуры.

Директива .LALL Режим MASM

Разрешает листинг всех макрорасширений.

Директива LARGESTACK Режим MASM

Указывает, что стек 32-битовый.

Директива .LFCOND Режим MASM

Выводит в листинге все операторы в условных блоках.

Директива %LINUM Режимы Ideal, MASM

%LINUM размер Задает размер поля номеров строк в листинге (в позициях). По умолчанию это значение равно 4.

Директива %LIST Режимы Ideal, MASM

--------------------------------------------------------------- Выводит в листинге строки исходного кода. Этот режим уста- навливается по умолчанию.

Директива .LIST Режим MASM

Выводит в листинге строки исходного кода. Этот режим уста- навливается по умолчанию.

Директива LOCAL Режимы Ideal, MASM

В макрокомандах: LOCAL идентификатор[,идентификатор]. В процедурах: LOCAL элемент[,элемент].[=идентификатор] Определяет локальные переменные в макрокомандах и процеду- рах. Внутри макроопределения директива LOCAL определяет временные имена идентификаторов, которые при каждом расширении макрокоманды заменяются уникальными именами идентификаторов. Директива LOCAL должна указываться перед всеми другими операторами в макроопреде- лении. В процедуре директива LOCAL определяет имена, которые дос- тупны в стеке через отрицательные смещения относительно регистра BP. Если вы заканчиваете список аргументов знаком равенства (=) и идентификаторов, то этому идентификатору будет присваиваться полный объем блока локальный идентификаторов в стеке в байтах. Каждый "элемент" имеет следующий синтаксис (внутренние квадратные скобки - это литералы): имя_идентиф[[счетчик_1]][:[отладочный_размер][:тип][:счетчик_2]] где "тип" - это тип данных аргумента. Он может быть следующим: BYTE, WORD, DATAPTR, CODEPTR, DWORD, FWORD, PWORD, QWORD, TBYTE, SHORT, NEAR, FAR или именем структуры. Если тип не задан, то под- разумевается тип WORD. "Счетчик_2" задает, сколько элементов данного типа определя- ет идентификатор. Если это значение не задается, то по умолчанию оно равно 1. "Счетчик_2" - это множитель элементов массива. Объем памяти, выделенной для идентификатора, представляет собой произведение "счетчика_2" на длину, заданную полем "тип", и на "счетчик_1". По умолчанию, если значение "счетчика_1" не задается, оно равно 1. Необязательный отладочный размер имеет следующий синтаксис: [тип]PTR

Директива LOCALS Режимы Ideal, MASM

LOCALS [префикс] Разрешает локальные идентификаторы, имена которых начинаются с двух символов @@ или двухсимвольного префикса (если он задан). В режиме Ideal локальные идентификаторы разрешаются автоматически.

Директива MACRO Режимы Ideal, MASM

MACRO имя[параметр[,параметр].] имя MACRO [параметр[,параметр].] Определяет макрокоманду, которая будет впоследствии расши- ряться при обнаружении имени "имя". Вместо "параметра" при вызове макрокоманды вы можете указывать (в данной позиции) значение фак- тического аргумента.

Директива %MACS Режимы Ideal, MASM

Разрешает листинг макрорасширений.

Директива MASM Режимы Ideal, MASM

Задает режим ассемблирования MASM. Этот режим используется Турбо Ассемблером по умолчанию.

Директива MASM51 Режимы Ideal, MASM

Разрешает ассемблирование некоторых улучшений MASM 5.1.

Директива MODEL Режимы Ideal, MASM

MODEL [модификатор_модели] модель_памяти[имя_модуля] [,[модификатор_языка]язык][,модификатор_модели] Задает модель памяти для упрощенных директив определения сегментов. "Модификатор_модели" может указываться перед "моделью памяти или в конце оператора и может (если задается) представлять собой NEARSTACK или FARSTACK. "Модель_памяти" может быть TINY, SMALL, MEDIUM, COMPACT или TCHUGE. "Имя_модуля используется в больших моделях для описания имени сегмента кода. "Модифика- тор_языка" - это WINDOWS, ODDNEAR, ODDFAR или NORMAL. Он задает генерацию записи процедуры MSWindows и код выхода. "Язык" опреде- ляет, из какого языка будет выполняться вызов для доступа к про- цедурам в данном модуле. Это может быть C, PASCAL, BASIC, FORTRAN, PROLOG или NOLANGUAGE (язык не задан). При использовании директив PROC и ENDP Турбо Ассемблер автоматически генерирует со- ответствующие запись процедуры и код выхода. "Язык" также указы- вает Турбо Ассемблеру, какие соглашения об именах должны исполь- зоваться для общедоступных и внешних идентификаторов и в каком порядке аргументы процедуры заносились в стек вызывающим модулем. Кроме того, для удаления аргументов из стека перед возвратом ге- нерируется соответствующая форма инструкции RET.

Директива .MODEL Режим MASM

.MODEL [модификатор_модели] модель_памяти[имя_модуля] [,[модификатор_языка]язык][,модификатор_модели] См. директиву MODEL.

Директива MULTERRS Режимы Ideal, MASM

Разрешает выводить в одной строке исходного кода несколько сообщений об ошибках.

Директива NAME Режимы Ideal, MASM

NAME имя_модуля Задает имя модуля объектного файла. В режиме MASM эта дирек- тива не действует, она работает только в режиме Ideal.

Директива %NEWPAGE Режимы Ideal, MASM

Начинает в файле листинга новую страницу.

Директива %NOCONDS Режимы Ideal, MASM

Запрещает включение в файл листинга операторов условных бло- ков.

Директива %NNOCREF Режимы Ideal, MASM

%NOCREF[идентификатор,.] Запрещает сбор информации для листинга перекрестных ссылок (CREF). Если вы укажете одно или более имен, то перекрестные ссылки будут запрещены только для данных идентификаторов.

Директива %NOCTLS Режимы Ideal, MASM

Запрещает помещение в файл листинга управляющих директив. Турбо Ассемблер использует этот режим по умолчанию.

Директива NOEMUL Режимы Ideal, MASM

Приводит к тому, что все последующие инструкции арифмети- ческого сопроцессора будут генерироваться, как реальные инструк- ции, а не эмулируемые. При выполнении вашей программы должен присутствовать сопроцессор 80х87, иначе эти инструкции не будут правильно работать. В Турбо Ассемблере этот режим ассемблирования с плавающей точкой используется автоматически.

Директива %NOINCL Режимы Ideal, MASM

Запрещает листинг исходного кода включаемых файлов.

Директива NOJUMPS Режимы Ideal, MASM

Запрещает удлинение условных переходов, разрешенное по дирек- тиве JUMPS. Этот режим иcпользуется в Турбо Ассемблере по умол- чанию.

Директива %NOLIST Режимы Ideal, MASM

Запрещает вывод в файл листинга.

Директива NOLOCALS Режимы Ideal, MASM

Запрещает локальные идентификаторы, разрешенные по директиве LOCALS. Для режима MASM Турбо Ассемблера это используется по умолчанию.

Директива %NOMACS Режимы Ideal, MASM

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

Директива NOMASM51 Режимы Ideal, MASM

Запрещает ассемблирование определенных улучшений MAWSM 5.1, разрешенных по директиве MASM51. В Турбо Ассемблере данный режим используется по умолчанию.

Директива NOMULTERRS Режимы Ideal, MASM

Разрешает вывод на одной строке исходного кода только одного сообщения об ошибке. Этот режим вывода сообщений об ошибках ис- пользуется в Турбо Ассемблере по умолчанию.

Директива NOSMART Режимы Ideal, MASM

Запрещает оптимизации кода, при которых генерируется код, отличный от MASM.

Директива %NOSYMS Режимы Ideal, MASM

Запрещает вывод в файл листинга таблицы идентификаторов.

Директива %NOTRUNCS Режимы Ideal, MASM

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

Директива NOWARN Режимы Ideal, MASM

NOWARN [класс_предупреждений] Запрещает вывод предупреждающих сообщений с идентификатором предупреждений "класс_предупреждений", или всех предупреждающих сообщений, если "класс_предупреждений" не задан.

Директива ORG Режимы Ideal, MASM

ORG выражение Устанавливает счетчик инструкций в текущем сегменте в соот- ветствии с адресом, задаваемым "выражением".

Директива %OUT Режим MASM

%OUT текст Выводит текст на экран.

Директива P186 Режимы Ideal, MASM

Разрешает ассемблирования инструкций процессора 80186.

Директива P286 Режимы Ideal, MASM

Разрешает ассемблирование всех инструкций процессора 80286 (включая защищенный режим) и инструкций арифметического сопроцес- сора 80287.

Директива P286N Режимы Ideal, MASM

Разрешает ассемблирование непривилегированных (реальный ре- жим) инструкций процессора 80286 и инструкций арифметического сопроцессора 80287.

Директива P286P Режимы Ideal, MASM

Разрешает ассемблирование всех (включая защищенный режим) инструкций процессора 80286 и инструкций арифметического сопро- цессора 80287.

Директива P287 Режимы Ideal, MASM

Разрешает ассемблирование инструкций арифметического сопро- цессора 80287.

Директива P286 Режимы Ideal, MASM

Разрешает ассемблирование всех (включая защищенный режим) инструкций процессора 386 и инструкций сопроцессора 387.

Директива P386N Режимы Ideal, MASM

Разрешает ассемблирование непривилегированных (реальный ре- жим) инструкций процессора 386 и инструкций арифметического соп- роцессора 80387.

Директива P386P Режимы Ideal, MASM

Разрешает ассемблирование всех (включая защищенный режим) инструкций процессора 386 и инструкций сопроцессора 387.

Директива P387 Режимы Ideal, MASM

Разрешает ассемблирование инструкций арифметического сопро- цессора 387.

Директива P486 Режимы Ideal, MASM

Разрешает ассемблирование всех инструкций процессора i486 (включая защищенный режим).

Директива P486N Режимы Ideal, MASM

Разрешает ассемблирование непривилегированных инструкций процессора i486 (реальный режим).

Директива P8086 Режимы Ideal, MASM

Разрешает ассемблирование только инструкций процессора 8086. В Турбо Ассемблере этот режим используется по умолчанию.

Директива P8087 Режимы Ideal, MASM

Разрешает ассемблирование только инструкций арифметического сопроцессора 8087. В Турбо Ассемблере этот режим назначается по умолчанию.

Директива PAGE Режим MASM

PAGE[строки][,столбцы] Устанавливает высоту и ширину страниц листинга, начинает но- вую страницу. См. описание директивы %PAGESIZE.

Директива %PAGESIZE Режимы Ideal, MASM

%PAGESIZE[строки][,столбцы] Устанавливает высоту и ширину страниц листинга, начинает но- вую страницу. Параметр "строки" задает число строк, которые будут выводиться на страницу листинга (от 10 до 255), параметр "столб- цы" задает ширину страницы в позициях (от 59 до 255). Если пара- метры опущены, их текущие значения остаются без изменения. Если за директивой %PAGESIZE указывается знак +, то начинается новая страница, номер раздела увеличивается, а номер страницы начинает- ся с 1. Директива %PAGESIZE без аргументов вызывает переход на новую страницы, при этом номер раздела не изменяется.

Директива %PCNT Режимы Ideal, MASM

%PCNT размер Устанавливает длину поля "сегмен:смещение" в файле листинга в соответствии с параметром "размер". По умолчанию это значение равно 4 для 16-разрядных сегментов и 8 для 32-разрядных.

Директива PNO87 Режимы Ideal, MASM

Предотвращает ассемблирование инструкций числового сопроцес- сора (реальных или эмулируемых).

Директива %POPLCTL Режимы Ideal, MASM

Сбрасывает параметры управления листингом в значения, кото- рые они имели, когда была дана последняя директива %PUSHLCTL.

Директива PROC Режимы Ideal, MASM

PROC[модификатор_языка][язык] имя [расстояние] [USES элементы,][аргумент[,аргумент].] [RETURNS аргумент[,аргумент].] имя PROC [модификатор_языка][язык][расстояние] [USES элементы,][аргумент[,аргумент].] [RETURNS аргумент [,аргумент].] Определяет начало процедуры с указанным именем. "Модификатор _языка" - это WINDOWS или NOWINDOWS. Он задает генерацию кода входа/выхода MSWindows. "Язык" определяет, из какого языка выпол- няется вызов для доступа к данной процедуре: C, PASCAL, BASIC, FORTRAN, PROLOG или NOLANGUAGE. Этим определяются соглашения по именам идентификатором, порядок аргументов в стеке и то, останут- ся ли аргументы в стеке при возврате управления из процедуры. "Расстояние" - это NEAR или FAR. Оно определяет тип инструкции RET, которая будет ассемблироваться в конце процедуры. "Элемен- ты" - это список регистров и/или элементов данных, состоящих из одной лексемы, которые должны заноситься в стек при входе в про- цедуру и извлекаться из стека при выходе из нее. "Аргумент" опи- сывает аргумент, с которым вызывается процедура. Каждый аргумент имеет следующий синтаксис: имя_аргумента[[счетчик_1]][[:расстояние][PTR]тип][:счетчик_2] где "имя_аргумента" - это имя, которое вы будете использовать для ссылки на данный аргумент в процедуре. "Расстояние" - это NEAR или FAR, оно показывает, что аргумент является указателем задан- ного размера. "Тип" - это тип данных аргумента, оно может предс- тавлять собой BYTE, WORD, DWORD, FWORD, PWORD, QWORD, TBYTE или имя структуры. Если тип не задается, то подразумевается тип WORD. "Счетчик_1" и "счетчик_2" - это число элементов указанного типа. PTR сообщает Турбо Ассемблеру, что нужно включить информацию для отладки. Благодаря этому Турбо отладчик будет знать, что аргумент является указателем на элемент данных. Если использовать PTR без "расстояния", то размер указателя будет основываться на текущей модели памяти и размере адреса сегмента. RETURNS задает один или более аргументов, которые нежелательно извлекать из стека при возврате управления из процедуры.

Директива PUBLIC Режимы Ideal, MASM

PUBLIC [язык] идентификатор [,[язык] идентификатор]. Описывает идентификатор, как доступный из других модулей. Если задан "язык" (C, PASCAL, BASIC, FORTRAN, ASSEMBLER или PROLOG), то идентификатор становится доступным с учетом примене- ния к нему соглашений по именам, принятым в указанном языке.

Директива PUBLICDDL Режимы Ideal, MASM

PUBLICDDL [язык] идентификатор [,[язык] идентификатор]. Описывает идентификаторы, как динамические точки входа из других модулей для компоновки. "Идентификатор" (PROC или метка программы, имя переменной, или числовая константа, определенная с помощью EQU) становится доступной для других программ под управ- лением OS/2. Если задан язык (C, PASCAL, BASIC, FORTRAN, ASSEMBLER или PROLOG), то идентификатор становится общедоступным с учетом применения к нему соглашений по именам, принятым в ука- занном языке.

Директива PURGE Режимы Ideal, MASM

PURGE имя_макрокоманды[,имя_макрокоманды]. Удаляет макроопределение "имя_макрокоманды".

Директива %PUSHLCTL Режимы Ideal, MASM

Сохраняет в 16-уровневом стеке текущие параметры управления листингом.

Директива QUIRKS Режимы Ideal, MASM

Позволяет вам ассемблировать исходный файл, в котором ис- пользуются специфические "странности" MASM.

Директива .RADIX Режим MASM

.RADIX основание Задает основание системы счисления для целочисленных конс- тант (2, 8, 10 или 16).

Директива RADIX Режимы Ideal, MASM

RADIX основание Задает основание системы счисления для целочисленных конс- тант (2, 8, 10 или 16).

Директива RECORD Режимы Ideal, MASM

имя RECORD поле[,поле]. RECORD имя поле[,поле]. Определяет имя записи, которая содержит битовые поля. Каждое поле описывает группу бит в записи, и имеет следующий формат: имя_поля:длина[=выражение] где "имя_поля" - это имя поля в записи. "Длина" (от 1 до 16) за- дает число бит в поле. Если общее число бит во всех полях равно 8 или меньше, то запись будет занимать 1 байт, 9-16 бит будут зани- мать 2 байта, в противном случае запись будет занимать 4 байта. "Выражение" задает для поля значение по умолчанию.

Директива REPT Режимы Ideal, MASM

REPT выражение операторы ENDM Повторяет блок операторов столько раз, сколько задается вы- ражением.

Директива RETCODE Режимы Ideal, MASM

Генерирует ближний (2-байтовое смещение) или дальний (4-бай- товое смещение) возврат, в зависимости от модели памяти, описан- ной в директиве .MODULE. Крохотная (TINY), малая (SMALL) или компактная (COMPACT) модели приводят к ближнему возврату, а сред- няя (MEDIUM), большая (LARGE) и сверхбольшая (HUGE) модели приво- дят к дальнему возврату. Более подробно об этом рассказывается в описании инструкции RET в Главе 4.

Директива RETF Режимы Ideal, MASM

Генерирует возврат из процедуры дальнего (FAR) типа (4-бай- товое смещение). Подробнее об этом рассказывается в Главе 4.

Директива RETN Режимы Ideal, MASM

Генерирует ближний (NEAR) возврат из процедуры (4-байтовое смещение). Подробнее об этом рассказывается в Главе 4.

Директива .SALL Режим MASM

Подавляет листинг всех операторов в макрорасширении.

Директива SEGMENT Режимы Ideal, MASM

SEGMENT имя[выравнивание][комбинирование][использование]['класс'] имя SEGMENT[выравнивание][комбинирование][использование]['класс'] Определяет имя сегмента с полным управлением атрибутом. Если вы уже определили сегмент с этим именем, то данный сегмент ин- терпретируется, как продолжение предыдущего. "Выравнивание" опре- деляет тип границы памяти, где должен начинаться сегмент: BYTE, WORD, DWORD, PARA (по умолчанию) или PAGE. "Комбинирование" опре- деляет, как сегменты с одним и тем же именем, но из различных мо- дулей должны комбинироваться во время компоновки: AT выражение (сегмент помещается по абсолютному адресу параграфа "выражение"), COMMON (данный сегмент и все другие сегменты с этим именем поме- щаются по одному адресу), MEMORY (выполняется конкатенация всех сегментов с одинаковым именем в один непрерывный сегмент), PRIVATE (данный сегмент не комбинируется с другими сегментами; это задается по умолчанию, если аргумент не указывается), STACK (выполняется конкатенация всех сегментов с одним и тем же именем для формирования одного непрерывного сегмента, затем регистр SS инициализируется значением начала сегмента, а SP - длиной сегмен- та) или VIRTUAL (определяется сегмент специального вида, который будет интерпретироваться, как общая область и присоединяться к другому сегменту во время компоновки). "Использование" задает ис- пользуемый по умолчанию для сегмента размер слова (если разрешена генерация кода процессора 386) и может быть USE16 или USE32. "Класс" управляет упорядочиванием сегментов на этапе компоновки. Сегменты с одним и тем же именем класса загружаются в память вместе, независимо от порядка, в котором они следуют в исходном файле.

Директива .SEQ Режим MASM

Задает последовательное упорядочивание сегментов. Этот режим упорядочивания используется Турбо Ассемблером по умолчанию. Ди- ректива .SEQ имеет ту же функцию, что и параметр командной строки /s.

Директива .SFCOND Режим MASM

Предотвращает включение в файл листинга операторов условных блоков с ложным (False) условием.

Директива SIZESTR Режимы Ideal, MASM51

имя SIZESTR строка Выравнивает число символов в строке по имени "имя". Нулевая строка имеет нулевую длину.

Директива SMART Режимы Ideal, MASM

Разрешает все оптимизации кода.

Директива .STACK Режим MASM

.STACK [размер] Определяет начало сегмента стека, выделяя "размер" байт. Ес- ли "размер" не указывается, выделяется 1024 байта.

Директива STACK Режимы Ideal, MASM

STACK [размер] Определяет начало сегмента стека, выделяя "размер" байт. Ес- ли "размер" не указывается, выделяется 1024 байта.

Директива STARTUP Режимы MASM

Обеспечивает код инициализации. Используется только в режиме MASM. Эквивалентна директиве STARTUPCODE.

Директива STARTUPCODE Режимы Ideal, MASM

Обеспечивает код инициализации и отмечает начало программы.

Директива STRUC Режимы Ideal, MASM

имя STRUC поля [имя] ENDS STRUC имя поля ENDS [имя] Определяет структуру с именем "имя", содержащую поля. В каж- дом поле для определения его размера используются обычные дирек- тивы выделения данных (DB, DW и т.д.). Поля могут быть именован- ными или нет. При использовании режима MASM имена полей должны быть уникальными. В режиме Ideal этого не требуется.

Директива SUBSTR Режимы Ideal, MASM

имя SUBSTR строка,позиция[,размер] Определяет новую строку "имя", содержащую символы строки "строка", начиная с указанной позиции длины "размер". Если размер не задан, то имени присваиваются все оставшиеся в строке символы, начиная с "позиции".

Директива SUBTTL Режим MASM

SUBTTL текст Задает подзаголовок файла листинга.

Директива %SUBTTL Режимы Ideal, MASM

%SUBTTL текст Задает подзаголовок файла листинга.

Директива %SYMS Режимы Ideal, MASM

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

Директива %TABSIZE Режимы Ideal, MASM

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

Директива TBLINIT Режимы Ideal, MASM

Инициализирует указатель в объекте на таблицу виртуальных методов.

Директива TBLINST Режимы Ideal, MASM

TBLINST Создает экземпляр таблицы виртуальных методов для текущего объекта и определяет @TableAddr_<объект>. Эта директива должна использоваться после каждого определения объекта, который включа- ет в себя таблицу виртуальных методов, таким образом, таблица виртуальных методов выделяется. Эта директива должны использо- ваться только в одном модуле программы.

Директива TBLPTR Режимы Ideal, MASM

TBLPTR Помещает указатель таблицы виртуальных методов на объект данных. Определяет элемент структуры с именем @Mptr_<объект>. Это можно использовать только в определении объекта.

Директива %TEXT Режимы Ideal, MASM

%TEXT длина Задает длину поля исходного текста в листинге в соответствии с указанным значением.

Директива .TFCOND Режимы MASM

Переключает режим вывода в файл листинга блоков условного ассемблирования.

Директива TITLE Режим MASM

TITLE текст Задает заголовок файла листинга ("текст").

Директива %TITLE Режимы MASM, Ideal

%TITLE "текст" Задает заголовок файла листинга ("текст").

Директива %TRUNC Режимы Ideal, MASM

Усекает слишком длинные поля листинга.

Директива TYPEDEF Режимы Ideal, MASM

TYPEDEF имя_типа сложный тип имя_типа TYPEDEF сложный_тип Определяет именованный тип.

Директива UDATASEG Режимы Ideal, MASM

Определяет начало неинициализированного сегмента данных.

Директива UFARDATA Режимы Ideal, MASM

Определяет начало дальнего неинициализированного сегмента данных.

Директива UNION Режимы Ideal, MASM (QUIRKS запрещается)

UNION имя поля ENDS [имя] имя UNION поля [имя] ENDS Определяет объединение с именем "имя". Объединение анало- гично структуре, но все его элементы имеют нулевое смещение отно- сительно начала объединения. Это позволяет получить набор перек- рывающихся полей, благодаря чему можно ссылаться на определяемую объединением с помощью различных имен и разных размеров данных. Размер объединения соответствует размеру наибольшего элемента, а не равен сумме длин всех элементов, как в структуре. "Поля" опре- деляют поля, составляющие объединение. Каждое поле определяет обычные директивы определения данных (DB, DW и т.д.).

Директива USES Режимы Ideal, MASM

USES элемент[,элемент]. Показывает, какие регистры или элементы данных, состоящие из одной лексемы, вы хотите занести в стек в начале охватывающей процедуры. Перед возвратом управления из процедуры эти регистры будут извлекаться из стека. Вы должны использовать эту директиву перед первой инструкцией, которая генерирует в процедуре реаль- ный код.

Директива VERSION Режимы Ideal, MASM

VERSION <идентификатор_версии> Переводит Турбо Ассемблер в режим работы, соответствующий указанной версии.

Директива WARN Режимы Ideal, MASM

WARN [класс_предупреждений] Разрешает вывод предупреждающих сообщений, тип которых опре- деляется "классом_предупреждений", или всех предупреждающих сооб- щений, если "класс_предупреждений" не задан. "Класс_предупрежде- ний" может быть следующим: ALN, ASS, DRK, ICG,LCO, OPI, OPS, OVF, PDC, PRO, PQR, RES или TPI.

Директива WHILE Режимы Ideal, MASM

WHILE выражение тело_макрокоманды ENDM Повторяет тело макрокоманды, пока "выражение" равно 0 (false).

Директива .XALL Режим MASM

Вызывает вывод в файл листинга только тех макрорасширений, которые генерируют код или данные.

Директива .XCREF Режим MASM

Запрещает сбор информации для листинга перекрестных ссылок (CREF).

Директива .XLIST Режим MASM

Запрещает последующий вывод в файл листинга.
                              Назад | Содержание | Вперед

 

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...