КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
XOR - команда логического исключающего сложения ИЛИ над битами операндов приемник и источник. Формат команды: 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. Например,
SHL – команда логического сдвига влево сдвигает содержимое операнда влево на количество битов, определяемое значением счетчик_сдвигов. Справа (в позицию младшего бита) записываются нули. SHL операнд, счетчик_сдвигов SHR -команда логического сдвига вправо сдвигает содержимое операнда вправо на количество битов, определяемое значением счетчик_сдвигов. Слева (в позицию старшего бита) записываются нули. SHR операнд, счетчик_сдвигов SAL– команда арифметического сдвига влево сдвигает содержимое операнда влево на количество битов, определяемое значением счетчик_сдвигов. Справа (в позицию младшего бита) записываются нули.
|