Часть 2. Операции
В данной части в соответствии с их старшинством описываются
операции Турбо Ассемблера. В двух приведенных ниже таблицах стар-
шинство операций режимов Ideal и MASM определяется более подробно
Старшинство операций в режиме Ideal
В следующем списке операции указаны в соответствии с их при-
оритетом (начиная с наивысшего приоритета):
- (), [], LENGTH, MASK, OFFSET, SEG, SIZE, WIDTH
- HIGH, LOW
- +, - (унарные)
- *, /, MOD, SHL, SHR
- +, - (бинарные)
- EQ, GE, GT, LE, LT, NE
- NOT
- AND
- OR, XOR
- : (переопределение сегмента)
- . (выбор элемента структуры)
- HIGH (перед указателем), LARGE, LOW, (перед указателем),
PTR, SHORT, SMALL, SYMTYPE
Старшинство операций в режиме MASM
- <, (), [], LENGTH, MASK, SIZE, WIDTH
- . (операция выбора элемента структуры)
- HIGH, LOW
- +, - (унарные)
- : (переопределение сегмента)
- OFFSET, PTR, SEG, THIS, TYPE
- *, /, MOD, SHL, SHR
- +, - (бинарные)
- EQ, GE, GT, LE, LT, NE
- NOT
- NOT
- OR, XOR
- LARGE, SHORT, SMALL, .TYPE
Операции
Ниже в алфавитном порядке приводятся все операции TASM.
Операция () Режимы Ideal, MASM
(выражение)
Выделяет выражение для приоритетного вычисления.
Операция * Режимы Ideal, MASM
выражение_1 * выражение_2
Перемножает два целочисленных выражения. Использует также
режимы адресации процессора 80386 (когда одно выражение находится
в регистре).
Операция + (бинарная) Режимы Ideal, MASM
выражение_1 + выражение_2
Выполняет сложение двух выражений.
Операция + (унарная) Режимы Ideal, MASM
+выражение
Указывает, что выражение является положительным.
Операция - (бинарная) Режимы Ideal, MASM
выражение_1 - выражение_2
Выполняет вычитание двух выражений.
Операция - (унарный) Режимы Ideal, MASM
-выражение
Изменяет знак выражения.
Операция . Режимы Ideal, MASM
указатель_элемента.имя_поля
Выбирает элемент структуры.
Операция / Режимы Ideal, MASM
выражение_1/выражение_2
Выполняет деление двух целочисленных выражений.
Операция : Режимы Ideal, MASM
сегмент_или_группа:выражение
Генерирует переопределение сегмента или группы.
Операция ? Режимы Ideal, MASM
Dx ?
Выполняет инициализацию с неопределенными данными (где Dx -
это DB, DD, DF, DP, DQ, DT или DW).
Операция [] Режимы Ideal, MASM
выражение_1[выражение_2]
[выражение_1][выражение_2]
Режим MASM: Операция [] может использоваться для задания
сложения или косвенных операндов в памяти.
Режим Ideal: Операция [] задает ссылку на память.
Операция AND Режимы Ideal, MASM
выражение_1 AND выражение_2
Выполняет для двух выражений поразрядную логическую операцию
AND (И).
Операция BYTE Режим Ideal
BYTE выражение
Приводит адресное выражение к размеру в байт.
Операция BYTE PTR Режимы Ideal, MASM
BYTE PTR выражение
Приводит адресное выражение к размеру в байт.
Операция CODEPTR Режимы Ideal, MASM
CODEPTR выражение
Возвращает используемый по умолчанию размер адреса процеду-
ры.
Операция DATAPTR Режим Ideal
Приводит адресное выражение к размеру, зависящему от модели.
Операция DUP Режимы Ideal, MASM
счетчик DUP (выражение[,выражение].)
Повторяет операцию выделения памяти для данных столько раз,
сколько задано значением "счетчик".
Операция DWORD Режим Ideal
DWORD выражение
Приводит адресное выражение к размеру в двойное слово.
Операция DWORD PTR Режимы Ideal, MASM
DWORD PTR выражение
Приводит адресное выражение к размеру в двойное слово.
Операция EQ Режимы Ideal, MASM
выражение_1 EQ выражение_2
Возвращает значение True, если выражения равны.
Операция FAR Режим Ideal
FAR выражение
Приводит к тому, что адресные выражения будут дальними ука-
зателями.
Операция FAR PTR Режимы Ideal, MASM
FAR PTR выражение
Приводит к тому, что адресные выражения будут дальними ука-
зателями.
Операция FASTIMUL Режимы Ideal, MASM
FASTIMUL <регистр_приемник>,<регистр/память_источник>,<значение>
Генерирует код, который перемножает регистр или адрес в па-
мяти на значение и помещает его в целевой регистр.
Операция FLIPFLAG Режимы Ideal, MASM
См. синтаксис инструкции процессора XOR.
Оптимизированная форма инструкции XOR, которое выполняет по-
разрядное дополнение с помощью максимально коротких инструкций.
Используется только в том случае, если содержимое регистров фла-
гов значения не имеет.
Операция FWORD Режим Ideal
FWORD выражение
Приводит к тому, что адресные выражения будут иметь размер
32-разрядных дальних указателей.
Операция FWORD PTR Режимы Ideal, MASM
FWORD PTR выражение
Приводит к тому, что адресные выражения будут иметь размер
32-разрядных дальних указателей.
Операция GE Режимы Ideal, MASM
выражение_1 GE выражение_2
Возвращает значение True, если одно выражение больше или
равно другому.
Операция GETFIELD Режимы Ideal, MASM
GETFIELD <имя_поля><регистр_приемник>,<регистр/память_источник>
Генерирует код, который извлекает значение поля из регистра
или адреса памяти и устанавливает в это значение приемник.
Операция GT Режимы Ideal, MASM
выражение_1 GT выражение_2
Возвращает значение True, если одно выражение больше друго-
го.
Операция HIGH Режимы Ideal, MASM
HIGH выражение
Возвращает старшую часть (8 бит размера типа) выражения.
Операция HIGH Режим Ideal
тип HIGH выражение
Возвращает старшую часть (8 бит размера типа) выражения.
Операция LARGE Режимы Ideal, MASM
LARGE выражение
Задает для смещения выражения размер 32 бита. В режиме Ideal
эта операция допустима только в том случае, если разрешена гене-
рация кода процессора 80386.
Операция LE Режимы Ideal, MASM
выражение_1 LE выражение_2
Возвращает значение True, если одно выражение меньше или
равно другому.
Операция LENGTH Режимы Ideal, MASM
LENGTH имя
Возвращает число элементов данных, выделенных для имени.
Операция LOW Режимы Ideal, MASM
LOW выражение
Возвращает младшую часть (8 бит или размер типа) выражения.
Операция LOW Режим Ideal
тип LOW выражение
Возвращает младшую часть (8 бит или размер типа) выражения.
Операция LT Режимы Ideal, MASM
выражение_1 LT выражение_2
Возвращает значение True, если одно выражение меньше друго-
го.
Операция MASK Режимы Ideal, MASM
MASK имя_поля_записи
MASK запись
Возвращает битовую маску для поля записи или всей записи.
Операция MAKEFLAG Режимы Ideal, MASM
См. синтаксис инструкции процессора AND.
Оптимизированная форма инструкции AND, которая очищает биты
с помощью максимально короткой инструкции. Используется только в
том случае, если регистры флагов значения не имеют.
Операция MOD Режимы Ideal, MASM
выражение_1 MOD выражение_2
Возвращает остаток от деления двух выражений.
Операция NE Режимы Ideal, MASM
выражение_1 NE выражение_2
Возвращает значение True, если одно выражение не равно дру-
гому.
Операция NEAR Режимы Ideal, MASM
NEAR выражение
Приводит к тому, что адресное выражение будет ближним указа-
телем на код.
Операция NEAR PTR Режимы Ideal, MASM
NEAR PTR выражение
Приводит к тому, что адресное выражение будет ближним указа-
телем на код.
Операция NOT Режимы Ideal, MASM
NOT выражение
Выполняет поразрядное дополнение (инвертирование) выражения.
Операция OFFSET Режимы Ideal, MASM
OFFSET выражение
Возвращает смещение выражения в текущем сегменте (или в группе,
которой принадлежит сегмент, если используются упрощенные директивы
определения сегментов или режим Ideal).
Операция OR Режимы Ideal, MASM
выражение_1 OR выражение_2
Выполняет для двух выражений поразрядную логическую операцию
ИЛИ.
Операция PROC Режим Ideal
PROC выражение
Приводит к тому, что адресное выражение будет представлять
собой ближний или дальний указатель на код.
Операция PROC PTR Режимы Ideal, MASM
PROC PTR выражение
Приводит к тому, что адресное выражение будет представлять
собой ближний или дальний указатель на код.
Операция PTR Режимы Ideal, MASM
тип PTR выражение
Приводит к тому, что адресное выражение будет иметь размер
типа.
Операция PWORD Режим Ideal
PWORD выражение
Приводит к тому, что адресное выражение будет иметь размер
32-разрядного дальнего указателя.
Операция PWORD PTR Режимы Ideal, MASM
PWORD PTR выражение
Приводит к тому, что адресное выражение будет иметь размер
32-разрядного дальнего указателя.
Операция QWORD Режим Ideal
QWORD выражение
Приводит к тому, что адресное выражение будет иметь размер
четверного слова.
Операция QWORD PTR Режимы Ideal, MASM
QWORD PTR выражение
Приводит к тому, что адресное выражение будет иметь размер
четверного слова.
Операция SEG Режимы Ideal, MASM
SEG выражение
Возвращается адрес сегмента выражения со ссылкой на память.
Операция SETFIELD Режимы Ideal, MASM
SETFIELD<имя_поля><регистр/память_приемник>,<регистр_источник>
Генерирует код, присваивающий значение полю записи. Устанав-
ливает значение поля (целевой регистр или адрес памяти) в соот-
ветствии с содержимым регистра-источника.
Операция SETFLAG Режимы Ideal, MASM
См. синтаксис инструкции процессора OR.
Оптимизированная форма инструкции OR, которая устанавливает
биты с помощью максимально короткой инструкции. Используется
только в том случае, если регистры флагов значения не имеют.
Операция SHL Режимы Ideal, MASM
выражение SHL счетчик
Сдвигает выражение влево на число бит, заданных счетчиком.
Отрицательное значение счетчика задает сдвиг данных в противопо-
ложном направлении.
Операция SHORT Режимы Ideal, MASM
SHORT выражение
Приводит к тому, что выражение будет указателем на код ко-
роткого типа (в границах -128 до +127 байт от текущего адреса
программы).
Операция SHR Режимы Ideal, MASM
Сдвигает значение выражения вправо на число бит, заданных
значением счетчика. Отрицательное значение приводит к тому, что
данные будут сдвигаться в противоположную сторону.
Операция SIZE Режимы Ideal, MASM
SIZE имя
Возвращает размер элемента данных, выделенного для перемен-
ной с указанным именем. В режиме MASM операция SIZE возвращает
значение LENGTH имя, умноженное на TYPE имя. В режиме Ideal опе-
рация SIZE возвращает значение счетчика байт, указанное в опера-
ции DUP для имени.
Операция SMALL Режимы Ideal, MASM
SMALL выражение
Задает для смещения выражения размер 16 бит. В режиме Ideal
данная операция допустима только в том случае, если разрешена ге-
нерация кода для процессора 80386.
Операция SYMTYPE Режим Ideal
SYMTYPE
Возвращает байт, описывающий выражение.
Операция TBYTE Режим Ideal
TBYTE выражение
Приводит к тому, что адресное выражение будет иметь 10-бай-
товый размер.
Операция TBYTE PTR Режим Ideal, MASM
Приводит к тому, что адресное выражение будет иметь 10-бай-
товый размер.
Операция TESTFLAG Режимы Ideal, MASM
См. синтаксис инструкции процессора TEST.
Оптимизированная форма инструкции TEST, которая проверяет
биты с помощью максимально короткой инструкции.
Операция THIS Режим Ideal, MASM
THIS тип
Создает операнд, адресом которого будет текущий сегмент и
счетчик адреса. Тип описывает размер операнда и то, представляет
ли он собой код или данные.
Операция .TYPE Режим MASM
.TYPE выражение
Возвращает байт, описывающий режим и область действия выра-
жения.
Операция TYPE Режим Ideal
TYPE имя_1 имя_2
Применяет тип существующей переменной или элемента структуры
к другой переменной или элементу структуры.
Операция TYPE Режим MASM
Возвращает число, указывающее размер или тип выражения.
Операция UNKNOWN Режим Ideal
UNKNOWN выражение
Удаляет из адресного выражения информацию о типе.
Операция WIDTH Режим Ideal, MASM
WITH имя_поля_записи
WITH запись
Возвращает длину поля записи или всей записи в битах.
Операция WORD Режим Ideal
WORD выражение
Приводит к тому, что адресное выражение будет иметь размер в
слово.
Операция WORD PTR Режимы Ideal, MASM
WORD PTR выражение
Приводит к тому, что адресное выражение будет иметь размер в
слово.
Операция XOR Режимы Ideal, MASM
выражение_1 XOR выражение_2
Выполняет для двух выражений поразрядную логическую операцию
"исключающее ИЛИ". Для форматной печати включается безусловный
перевод страницы.
Специальные макрооперации
Операция & Режимы Ideal, MASM
& имя
Подставляет фактическое значение параметра макрокоманды
"имя".
Операция <> Режимы Ideal, MASM
Интерпретирует текст, как литерал, независимо от возможно
содержащихся в нем специальных символов.
Операция ! Режимы Ideal, MASM
!символ
Интерпретирует символ, как литерал, независимо от специаль-
ного значения, которое он может иметь.
Операция % Режимы Ideal, MASM
%текст
Интерпретирует текст, как выражение, вычисляет его значение
и заменяет текст полученным результатом. Текстом может быть либо
числовое выражение, либо текстовое присваивание.
Операция ;; Режимы Ideal, MASM
;комментарий
Подавляет для комментария в макроопределении выделение памя-
ти.
Назад | Содержание | Вперед