Справочник по языку Ассемблера IBM PC



       

Синтаксис ассемблера - часть 6


Регистровый операнд — это просто имя регистра. В программе на ассемблере можно использовать имена всех регистров общего назначения и большинства системных регистров.

     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). Например,




Содержание  Назад  Вперед