Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Отрицание:NOT ор



Допустимые типы операнда: r8, m8, r1б, m16. Эта команда меняет значение каждого бита операнда на противоположное: 0 на 1 и 1 на 0; результат записывается на место операнда. Например:

MOV AL,1100b;AL=00001100b

NOT AL;AL=11110011b

Конъюнкция (логическое умножение): AND op1,op2

В этой команде допустимы следующие комбинации операндов:

Ор1 ор2

r8 i8, r8, m8

m8 i8,r8

r16 il6, rl6, ml6

m16 il6, rl6

Команда производит поразрядное логическое умножение операндов и записы-вает результат на место первого операнда, i-й бит результата равен 1, только если i-e биты обоих операндов равны 1, и равен 0, если хотя бы в одном операнде i-й бит нулевой (см. таблицу). Например:

MOV AL,1100b;AL=00001100b

AND AL,1010b;AL=00001000b

X Y x and y x xor y x or y
         
         
         
         

Проверка: TEST opl,op2

Это аналог команды AND, но результат логического умножения никуда не записывается. Главное в команде TEST - установка флагов. Как уже было сказано, в логических командах интерес представляет только флаг нуля ZF. Так вот, он равен 1, если в результате логического умножения получился нулевой ответ, и равен 0, если в ответе есть хотя бы одна двоичная 1.

Примеры:

MOV BH,1100b

TEST BH,0011b;= 00000000b -> ZF=1

TEST BH,1010b;= 00001000b -> ZF=0

Команда TEST обычно применяется для проверки, являются ли нулевыми какие-то разряды операнда. Например, сделать переход на метку L в случае, если правые три бита регистра АХ нулевые, можно так:

TEST AX,111b

JZ L





Дата публикования: 2014-12-08; Прочитано: 279 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...