Программирование на Ассемблере
ная. Далее мы рассмотрим логические операции и операции для работы с отдельными
битами: Мнемоника Действие
--------------------------------------------------------------------------
AND ,Dn побитовое логическое И
AND Dn, то же
ANDI #n, побитовое логическое И с константой
EOR Dn, побитовое исключающее ИЛИ
EORI #n, побитовое исключающее ИЛИ с константой
NOT инвертирование (побитовое НЕ)
OR ,Dn побитовое логическое ИЛИ
OR Dn, то же
ORI #n, побитовое логическое ИЛИ с константой
TAS проверка байта и установка 7-го бита Отдельными битами можно манипулировать используя следующие команды: Мнемоника Действие
--------------------------------------------------------------------------
BCHG #n, инвертирование бита n (0 заменяется на 1, 1 - на 0)
BCHG Dn, то же (номер бита задается в регистре Dn)
BCLR #n, очистка (обнуление) бита n
BCLR Dn, то же
BSET #n, установка бита n (запись 1)
BSET Dn, то же
BTST #n, сравнить бит n с нулем и выставить Z-флаг
BTST Dn, то же Следует помнить, что номер бита задается по модулю 32, если - это
регистр данных, и по модулю 8, если задает адрес в памяти. При этом
допустимыми размерами битовых операций (Bxxx) являются .B и .L.
И еще одно важное замечание: в логических командах в качестве обобщенного
операнда не может фигурировать адресный регистр.
Процессор MC68020 имеет команды для работы не только с отдельными битами,
но и с битовыми полями. Эти команды подробно описаны в справочном
руководстве процессора MC68020.
Эти команды особенно полезны при работе с регистрами внешних устройств, об
этом мы поговорим подробнее в следующих разделах. Следующий класс команд - команды сдвига, которые позволяют \"сдвигать\"
операнд (в пределах своего битового поля) на произвольное число битов.
|