В программе на ассемблере можно
Регистровый операнд — это просто имя регистра. В программе на ассемблере можно использовать имена всех регистров общего назначения и большинства системных регистров.
mov al,4 ;константу 4 заносим в регистр al mov dl,pass+4 ;байт по адресу pass+4 в регистр dl add al,dl ;команда с регистровыми операндами
|
Базовый и индексный операнды. Этот тип операндов используется для реализации , или их и .
Структурные операнды используются для доступа к конкретному элементу сложного типа данных, называемого .
Записи (аналогично структурному типу) используются для доступа к битовому полю некоторой .
Операнды являются элементарными компонентами, из которых формируется часть машинной команды, обозначающая объекты, над которыми выполняется операция.
В более общем случае операнды могут входить как составные части в более сложные образования, называемые выражениями.
Выражения представляют собой комбинации операндов и операторов, рассматриваемые как единое целое.
Результатом вычисления выражения может быть адрес некоторой ячейки памяти или некоторое константное (абсолютное) значение.
Возможные типы операндов мы уже рассмотрели. Перечислим теперь возможные типы операторов ассемблера и синтаксические правила формирования выражений ассемблера.
В приведены поддерживаемые языком ассемблера операторы и перечислены их приоритеты. Дадим краткую характеристику операторов:
Арифметические операторы. К ним относятся:
унарные “+” и “–”;
бинарные “+” и “–”;
умножения “*”;
целочисленного деления “/”;
получения остатка от деления “mod”.
Эти операторы расположены на уровнях приоритета 6, 7, 8 в . Например,
tab_size equ 50 ;размер массива в байтах size_el equ 2 ;размер элементов … ;вычисляется число элементов массива и заносится в регистр cx mov cx,tab_size / size_el ;оператор “/”
|
Рис. 5. Синтаксис арифметических операций
Операторы сдвига выполняют сдвиг выражения на указанное количество разрядов (рис. 6). Например,
Содержание Назад Вперед