ВУЗ:
Составители:
24
Команды работы с битами
Команды работы с битами могут быть разбиты на три группы:
логические команды, команды сдвига и команды циклического сдвига.
Логические операции
NOT Инверсия байта или слова
AND Операция “И” над байтами или словами
OR Операция “ИЛИ” над байтами или словами
XOR Операция “ИСКЛЮЧ. ИЛИ” над байтами или словами
TEST Проверка байта или слова
Команды сдвига
SHL/SAL Логический/арифметич. сдвиг влево байта или слова
SHR Логический сдвиг вправо байта или слова
SAR Арифметический сдвиг вправо байта или слова
Команды циклического сдвига
ROL Циклический сдвиг влево байта или слова
ROR Циклический сдвиг вправо байта или слова
RCL Цикл. сдвиг влево байта или слова через разряд переноса
RCR Цикл. сдвиг вправо байта или слова через разр. переноса
Логические операции
К логическим операциям относятся булевы операции "НЕ", "И",
"ИЛИ" и "ИСКЛЮЧАЮЩЕЕ ИЛИ". Кроме того к ним относится также
команда "ТЕСТ", которая устанавливает флаги, но не изменяет ни одного
из операндов.
Команды AND ("И"), OR ("ИЛИ"), XOR ("ИСКЛЮЧАЮЩЕЕ ИЛИ")
и TEST ("ТЕСТ") воздействуют на флаги следующим образом:
Флаги переполнения (OF) и переноса (CF) после
логических
операций всегда сброшены, а флаг дополнительного переноса (AF) всегда
неопределен.
Флаги знака (SF), нуля (ZF) и четности (PF) всегда отражают
результат логической операции и могут быть проверены последующей
командой условного перехода. Интерпретация этих флагов такая же, как и
после выполнения арифметических операций. Флаг знака (SF) взводится
при единичном старшем бите результата и сбрасывается – при нулевом
.
Флаг нуля (ZF) взводится при нулевом результате операции и
сбрасывается в противном случае. Флаг четности (PF) взводится, если
младший байт результата имеет четное число единиц, и сбрасывается при
нечетном числе единиц.
Внимание! Операция NOT ("НЕ") не влияет на флаги.
24
Команды работы с битами
Команды работы с битами могут быть разбиты на три группы:
логические команды, команды сдвига и команды циклического сдвига.
Логические операции
NOT Инверсия байта или слова
AND Операция “И” над байтами или словами
OR Операция “ИЛИ” над байтами или словами
XOR Операция “ИСКЛЮЧ. ИЛИ” над байтами или словами
TEST Проверка байта или слова
Команды сдвига
SHL/SAL Логический/арифметич. сдвиг влево байта или слова
SHR Логический сдвиг вправо байта или слова
SAR Арифметический сдвиг вправо байта или слова
Команды циклического сдвига
ROL Циклический сдвиг влево байта или слова
ROR Циклический сдвиг вправо байта или слова
RCL Цикл. сдвиг влево байта или слова через разряд переноса
RCR Цикл. сдвиг вправо байта или слова через разр. переноса
Логические операции
К логическим операциям относятся булевы операции "НЕ", "И",
"ИЛИ" и "ИСКЛЮЧАЮЩЕЕ ИЛИ". Кроме того к ним относится также
команда "ТЕСТ", которая устанавливает флаги, но не изменяет ни одного
из операндов.
Команды AND ("И"), OR ("ИЛИ"), XOR ("ИСКЛЮЧАЮЩЕЕ ИЛИ")
и TEST ("ТЕСТ") воздействуют на флаги следующим образом:
Флаги переполнения (OF) и переноса (CF) после логических
операций всегда сброшены, а флаг дополнительного переноса (AF) всегда
неопределен.
Флаги знака (SF), нуля (ZF) и четности (PF) всегда отражают
результат логической операции и могут быть проверены последующей
командой условного перехода. Интерпретация этих флагов такая же, как и
после выполнения арифметических операций. Флаг знака (SF) взводится
при единичном старшем бите результата и сбрасывается – при нулевом.
Флаг нуля (ZF) взводится при нулевом результате операции и
сбрасывается в противном случае. Флаг четности (PF) взводится, если
младший байт результата имеет четное число единиц, и сбрасывается при
нечетном числе единиц.
Внимание! Операция NOT ("НЕ") не влияет на флаги.
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »
