Flag equ 10010011b
Je m1
Cmp al,0
Tab equ 30
Mask equ 10111011b
mov al, mask shr 3 ; Результат в регистре al = 00010111
v Операторы сравнения – предназначены для формирования логических выражений.
Формат оператора:
<Выражение 1> <Оператор> <Выражение 2>
Операторы сравнения:
eq – равно
ne – не равно
le<=
gt> для операндов со знаками
ge >=
lt <
Результат сравнения «истина» соответствует логической единице, а «лож» - логическому нулю. Логическая единица отображается значением, все биты которого равны 1 (0FFh), логический ноль – значением, все биты которого равны нулю (00h).
Пример:
mov al, tab ge 50 ; al = 00h – ложь
….
m1:
В примере оператор проверяет константу tab (больше или равна числу 50). Т.к. результат сравнения – «лож», то управление с помощью команды условного перехода передается на метку m1.
v Логическиеоператоры not, and, or, xor выполняют над выражениями поразрядные операции.
Формат операторов:
not <Выражение>
[not] <Выражение > < > [not] <Выражение >
Пример:
mov al, Flag xor 01b ;Результат в al = 10010010b
v Индексный оператор – используется при индексной адресации. Транслятор выполняет сложение операнда, указанного в скобках с операндом вне скобок (происходит обращение по вычисленному адресу).
Пример