Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


XOR - команда логического исключающего сложения ИЛИ над битами операндов приемник и источник. Формат команды: XOR приемник, источник




Результат вычисляется в соответствии с таблицей истинности логических операций:

Приемник Источник AND OR XOR

TEST –(“test – проверить”) команда логического сравнения посредством логического умножения И (конъюнкция) над битами операндов приемник и источник, но состояние операндов остается прежним, изменяются только флаги zf, sf, и pf, что дает возможность анализировать состояние отдельных битов операнда без изменения их состояния.

Формат команды: TEST приемник, источник

NOT -команда логического отрицания каждого бита операнда источник.

Формат команды: NOT источник. Команда инвертирует все биты операнда источник: из 1 в 0, из 0 в 1. Выполнение команды не влияет на флаги.

Примеры.

1. mov AL, 1111 0000b 2. mov AL, 1111 0000b 3. mov AL, 1111 0000b

and AL, 1010 1010b or AL, 1010 1010b xor AL, 1010 1010b

; результат 1010 0000b ; результат 1111 1010b ; результат 0101 1010b

4. mov AL, 11110000b 5. ; проверить число на четность

not AL ; AL=00001111b test AL, 0000 0001b

jz m

… ; число нечетное

m: ; число четное

Из примеров видно, что команда AND может сбрасывать в 0 биты приемника, соответствующие нулевым битам источника, команда OR - устанавливать в 1 биты приемника, соответствующие единичным битам источника, а команда XOR – инвертировать биты приемника, соответствующие единичным битам источника.

Команды сдвига.

По принципу действия команды сдвига можно разделить на два типа:

- команды линейного (логического SHL, SHR или арифметического SAL, SAR) сдвига;

- команды циклического (простого ROL, ROR и через флаг переноса RCL, RCR) сдвига.

Все команды сдвига перемещают биты в поле операнда влево или вправо в зависимости от кода операции. Все команды сдвига имеют одинаковый формат: первым операндом является операнд-источник, вторым операндом является количество сдвигов. Количество сдвигов либо указывается непосредственно в команде, либо перед выполнением команды сдвига заносится в регистр CL. Например,

  MOV CL,4 .386
SHL AX,1 SHL AX,CL SHL AX,4 (для старших процессоров)

SHL – команда логического сдвига влево сдвигает содержимое операнда влево на количество битов, определяемое значением счетчик_сдвигов. Справа (в позицию младшего бита) записываются нули.

SHL операнд, счетчик_сдвигов

SHR -команда логического сдвига вправо сдвигает содержимое операнда вправо на количество битов, определяемое значением счетчик_сдвигов. Слева (в позицию старшего бита) записываются нули.

SHR операнд, счетчик_сдвигов

SAL– команда арифметического сдвига влево сдвигает содержимое операнда влево на количество битов, определяемое значением счетчик_сдвигов. Справа (в позицию младшего бита) записываются нули.


Поделиться:

Дата добавления: 2015-09-15; просмотров: 148; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты