asm
inc BYTE PTR [100H]
imul WORD PTR [100H]
end;
Таблица 22.2 суммирует предопределенные типы символов, которые встроенный Ассемблер предоставляет в дополнение к типа Паскаля.
Таблица 22.2 Предопределенные типы символов.
-------------------------------Символ Тип
-------------------------------BYTE 1
WORD 2
DWORD 4
QWORD 8
TBYTE 10
NEAR 0FFFEH
FAR 0FFFFH
-------------------------------Заметим, что псевдотипы NEAR и FAR используются для указания модели вызова процедур и функций. Вы можете использовать NEAR и FAR
в приведении типов точно так же, как другие символы. Например, если
FarProc - FAR процедура
procedure FarProc; far;
и, если Вы пишете ассемблерный код в том же модуле, что и
FarProc, Вы можете использовать более эффективный NEAR вызов:
asm
push cs
call NEAR PTR FarProc
end;
Операторы выражений.
Встроенный Ассемблер предоставляет операторы, разделенные на
12 классов по приоритетам. Таблица 22.3 приводит операторы встроенного Ассемблера в порядке уменьшения их приоритета.
Таблица 22.3. Операторы выражений встроенного Ассемблера.
------------------------------------------------------------------Оператор Комментарий
------------------------------------------------------------------& Оператор перекрытия идентификатора
() Селектор элемента структуры
[]
.
HIGH LOW
+ - Унарные операторы
: Оператор перекрытия сегмента
OFFSET SEG TYPE PTR *
/ MOD SHL SHR
+ - Бинарные операторы
NOT AND OR XOR Побитовые операторы
------------------------------------------------------------------Примечание: Приоритет операторов встроенного Ассемблера отличается от Паскаля. Например, в ассемблерном выражении оператор
AND имеет меньший приоритет, чем операторы + и -, а в Паскале наоборот.
&
Перекрытие идентификатора. Идентификатор, следующий за &
интерпретируется как символ, определенный пользователем, даже если он совпадает с зарезервированным словом встроенного Ассемблера.
(...)
Подвыражение. Выражения внутри () вычисляются до интерпретации как элемент выражения. Другое выражение может предшествовать выражению внутри (); результат в этом случае становится суммой значений двух выражений с типом первого выражения.
[...]
Ссылка на память. Выражение внутри [] полностью вычисляется до интерпретации, как один элемент выражения. Выражение внутри []
может быть комбинировано с регистрами BX, BP, SI, DI, используя оператор + для указания индексации. Другое выражение может предшествовать выражению в []; результат становится суммой значений двух выражений с типом первого выражения. Результат всегда ссылка на память.
"."
Селектор элемента структуры. Результат - сумма выражения до точки и выражения после точки с типом выражения после точки.
Символы, лежащие в сфере действия, определяемой выражением до точки, могут использоваться в выражении после точки.
HIGH
Возвращает старшие 8 бит выражения типа слово, следующего за оператором. Выражение должно быть абсолютным непосредственным значением.
LOW
Возвращает младшие 8 бит выражения типа слово, следующего за оператором. Выражение должно быть абсолютным непосредственным значением.
"+"
Унарный плюс. Возвращает выражение, следующее за +, без изменений. Выражение должно быть абсолютным непосредственным значением.
"-"
Унарный минус. Возвращает выражение, следующее за -, с отрицательным значением. Выражение должно быть абсолютным непосредственным значением.
":"
Перекрытие сегмента. Указывает Ассемблеру, что выражение после
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.