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