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