Assembler
•Структурные операнды используются для доступа к конкретному элементу сложного типа данных, называемого структурой.
•Записи (аналогично структурному типу) используются для доступа к битовому полю некоторой записи.
Операнды являются элементарными компонентами, из которых формируется часть машинной команды, обозначающая объекты, над которыми выполняется операция.
В более общем случае операнды могут входить как составные части в более сложные образования, называемые выражениями.
Выражения представляют собой комбинации операндов и операторов, рассматриваемые как единое целое.
Результатом вычисления выражения может быть адрес некоторой ячейки памяти или некоторое константное (абсолютное) значение.
Возможные типы операндов мы уже рассмотрели. Перечислим теперь возможные типы операторов ассемблера и синтаксические правила формирования выражений ассемблера.
Арифметические операторы Операторы сдвига Операторы сравнения Логические операторы Индексный оператор Оператор переопределения типа Оператор переопределения сегмента Оператор именования типа структуры Оператор получения сегментной составляющей адреса выражения Оператор получения смещения выражения
В табл. 2 приведены поддерживаемые языком ассемблера операторы и перечислены их приоритеты. Дадим краткую характеристику операторов:
•Арифметические операторы. К ним относятся:
oунарные "+" и "-";
oбинарные "+" и "-";
oумножения "*";
oцелочисленного деления "/";
oполучения остатка от деления "mod".
Эти операторы расположены на уровнях приоритета 6, 7, 8 в табл. 2. Например,
tab_size equ 50 ;размер массива в байтах
size_el equ 2 ;размер элементов
:
;вычисляется число элементов массива и заносится в
регистр cx
mov cx,tab_size / size_el ;оператор "/"
•Рис. 5. Синтаксис арифметических операций