Компилятор поддерживает ряд операторов которые перечислены в таблице (чем выше положение в таблице, тем выше приоритет оператора). Выражения могут заключаться в круглые скобки, такие выражения вычисляются перед выражениями за скобками.
| Приоритет
| Символ
| Описание
|
|
| !
| Логическое отрицание
|
|
| ~
| Побитное отрицание
|
|
| -
| Минус
|
|
| *
| Умножение
|
|
| /
| Деление
|
|
| +
| Суммирование
|
|
| -
| Вычитание
|
|
| <<
| Сдвиг влево
|
|
| >>
| Сдвиг вправо
|
|
| <
| Меньше чем
|
|
| <=
| Меньше или равно
|
|
| >
| Больше чем
|
|
| >=
| Больше или равно
|
|
| ==
| Равно
|
|
| !=
| Не равно
|
|
| &
| Побитное И
|
|
| ^
| Побитное исключающее ИЛИ
|
|
| |
| Побитное ИЛИ
|
|
| &&
| Логическое И
|
|
| ||
| Логическое ИЛИ
|
Логическое отрицание
Символ: !
Описание: Возвращает 1 если выражение равно 0, и наоборот
Приоритет: 14
Пример: ldi r16, !0xf0 ; В r16 загрузить 0x00
Побитное отрицание
Символ: ~
Описание: Возвращает выражение в котором все биты проинвертированы
Приоритет: 14
Пример: ldi r16, ~0xf0 ; В r16 загрузить 0x0f
Минус
Символ: -
Описание: Возвращает арифметическое отрицание выражения
Приоритет: 14
Пример: ldi r16,-2 ; Загрузить -2(0xfe) в r16
Умножение
Символ: *
Описание: Возвращает результат умножения двух выражений
Приоритет: 13
Пример: ldi r30, label*2
Деление
Символ: /
Описание: Возвращает целую часть результата деления левого выражения на правое
Приоритет: 13
Пример: ldi r30, label/2