Возможные типы операторов ассемблера и синтаксические правила формирования выражений ассемблера.
- Арифметические операторы
- Операторы сдвига
- Операторы сравнения
- Логические операторы
- Индексный оператор
- Оператор переопределения типа
- Оператор переопределения сегмента
- Оператор именования типа структуры
- Оператор получения сегментной составляющей адреса выражения
- Оператор получения смещения выражения
– Арифметические операторы. К ним относятся:
- унарные “+” и “–”;
- бинарные “+” и “–”;
- умножения “*”;
- целочисленного деления “/”;
- получения остатка от деления “mod”.
Эти операторы расположены на уровнях приоритета 6, 7, 8,
tab_size equ 50 ;размер массива в байтахsize_el equ 2 ;размер элементов;вычисляется число элементов массива и заносится в регистр cx mov cx,tab_size / size_el ;оператор “/”Операторы сдвига выполняют сдвиг выражения на указанное количество разрядов, mask_b equ 10111011 mov al,mask_b shr 3 ;al=00010111 – Логические операторы выполняют над выражениями побитовые операции. Выражения должны быть абсолютными, то есть такими, численное значение которых может быть вычислено транслятором.
flags equ 10010011 mov al,flags xor 01h ;al=10010010;пересылка в al поля flags с ;инвертированным правым битом – Индексный оператор [ ]транслятор их наличие воспринимает как указание сложить значение выражение_1 за этими скобками с выражение_2, заключенным в скобки
mov ax,mas[si] ;пересылка слова по адресу mas+(si) в регистр ax
– Оператор получения смещения выражения offset позволяет получить значение смещения выражения в байтах относительно начала того сегмента, в котором выражение определено
datapole dw 5....code... mov ax,seg pole
mov es,ax
mov dx,offset pole ;теперь в паре es:dx полный адрес pole