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 Индексный оператор – используется при индексной адресации. Транслятор выполняет сложение операнда, указанного в скобках с операндом вне скобок (происходит обращение по вычисленному адресу).

Пример