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