Арифметические операторы. К ним относятся унарные операторы + и —, бинарные + и —, операторы умножения *, целочисленного деления /, получения остатка от деления mod. Например,
size equ 48 ;размер массива в байтах
el equ 4 ;размер элемента
;вычисляется количество элементов
mov ecx, size / el ;оператор /
Операторы сдвига выполняют сдвиг выражения на указанное количество разрядов. Например,
msk equ 10111011 ; константа
mov al, msk shr 3 ; al=00010111 /
Операторы сравнения (возвращают значение истина или ложь) предназначены для формирования логических выражений. Логическое значение истина соответствует логической единице, а ложь – логическому нулю. Логическая единица – значение бита равное 1, логический ноль – значение бита, равное 0.
size equ 30 ;размер таблицы
…
mov al, tab_size ge 50 ;al = 0
cmp al, 0 ;если size < 50, то
je m1 ;переход на m1
…
m1: …
Если значение size больше или равно 50, то результат в аl равен 1, в противном случае — 0. Команда cmp сравнивает значение аl с нулем и устанавливает соответствующие флаги в EFLAGS. Команда je на основе анализа этих флагов передает или не передает управление на метку m1.
Назначение операторов сравнения приведено в таблице
Оператор
|
Условие
|
eq
|
==
|
ne
|
!=
|
lt
|
<
|
le
|
<=
|
gt
|
>
|
ge
|
>=
|
Do'stlaringiz bilan baham: |