Логические команды
Логические
команды представлены в таблице 6.3.
Таблица
6.3.
Логические команды.
Мнемокод
/ Операнды |
Описание |
Основные
команды |
and
назначение, источник |
логическое
И |
not
назначение |
логическое
НЕ |
or
назначение,
источник |
логическое
ИЛИ |
test
назначение,
источник |
проверка
бита |
xor
назначение,
источник |
логическое
исключающее ИЛИ |
Сдвиговые
команды |
rcl
назначение,
количество |
циклический
сдвиг влево через флаг переноса |
rcr
назначение,
количество |
циклический
сдвиг вправо через флаг переноса |
rol
назначение,
количество |
циклический
сдвиг влево |
ror
назначение,
количество |
циклический
сдвиг вправо |
sal
назначение,
количество |
арифметический
сдвиг влево |
sar
назначение,
количество |
арифметический
сдвиг вправо |
shl
назначение,
количество |
сдвиг
влево |
shr
назначение,
количество |
сдвиг
вправо |
Команда
test
производит логическое
умножение (and)
операндов, не изменяя их, проводит
установку флагов.
Команда
sal
работает
по следующему алгоритму работы:
сдвиг
всех битов операнда влево на один
разряд, при этом выдвигаемый слева бит
становится значением флага переноса
cf;
одновременно
справа в операнд вдвигается нулевой
бит;
указанные
выше два действия повторяются количество
раз, равное значению второго операнда
Команда
sar
работает
по следующему алгоритму работы:
сдвиг
всех битов операнда вправо на один
разряд, при этом выдвигаемый справа
бит становится значением флага переноса
cf;
обратите
внимание: одновременно слева в операнд
вдвигается не нулевой бит, а значение
старшего бита операнда, то есть по мере
сдвига вправо освобождающиеся места
заполняются значением знакового
разряда. По этой причине этот тип сдвига
и называется арифметическим;
указанные
выше два действия повторяются количество
раз, равное значению второго операнда.
7